Fix lints
This commit is contained in:
parent
6c1cf6d46a
commit
166857e0de
|
@ -0,0 +1,2 @@
|
||||||
|
node_modules/
|
||||||
|
dist/
|
|
@ -86,11 +86,7 @@
|
||||||
],
|
],
|
||||||
"node/no-missing-require": "error",
|
"node/no-missing-require": "error",
|
||||||
"node/no-missing-import": "error",
|
"node/no-missing-import": "error",
|
||||||
"node/no-unsupported-features": [
|
"node/no-unsupported-features/es-syntax": "error",
|
||||||
"error",
|
"node/no-unsupported-features/es-builtins": "error"
|
||||||
{
|
|
||||||
"version": 10
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,3 +24,8 @@ the messages from a Matrix homeserver.
|
||||||
|
|
||||||
Re-using Hydrogen gets us pretty and native(to Element) looking styles and keeps
|
Re-using Hydrogen gets us pretty and native(to Element) looking styles and keeps
|
||||||
the maintenance burden of supporting more event types in Hydrogen.
|
the maintenance burden of supporting more event types in Hydrogen.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- Node.js v17
|
||||||
|
- We only need v17 because it includes `require('crypto').webcrypto`
|
||||||
|
|
|
@ -3,8 +3,15 @@
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start-dev": "node server/start-dev.js",
|
"start-dev": "node server/start-dev.js",
|
||||||
|
"lint": "eslint **/*.js",
|
||||||
|
|
||||||
"nodemon": "nodemon",
|
"nodemon": "nodemon",
|
||||||
"vite": "vite"
|
"vite": "vite",
|
||||||
|
"eslint": "eslint",
|
||||||
|
"prettier": "prettier"
|
||||||
|
},
|
||||||
|
"engines" : {
|
||||||
|
"node" : ">=17.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^8.8.0",
|
"eslint": "^8.8.0",
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"env": {
|
||||||
|
"browser": true,
|
||||||
|
"commonjs": false,
|
||||||
|
"node": false
|
||||||
|
},
|
||||||
|
"parserOptions": {
|
||||||
|
"ecmaVersion": 2018,
|
||||||
|
"sourceType": "module"
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"node/no-unsupported-features/es-syntax": "off",
|
||||||
|
"node/no-unsupported-features/es-builtins": "off"
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,5 +0,0 @@
|
||||||
function asdf() {
|
|
||||||
console.log('asdfasdfasdfasdf');
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = asdf;
|
|
|
@ -1,9 +1,2 @@
|
||||||
import asdf from './asdf';
|
|
||||||
|
|
||||||
asdf();
|
|
||||||
|
|
||||||
import mounted from 'matrix-public-archive-shared/hydrogen-vm-render-script';
|
import mounted from 'matrix-public-archive-shared/hydrogen-vm-render-script';
|
||||||
console.log('mounted', mounted);
|
console.log('mounted', mounted);
|
||||||
|
|
||||||
// import mounted2 from '../../shared/hydrogen-vm-render-script';
|
|
||||||
// console.log('mounted2', mounted2);
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
const assert = require('assert');
|
const assert = require('assert');
|
||||||
|
|
||||||
const urlJoin = require('./lib/url-join');
|
const urlJoin = require('./lib/url-join');
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
const assert = require('assert');
|
const assert = require('assert');
|
||||||
|
|
||||||
const urlJoin = require('./lib/url-join');
|
const urlJoin = require('./lib/url-join');
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
// Simple middleware for handling exceptions inside of async express routes and
|
// Simple middleware for handling exceptions inside of async express routes and
|
||||||
// passing them to your express error handlers.
|
// passing them to your express error handlers.
|
||||||
//
|
//
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
const assert = require('assert');
|
const assert = require('assert');
|
||||||
const fetch = require('node-fetch');
|
const fetch = require('node-fetch');
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
|
||||||
// via https://javascript.plainenglish.io/how-to-safely-concatenate-url-with-node-js-f6527b623d5
|
// via https://javascript.plainenglish.io/how-to-safely-concatenate-url-with-node-js-f6527b623d5
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
const assert = require('assert');
|
const assert = require('assert');
|
||||||
const vm = require('vm');
|
const vm = require('vm');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
|
|
@ -14,9 +14,7 @@ const config = require('../../config.json');
|
||||||
const basePath = config.basePath;
|
const basePath = config.basePath;
|
||||||
assert(basePath);
|
assert(basePath);
|
||||||
|
|
||||||
function parseArchiveRangeFromReq(req, res) {
|
function parseArchiveRangeFromReq(req) {
|
||||||
const roomIdOrAlias = req.params.roomIdOrAlias;
|
|
||||||
|
|
||||||
const yyyy = parseInt(req.params.yyyy, 10);
|
const yyyy = parseInt(req.params.yyyy, 10);
|
||||||
// Month is the only zero-based index in this group
|
// Month is the only zero-based index in this group
|
||||||
const mm = parseInt(req.params.mm, 10) - 1;
|
const mm = parseInt(req.params.mm, 10) - 1;
|
||||||
|
@ -39,23 +37,6 @@ function parseArchiveRangeFromReq(req, res) {
|
||||||
if (Number.isNaN(fromHour) || fromHour < 0 || fromHour > 23) {
|
if (Number.isNaN(fromHour) || fromHour < 0 || fromHour > 23) {
|
||||||
throw new StatusError(404, 'From hour can only be in range 0-23');
|
throw new StatusError(404, 'From hour can only be in range 0-23');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Currently we force the range to always be 1 hour
|
|
||||||
// If the format isn't correct, redirect to the correct hour range
|
|
||||||
if (toHour !== fromHour + 1) {
|
|
||||||
res.redirect(
|
|
||||||
urlJoin(
|
|
||||||
basePath,
|
|
||||||
roomIdOrAlias,
|
|
||||||
'date',
|
|
||||||
req.params.yyyy,
|
|
||||||
req.params.mm,
|
|
||||||
req.params.dd,
|
|
||||||
`${fromHour}-${fromHour + 1}`
|
|
||||||
)
|
|
||||||
);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const fromTimestamp = Date.UTC(yyyy, mm, dd, fromHour);
|
const fromTimestamp = Date.UTC(yyyy, mm, dd, fromHour);
|
||||||
|
@ -70,6 +51,8 @@ function parseArchiveRangeFromReq(req, res) {
|
||||||
yyyy,
|
yyyy,
|
||||||
mm,
|
mm,
|
||||||
dd,
|
dd,
|
||||||
|
fromHour,
|
||||||
|
toHour,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,7 +87,24 @@ function installRoutes(app) {
|
||||||
const roomIdOrAlias = req.params.roomIdOrAlias;
|
const roomIdOrAlias = req.params.roomIdOrAlias;
|
||||||
assert(roomIdOrAlias.startsWith('!') || roomIdOrAlias.startsWith('#'));
|
assert(roomIdOrAlias.startsWith('!') || roomIdOrAlias.startsWith('#'));
|
||||||
|
|
||||||
const { fromTimestamp, toTimestamp } = parseArchiveRangeFromReq(req, res);
|
const { fromTimestamp, fromHour, toHour } = parseArchiveRangeFromReq(req);
|
||||||
|
|
||||||
|
// Currently we force the range to always be 1 hour
|
||||||
|
// If the format isn't correct, redirect to the correct hour range
|
||||||
|
if (toHour !== fromHour + 1) {
|
||||||
|
res.redirect(
|
||||||
|
urlJoin(
|
||||||
|
basePath,
|
||||||
|
roomIdOrAlias,
|
||||||
|
'date',
|
||||||
|
req.params.yyyy,
|
||||||
|
req.params.mm,
|
||||||
|
req.params.dd,
|
||||||
|
`${fromHour}-${fromHour + 1}`
|
||||||
|
)
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const [roomData, { events, stateEventMap }] = await Promise.all([
|
const [roomData, { events, stateEventMap }] = await Promise.all([
|
||||||
fetchRoomData(roomIdOrAlias),
|
fetchRoomData(roomIdOrAlias),
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const nodemon = require('nodemon');
|
const nodemon = require('nodemon');
|
||||||
const { build } = require('vite');
|
const { build } = require('vite');
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
const { TemplateView } = require('hydrogen-view-sdk');
|
const { TemplateView } = require('hydrogen-view-sdk');
|
||||||
|
|
||||||
// Month in JavaScript is 0-indexed (January is 0, February is 1, etc),
|
// Month in JavaScript is 0-indexed (January is 0, February is 1, etc),
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
const { TemplateView } = require('hydrogen-view-sdk');
|
const { TemplateView } = require('hydrogen-view-sdk');
|
||||||
|
|
||||||
const CalendarView = require('matrix-public-archive-shared/CalendarView');
|
const CalendarView = require('matrix-public-archive-shared/CalendarView');
|
||||||
|
|
|
@ -12,8 +12,8 @@ const {
|
||||||
encodeKey,
|
encodeKey,
|
||||||
encodeEventIdKey,
|
encodeEventIdKey,
|
||||||
Timeline,
|
Timeline,
|
||||||
TimelineView,
|
// TimelineView,
|
||||||
RoomView,
|
// RoomView,
|
||||||
RoomViewModel,
|
RoomViewModel,
|
||||||
ViewModel,
|
ViewModel,
|
||||||
} = require('hydrogen-view-sdk');
|
} = require('hydrogen-view-sdk');
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
function assert(value, message) {
|
function assert(value, message) {
|
||||||
console.assert(value, message);
|
console.assert(value, message);
|
||||||
if (!value) {
|
if (!value) {
|
||||||
|
|
Loading…
Reference in New Issue