Feat: es modules (#139)

* All file imports change from commonjs to es-module

* Improved plex error responses back from api

* Converted viewHistory to es module

* Es-module requires file extension, updated all imports

* Fix esmodule not having __dirname defined in scope

* Replace dynamic-require with fs readFileSync

* Short message service module function is exported as default

* Resolved lint issues & ignore import/extension rule until typescript

* All tests file imports changed from commonjs to es-module

* Import json fixtures with new helper
This commit was merged in pull request #139.
This commit is contained in:
2022-08-25 17:19:23 +02:00
committed by GitHub
parent 628ed52012
commit 7168950dfe
119 changed files with 624 additions and 527 deletions

View File

@@ -1,7 +1,5 @@
const redisCache = require("../../src/cache/redis");
import redisCache from "../../src/cache/redis.js";
function createCacheEntry(key, value) {
export default function createCacheEntry(key, value) {
return redisCache.set(key, value);
}
module.exports = createCacheEntry;

View File

@@ -1,10 +1,8 @@
const User = require("../../src/user/user");
const Token = require("../../src/user/token");
import User from "../../src/user/user.js";
import Token from "../../src/user/token.js";
function createToken(username, secret) {
export default function createToken(username, secret) {
const user = new User(username);
const token = new Token(user);
return token.toString(secret);
}
module.exports = createToken;

View File

@@ -1,11 +1,9 @@
const User = require("../../src/user/user");
const UserSecurity = require("../../src/user/userSecurity");
import User from "../../src/user/user.js";
import UserSecurity from "../../src/user/userSecurity.js";
function createUser(username, password) {
export default function createUser(username, password) {
const userSecurity = new UserSecurity();
const user = new User(username);
return userSecurity.createNewUser(user, password);
}
module.exports = createUser;

View File

@@ -0,0 +1,23 @@
import fs from "fs";
import path from "path";
import { fileURLToPath } from "url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
function determineLocation(fixtureFilename) {
return path.join(__dirname, "..", "fixtures", fixtureFilename);
}
export default function readFixtureContents(fixtureFilename) {
const location = determineLocation(fixtureFilename);
let content = {};
try {
content = JSON.parse(fs.readFileSync(location, { encoding: "utf-8" }));
} catch (err) {
console.error(`Error loading fixture file at path: ${location}`);
}
return content;
}

View File

@@ -10,13 +10,11 @@
// }
// }
const establishedDatabase = require("../../src/database/database");
import establishedDatabase from "../../src/database/database.js";
// const establishedDatabase = new EstablishedDatabase();
function resetDatabase() {
export default function resetDatabase() {
return Promise.resolve()
.then(() => establishedDatabase.tearDown())
.then(() => establishedDatabase.setUp());
}
module.exports = resetDatabase;

View File

@@ -12,4 +12,4 @@ const tmdbMock = () => ({
}
});
module.exports = tmdbMock;
export default tmdbMock;