@static-suite/static-suite-data-server 0.0.23 → 0.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.husky/pre-commit +0 -3
- package/__mocks__/clear-module.js +2 -1
- package/dist/bin/serve.js +0 -1
- package/dist/http/public/assets/bulma/bulma.min.css +3 -1
- package/dist/http/public/assets/simple-datatables/index.js +1 -1
- package/dist/http/public/assets/simple-datatables/style.css +32 -7
- package/dist/http/routes/cache.d.ts.map +1 -1
- package/dist/http/routes/cache.js +1 -1
- package/dist/http/routes/data.d.ts.map +1 -1
- package/dist/http/routes/data.js +2 -2
- package/dist/http/routes/dependency.d.ts.map +1 -1
- package/dist/http/routes/docs.d.ts.map +1 -1
- package/dist/http/routes/dump.d.ts.map +1 -1
- package/dist/http/routes/home.d.ts.map +1 -1
- package/dist/http/routes/index.js +6 -6
- package/dist/http/routes/indexUUID.d.ts.map +1 -1
- package/dist/http/routes/indexUUID.js +3 -3
- package/dist/http/routes/indexUrl.d.ts.map +1 -1
- package/dist/http/routes/indexUrl.js +4 -1
- package/dist/http/routes/query.d.ts.map +1 -1
- package/dist/http/routes/status.d.ts.map +1 -1
- package/dist/http/routes/subset.d.ts.map +1 -1
- package/dist/http/routes/task.d.ts.map +1 -1
- package/dist/http/routes/task.js +1 -1
- package/dist/lib/config/__tests__/config.test.d.ts +2 -0
- package/dist/lib/config/__tests__/config.test.d.ts.map +1 -0
- package/dist/lib/config/__tests__/config.test.js +123 -0
- package/dist/lib/config/config.d.ts.map +1 -1
- package/dist/lib/config/config.js +1 -0
- package/dist/lib/dataServer.types.js +1 -1
- package/dist/lib/query/__tests__/queryRunner.test.d.ts +2 -0
- package/dist/lib/query/__tests__/queryRunner.test.d.ts.map +1 -0
- package/dist/lib/query/__tests__/queryRunner.test.js +59 -0
- package/dist/lib/query/query.types.d.ts.map +1 -1
- package/dist/lib/query/query.types.js +1 -1
- package/dist/lib/query/queryTagManager.d.ts.map +1 -1
- package/dist/lib/query/queryTagManager.js +0 -1
- package/dist/lib/store/dataDir/__tests__/dataDirManager.test.d.ts +2 -0
- package/dist/lib/store/dataDir/__tests__/dataDirManager.test.d.ts.map +1 -0
- package/dist/lib/store/dataDir/__tests__/dataDirManager.test.js +18 -0
- package/dist/lib/store/dependency/dependencyManager.d.ts.map +1 -1
- package/dist/lib/store/dependency/dependencyTagger.d.ts.map +1 -1
- package/dist/lib/store/dump/dumpMetadataHelper.d.ts.map +1 -1
- package/dist/lib/store/dump/dumpMetadataHelper.js +1 -0
- package/dist/lib/store/include/__tests__/includeParser.test.d.ts +2 -0
- package/dist/lib/store/include/__tests__/includeParser.test.d.ts.map +1 -0
- package/dist/lib/store/include/__tests__/includeParser.test.js +77 -0
- package/dist/lib/store/include/parsers/__tests__/entityIncludeParser.test.d.ts +2 -0
- package/dist/lib/store/include/parsers/__tests__/entityIncludeParser.test.d.ts.map +1 -0
- package/dist/lib/store/include/parsers/__tests__/entityIncludeParser.test.js +43 -0
- package/dist/lib/store/include/parsers/configIncludeParser.d.ts.map +1 -1
- package/dist/lib/store/include/parsers/customIncludeParser.d.ts.map +1 -1
- package/dist/lib/store/include/parsers/entityIncludeParser.d.ts.map +1 -1
- package/dist/lib/store/include/parsers/localeIncludeParser.d.ts.map +1 -1
- package/dist/lib/store/include/parsers/queryIncludeParser.d.ts.map +1 -1
- package/dist/lib/store/include/parsers/types/__tests__/aliasIncludeParser.test.d.ts +2 -0
- package/dist/lib/store/include/parsers/types/__tests__/aliasIncludeParser.test.d.ts.map +1 -0
- package/dist/lib/store/include/parsers/types/__tests__/aliasIncludeParser.test.js +37 -0
- package/dist/lib/store/include/parsers/types/__tests__/aliasWithoutTypeIncludeParser.test.d.ts +2 -0
- package/dist/lib/store/include/parsers/types/__tests__/aliasWithoutTypeIncludeParser.test.d.ts.map +1 -0
- package/dist/lib/store/include/parsers/types/__tests__/aliasWithoutTypeIncludeParser.test.js +37 -0
- package/dist/lib/store/include/parsers/types/aliasIncludeParser.d.ts.map +1 -1
- package/dist/lib/store/include/parsers/types/aliasWithoutTypeIncludeParser.d.ts.map +1 -1
- package/dist/lib/store/workDir/__tests__/workDirHelper.test.d.ts +2 -0
- package/dist/lib/store/workDir/__tests__/workDirHelper.test.d.ts.map +1 -0
- package/dist/lib/store/workDir/__tests__/workDirHelper.test.js +38 -0
- package/dist/lib/store/workDir/storage/__tests__/getChangedLinesBetween.test.d.ts +2 -0
- package/dist/lib/store/workDir/storage/__tests__/getChangedLinesBetween.test.d.ts.map +1 -0
- package/dist/lib/store/workDir/storage/__tests__/getChangedLinesBetween.test.js +24 -0
- package/dist/lib/store/workDir/storage/__tests__/getDataFromLogLine.test.d.ts +2 -0
- package/dist/lib/store/workDir/storage/__tests__/getDataFromLogLine.test.d.ts.map +1 -0
- package/dist/lib/store/workDir/storage/__tests__/getDataFromLogLine.test.js +18 -0
- package/dist/lib/store/workDir/storage/getChangedLinesBetween.d.ts.map +1 -1
- package/dist/lib/store/workDir/storage/getDataFromLogLine.d.ts.map +1 -1
- package/dist/lib/task/__tests__/taskRunner.test.d.ts +2 -0
- package/dist/lib/task/__tests__/taskRunner.test.d.ts.map +1 -0
- package/dist/lib/task/__tests__/taskRunner.test.js +50 -0
- package/dist/lib/task/task.types.d.ts.map +1 -1
- package/dist/lib/utils/array/__tests__/arrayUtils.test.d.ts +2 -0
- package/dist/lib/utils/array/__tests__/arrayUtils.test.d.ts.map +1 -0
- package/dist/lib/utils/array/__tests__/arrayUtils.test.js +17 -0
- package/dist/lib/utils/array/arrayUtils.d.ts.map +1 -1
- package/dist/lib/utils/array/arrayUtils.js +0 -1
- package/dist/lib/utils/cache/__tests__/cache.test.d.ts +2 -0
- package/dist/lib/utils/cache/__tests__/cache.test.d.ts.map +1 -0
- package/dist/lib/utils/cache/__tests__/cache.test.js +21 -0
- package/dist/lib/utils/fs/__tests__/fsUtils.test.d.ts +2 -0
- package/dist/lib/utils/fs/__tests__/fsUtils.test.d.ts.map +1 -0
- package/dist/lib/utils/fs/__tests__/fsUtils.test.js +84 -0
- package/dist/lib/utils/fs/fsUtils.d.ts.map +1 -1
- package/dist/lib/utils/logger/__tests__/logger.test.d.ts +2 -0
- package/dist/lib/utils/logger/__tests__/logger.test.d.ts.map +1 -0
- package/dist/lib/utils/logger/__tests__/logger.test.js +13 -0
- package/dist/lib/utils/logger/logger.d.ts.map +1 -1
- package/dist/lib/utils/logger/logger.js +1 -3
- package/dist/lib/utils/logger/logger.types.js +1 -1
- package/dist/lib/utils/module/__tests__/dirBasedModuleGroupManager.test.d.ts +2 -0
- package/dist/lib/utils/module/__tests__/dirBasedModuleGroupManager.test.d.ts.map +1 -0
- package/dist/lib/utils/module/__tests__/dirBasedModuleGroupManager.test.js +34 -0
- package/dist/lib/utils/module/__tests__/moduleHandler.test.d.ts +2 -0
- package/dist/lib/utils/module/__tests__/moduleHandler.test.d.ts.map +1 -0
- package/dist/lib/utils/module/__tests__/moduleHandler.test.js +82 -0
- package/dist/lib/utils/module/dirBasedModuleGroupManager.d.ts +1 -1
- package/dist/lib/utils/module/dirBasedModuleGroupManager.d.ts.map +1 -1
- package/dist/lib/utils/module/moduleManager.d.ts +1 -1
- package/dist/lib/utils/module/moduleManager.d.ts.map +1 -1
- package/dist/lib/utils/module/moduleManager.js +1 -2
- package/dist/lib/utils/object/__tests__/objectUtils.test.d.ts +2 -0
- package/dist/lib/utils/object/__tests__/objectUtils.test.d.ts.map +1 -0
- package/dist/lib/utils/object/__tests__/objectUtils.test.js +60 -0
- package/dist/lib/utils/object/objectUtils.d.ts.map +1 -1
- package/dist/lib/utils/string/__tests__/stringUtils.test.d.ts +2 -0
- package/dist/lib/utils/string/__tests__/stringUtils.test.d.ts.map +1 -0
- package/dist/lib/utils/string/__tests__/stringUtils.test.js +51 -0
- package/dist/lib/utils/string/stringUtils.d.ts.map +1 -1
- package/eslint.config.mjs +18 -0
- package/package.json +35 -33
- package/scripts/{copy-http-files-to-src.js → copy-http-files-to-src.mjs} +10 -12
- package/src/__tests__/fixtures/hook/main.hook.js +4 -3
- package/src/__tests__/fixtures/hook/taxonomy/main.hook.js +4 -3
- package/src/__tests__/fixtures/hook/taxonomy/taxo.hook.js +4 -3
- package/src/__tests__/fixtures/query/error.query.js +1 -1
- package/src/__tests__/fixtures/query/noHandler.query.js +1 -0
- package/src/__tests__/fixtures/query/query1.query.js +1 -0
- package/src/__tests__/fixtures/query/query2.query.js +1 -0
- package/src/__tests__/fixtures/query/wrongNamequery.js +1 -0
- package/src/__tests__/fixtures/task/error.task.js +1 -1
- package/src/__tests__/fixtures/task/noHandler.task.js +1 -0
- package/src/__tests__/fixtures/task/task1.task.js +1 -0
- package/src/__tests__/fixtures/task/task2.task.js +1 -0
- package/src/__tests__/fixtures/task/wrongNametask.js +1 -0
- package/src/bin/serve.ts +0 -2
- package/src/http/routes/cache.ts +1 -1
- package/src/http/routes/data.ts +2 -3
- package/src/http/routes/index.ts +6 -6
- package/src/http/routes/indexUUID.ts +3 -3
- package/src/http/routes/indexUrl.ts +5 -1
- package/src/http/routes/task.ts +1 -1
- package/src/lib/config/__tests__/config.test.ts +2 -2
- package/src/lib/config/config.ts +1 -0
- package/src/lib/query/__tests__/queryRunner.test.ts +1 -0
- package/src/lib/query/queryTagManager.ts +0 -1
- package/src/lib/store/dump/dumpMetadataHelper.ts +1 -0
- package/src/lib/task/__tests__/taskRunner.test.ts +1 -0
- package/src/lib/utils/array/arrayUtils.ts +0 -1
- package/src/lib/utils/fs/__tests__/fsUtils.test.ts +5 -1
- package/src/lib/utils/logger/logger.ts +0 -1
- package/src/lib/utils/module/__mocks__/dummyModule.query.js +1 -0
- package/src/lib/utils/module/__mocks__/dummyModule2.query.js +1 -0
- package/src/lib/utils/module/__tests__/dirBasedModuleGroupManager.test.ts +3 -1
- package/src/lib/utils/module/__tests__/moduleHandler.test.ts +7 -3
- package/src/lib/utils/module/moduleManager.ts +1 -2
- package/tsconfig.json +1 -2
- package/.eslintignore +0 -4
- package/.eslintrc.json +0 -46
package/src/http/routes/index.ts
CHANGED
|
@@ -44,11 +44,11 @@ routes.get('/status/index/custom', statusIndexCustom);
|
|
|
44
44
|
routes.get('/status/diff', statusDiff);
|
|
45
45
|
routes.get('/status', statusIndex);
|
|
46
46
|
routes.get('/query', queryIndex);
|
|
47
|
-
routes.get('/query/*', runQuery);
|
|
47
|
+
routes.get('/query/*queryDefinition', runQuery);
|
|
48
48
|
routes.get('/task', taskIndex);
|
|
49
|
-
routes.get('/task
|
|
49
|
+
routes.get('/task/:taskId', runTask);
|
|
50
50
|
routes.get('/cache', cacheIndex);
|
|
51
|
-
routes.get('/cache
|
|
51
|
+
routes.get('/cache/:cacheBinId/clear', cacheClear);
|
|
52
52
|
routes.get('/dump', dumpIndex);
|
|
53
53
|
routes.get('/dump/incremental', dumpIncremental);
|
|
54
54
|
routes.get('/dump/full', dumpFull);
|
|
@@ -61,9 +61,9 @@ routes.get('/dependency/invalidated/tags/all', dependencyAllInvalidatedTags);
|
|
|
61
61
|
routes.get('/dependency/invalidated/filepaths', dependencyInvalidatedFilepaths);
|
|
62
62
|
routes.get('/dependency/tag/parents', dependencyTagParents);
|
|
63
63
|
routes.get('/dependency', dependencyIndex);
|
|
64
|
-
routes.get(['/data/*', '/data'], data);
|
|
65
|
-
routes.get(['/index/url/*', '/index/url'], indexUrl);
|
|
66
|
-
routes.get(['/index/uuid
|
|
64
|
+
routes.get(['/data/*storeKeyParts', '/data'], data);
|
|
65
|
+
routes.get(['/index/url/*storeKeyParts', '/index/url'], indexUrl);
|
|
66
|
+
routes.get(['/index/uuid/:langcode/:uuid', '/index/uuid'], indexUUID);
|
|
67
67
|
routes.get('/subset', subset);
|
|
68
68
|
|
|
69
69
|
export default routes;
|
|
@@ -6,10 +6,10 @@ import { dataDirManager } from '../../lib/store/dataDir';
|
|
|
6
6
|
// Url format /index/uuid/fr/4c7a791d-f994-4a0a-81c5-b0cdf759f8b5
|
|
7
7
|
const indexUUID = (req: Request, res: Response): void => {
|
|
8
8
|
dataDirManager.update();
|
|
9
|
-
const
|
|
9
|
+
const { langcode, uuid } = req.params;
|
|
10
10
|
|
|
11
|
-
const storeFile =
|
|
12
|
-
? store.index.uuid.get(
|
|
11
|
+
const storeFile = uuid
|
|
12
|
+
? store.index.uuid.get(langcode)?.get(uuid)
|
|
13
13
|
: undefined;
|
|
14
14
|
if (storeFile === undefined) {
|
|
15
15
|
res.status(404);
|
|
@@ -5,7 +5,11 @@ import { dataDirManager } from '../../lib/store/dataDir';
|
|
|
5
5
|
|
|
6
6
|
const indexUrl = (req: Request, res: Response): void => {
|
|
7
7
|
dataDirManager.update();
|
|
8
|
-
const
|
|
8
|
+
const storeKeyParts = Array.from(req.params.storeKeyParts || []);
|
|
9
|
+
const storeKey =
|
|
10
|
+
storeKeyParts.length === 1 && storeKeyParts[0] === 'index'
|
|
11
|
+
? ''
|
|
12
|
+
: storeKeyParts.join('/');
|
|
9
13
|
const storeFile = store.index.url.get(`/${storeKey}`);
|
|
10
14
|
|
|
11
15
|
if (storeFile === undefined) {
|
package/src/http/routes/task.ts
CHANGED
|
@@ -16,7 +16,7 @@ const taskIndex = (req: Request, res: Response): void => {
|
|
|
16
16
|
const runTask = (req: Request, res: Response): void => {
|
|
17
17
|
dataDirManager.update();
|
|
18
18
|
const args: any = req.query;
|
|
19
|
-
const taskId = req.params
|
|
19
|
+
const { taskId } = req.params;
|
|
20
20
|
const response: TaskSuccessfulResponse | TaskErrorResponse = taskRunner.run(
|
|
21
21
|
taskId,
|
|
22
22
|
args,
|
|
@@ -36,7 +36,7 @@ describe('Config test', () => {
|
|
|
36
36
|
};
|
|
37
37
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
38
38
|
// @ts-ignore
|
|
39
|
-
expect(() => setConfig(config)).
|
|
39
|
+
expect(() => setConfig(config)).toThrow(MissingRequiredOption);
|
|
40
40
|
});
|
|
41
41
|
|
|
42
42
|
it('wrong option runMode returns expected error', () => {
|
|
@@ -46,7 +46,7 @@ describe('Config test', () => {
|
|
|
46
46
|
};
|
|
47
47
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
48
48
|
// @ts-ignore
|
|
49
|
-
expect(() => setConfig(config)).
|
|
49
|
+
expect(() => setConfig(config)).toThrow(InvalidRunMode);
|
|
50
50
|
});
|
|
51
51
|
|
|
52
52
|
it('Wrong dataDir returns expected error', () => {
|
package/src/lib/config/config.ts
CHANGED
|
@@ -110,6 +110,7 @@ const setConfig = (options: NonSanitizedConfigOptions): ConfigOptions => {
|
|
|
110
110
|
try {
|
|
111
111
|
fs.accessSync(localOptions.dumpDir, fs.constants.W_OK);
|
|
112
112
|
} catch (e) {
|
|
113
|
+
console.error(e);
|
|
113
114
|
throw new NonWritableDirectory('dumpDir', localOptions.dumpDir);
|
|
114
115
|
}
|
|
115
116
|
// fs.realpathSync() throws an error if path does not exist.
|
|
@@ -33,7 +33,6 @@ export const queryTagManager: QueryTagManager = {
|
|
|
33
33
|
queryDefinition => {
|
|
34
34
|
const tagsByQuery = tagsByQueryIndex.get(queryDefinition);
|
|
35
35
|
if (tagsByQuery) {
|
|
36
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
37
36
|
for (const invalidatedTag of invalidatedTags) {
|
|
38
37
|
if (tagsByQuery.has(invalidatedTag)) {
|
|
39
38
|
invalidFilepaths.add(relativeFilepath);
|
|
@@ -9,7 +9,11 @@ import {
|
|
|
9
9
|
isJsonFile,
|
|
10
10
|
} from '../fsUtils';
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
// This test is executed from dist folder
|
|
13
|
+
const fixturesDir = path.join(
|
|
14
|
+
__dirname,
|
|
15
|
+
'../../../../../src/lib/utils/fs/__tests__/fixtures/',
|
|
16
|
+
);
|
|
13
17
|
const jsonFixturePath = path.join(fixturesDir, 'file.json');
|
|
14
18
|
const jsonRawValue = fs.readFileSync(jsonFixturePath, 'utf8');
|
|
15
19
|
const jsonParsedValue = JSON.parse(jsonRawValue);
|
|
@@ -58,7 +58,6 @@ export const logger: winston.Logger = winston.createLogger({
|
|
|
58
58
|
* An exception if a log file is defined, but its path is no writable
|
|
59
59
|
*/
|
|
60
60
|
export const configureLogger = (
|
|
61
|
-
// eslint-disable-next-line default-param-last
|
|
62
61
|
level: LogLevel = LogLevel.WARN,
|
|
63
62
|
logFile?: LogFile,
|
|
64
63
|
): void => {
|
|
@@ -4,7 +4,9 @@ import { config } from '../../../config';
|
|
|
4
4
|
import { dirBasedModuleGroupManager } from '..';
|
|
5
5
|
|
|
6
6
|
config.queryDir = fs.realpathSync(
|
|
7
|
-
path.resolve(
|
|
7
|
+
path.resolve(
|
|
8
|
+
path.join(__dirname, '../../../../../src/lib/utils/module/__mocks__'),
|
|
9
|
+
),
|
|
8
10
|
);
|
|
9
11
|
export const exampleQueryManager = dirBasedModuleGroupManager('query');
|
|
10
12
|
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
2
|
-
/* eslint-disable global-require */
|
|
3
1
|
import fs from 'fs';
|
|
4
2
|
import path from 'path';
|
|
5
3
|
import { logger } from '../../logger';
|
|
@@ -8,8 +6,14 @@ import { moduleManager } from '../moduleManager';
|
|
|
8
6
|
// This works in conjunction with "__mocks__/clear-module.js"
|
|
9
7
|
jest.mock('clear-module');
|
|
10
8
|
|
|
9
|
+
// This test is executed from dist folder
|
|
11
10
|
const dummyModulePath = fs.realpathSync(
|
|
12
|
-
path.resolve(
|
|
11
|
+
path.resolve(
|
|
12
|
+
path.join(
|
|
13
|
+
__dirname,
|
|
14
|
+
'../../../../../src/lib/utils/module/__mocks__/dummyModule.query.js',
|
|
15
|
+
),
|
|
16
|
+
),
|
|
13
17
|
);
|
|
14
18
|
|
|
15
19
|
type DummyModule = {
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/* eslint-disable global-require */
|
|
2
|
-
/* eslint-disable import/no-dynamic-require */
|
|
3
1
|
import clearModule from 'clear-module';
|
|
4
2
|
import { logger } from '../logger';
|
|
5
3
|
import { config } from '../../config';
|
|
@@ -36,6 +34,7 @@ const resolve = (modulePath: string): string => {
|
|
|
36
34
|
if (!resolvedModulePath) {
|
|
37
35
|
try {
|
|
38
36
|
resolvedModulePath = require.resolve(modulePath);
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
39
38
|
} catch (e) {
|
|
40
39
|
resolvedModulePath = modulePath;
|
|
41
40
|
}
|
package/tsconfig.json
CHANGED
|
@@ -50,8 +50,7 @@
|
|
|
50
50
|
/* Module Resolution Options */
|
|
51
51
|
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
|
|
52
52
|
"baseUrl": "./src" /* Base directory to resolve non-absolute module names. */,
|
|
53
|
-
"paths": {
|
|
54
|
-
} /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */,
|
|
53
|
+
"paths": {} /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */,
|
|
55
54
|
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
|
|
56
55
|
// "typeRoots": [], /* List of folders to include type definitions from. */
|
|
57
56
|
// "types": [], /* Type declaration files to be included in compilation. */
|
package/.eslintignore
DELETED
package/.eslintrc.json
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"settings": {
|
|
3
|
-
"import/resolver": {
|
|
4
|
-
"typescript": {}
|
|
5
|
-
}
|
|
6
|
-
},
|
|
7
|
-
"root": true,
|
|
8
|
-
"parser": "@typescript-eslint/parser",
|
|
9
|
-
"env": {
|
|
10
|
-
"commonjs": true,
|
|
11
|
-
"es2021": true,
|
|
12
|
-
"node": true
|
|
13
|
-
},
|
|
14
|
-
"extends": [
|
|
15
|
-
"eslint:recommended",
|
|
16
|
-
"plugin:@typescript-eslint/recommended",
|
|
17
|
-
"airbnb-typescript-prettier",
|
|
18
|
-
"prettier"
|
|
19
|
-
],
|
|
20
|
-
"parserOptions": {
|
|
21
|
-
"ecmaVersion": 12
|
|
22
|
-
},
|
|
23
|
-
"plugins": [
|
|
24
|
-
"@typescript-eslint",
|
|
25
|
-
"prettier",
|
|
26
|
-
"import",
|
|
27
|
-
"eslint-plugin-tsdoc"
|
|
28
|
-
],
|
|
29
|
-
"rules": {
|
|
30
|
-
"import/prefer-default-export": 0,
|
|
31
|
-
"prettier/prettier": "error",
|
|
32
|
-
"arrow-parens": [1, "as-needed"],
|
|
33
|
-
"prefer-destructuring": [
|
|
34
|
-
"error",
|
|
35
|
-
{
|
|
36
|
-
"array": false,
|
|
37
|
-
"object": true
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"enforceForRenamedProperties": false
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
"@typescript-eslint/no-explicit-any": "off",
|
|
44
|
-
"tsdoc/syntax": "error"
|
|
45
|
-
}
|
|
46
|
-
}
|