@static-suite/static-suite-data-server 0.0.23 → 0.0.25

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.
Files changed (155) hide show
  1. package/.husky/pre-commit +0 -3
  2. package/__mocks__/clear-module.js +2 -1
  3. package/dist/bin/serve.js +0 -1
  4. package/dist/http/public/assets/bulma/bulma.min.css +3 -1
  5. package/dist/http/public/assets/simple-datatables/index.js +1 -1
  6. package/dist/http/public/assets/simple-datatables/style.css +32 -7
  7. package/dist/http/routes/cache.d.ts.map +1 -1
  8. package/dist/http/routes/cache.js +1 -1
  9. package/dist/http/routes/data.d.ts.map +1 -1
  10. package/dist/http/routes/data.js +2 -2
  11. package/dist/http/routes/dependency.d.ts.map +1 -1
  12. package/dist/http/routes/docs.d.ts.map +1 -1
  13. package/dist/http/routes/dump.d.ts.map +1 -1
  14. package/dist/http/routes/home.d.ts.map +1 -1
  15. package/dist/http/routes/index.js +6 -6
  16. package/dist/http/routes/indexUUID.d.ts.map +1 -1
  17. package/dist/http/routes/indexUUID.js +3 -3
  18. package/dist/http/routes/indexUrl.d.ts.map +1 -1
  19. package/dist/http/routes/indexUrl.js +4 -1
  20. package/dist/http/routes/query.d.ts.map +1 -1
  21. package/dist/http/routes/status.d.ts.map +1 -1
  22. package/dist/http/routes/subset.d.ts.map +1 -1
  23. package/dist/http/routes/task.d.ts.map +1 -1
  24. package/dist/http/routes/task.js +1 -1
  25. package/dist/lib/config/__tests__/config.test.d.ts +2 -0
  26. package/dist/lib/config/__tests__/config.test.d.ts.map +1 -0
  27. package/dist/lib/config/__tests__/config.test.js +123 -0
  28. package/dist/lib/config/config.d.ts.map +1 -1
  29. package/dist/lib/config/config.js +1 -0
  30. package/dist/lib/dataServer.types.js +1 -1
  31. package/dist/lib/query/__tests__/queryRunner.test.d.ts +2 -0
  32. package/dist/lib/query/__tests__/queryRunner.test.d.ts.map +1 -0
  33. package/dist/lib/query/__tests__/queryRunner.test.js +59 -0
  34. package/dist/lib/query/query.types.d.ts.map +1 -1
  35. package/dist/lib/query/query.types.js +1 -1
  36. package/dist/lib/query/queryTagManager.d.ts.map +1 -1
  37. package/dist/lib/query/queryTagManager.js +0 -1
  38. package/dist/lib/store/dataDir/__tests__/dataDirManager.test.d.ts +2 -0
  39. package/dist/lib/store/dataDir/__tests__/dataDirManager.test.d.ts.map +1 -0
  40. package/dist/lib/store/dataDir/__tests__/dataDirManager.test.js +18 -0
  41. package/dist/lib/store/dependency/dependencyManager.d.ts.map +1 -1
  42. package/dist/lib/store/dependency/dependencyTagger.d.ts.map +1 -1
  43. package/dist/lib/store/dump/dumpMetadataHelper.d.ts.map +1 -1
  44. package/dist/lib/store/dump/dumpMetadataHelper.js +1 -0
  45. package/dist/lib/store/include/__tests__/includeParser.test.d.ts +2 -0
  46. package/dist/lib/store/include/__tests__/includeParser.test.d.ts.map +1 -0
  47. package/dist/lib/store/include/__tests__/includeParser.test.js +77 -0
  48. package/dist/lib/store/include/parsers/__tests__/entityIncludeParser.test.d.ts +2 -0
  49. package/dist/lib/store/include/parsers/__tests__/entityIncludeParser.test.d.ts.map +1 -0
  50. package/dist/lib/store/include/parsers/__tests__/entityIncludeParser.test.js +43 -0
  51. package/dist/lib/store/include/parsers/configIncludeParser.d.ts.map +1 -1
  52. package/dist/lib/store/include/parsers/customIncludeParser.d.ts.map +1 -1
  53. package/dist/lib/store/include/parsers/entityIncludeParser.d.ts.map +1 -1
  54. package/dist/lib/store/include/parsers/localeIncludeParser.d.ts.map +1 -1
  55. package/dist/lib/store/include/parsers/queryIncludeParser.d.ts.map +1 -1
  56. package/dist/lib/store/include/parsers/types/__tests__/aliasIncludeParser.test.d.ts +2 -0
  57. package/dist/lib/store/include/parsers/types/__tests__/aliasIncludeParser.test.d.ts.map +1 -0
  58. package/dist/lib/store/include/parsers/types/__tests__/aliasIncludeParser.test.js +37 -0
  59. package/dist/lib/store/include/parsers/types/__tests__/aliasWithoutTypeIncludeParser.test.d.ts +2 -0
  60. package/dist/lib/store/include/parsers/types/__tests__/aliasWithoutTypeIncludeParser.test.d.ts.map +1 -0
  61. package/dist/lib/store/include/parsers/types/__tests__/aliasWithoutTypeIncludeParser.test.js +37 -0
  62. package/dist/lib/store/include/parsers/types/aliasIncludeParser.d.ts.map +1 -1
  63. package/dist/lib/store/include/parsers/types/aliasWithoutTypeIncludeParser.d.ts.map +1 -1
  64. package/dist/lib/store/workDir/__tests__/workDirHelper.test.d.ts +2 -0
  65. package/dist/lib/store/workDir/__tests__/workDirHelper.test.d.ts.map +1 -0
  66. package/dist/lib/store/workDir/__tests__/workDirHelper.test.js +38 -0
  67. package/dist/lib/store/workDir/storage/__tests__/getChangedLinesBetween.test.d.ts +2 -0
  68. package/dist/lib/store/workDir/storage/__tests__/getChangedLinesBetween.test.d.ts.map +1 -0
  69. package/dist/lib/store/workDir/storage/__tests__/getChangedLinesBetween.test.js +24 -0
  70. package/dist/lib/store/workDir/storage/__tests__/getDataFromLogLine.test.d.ts +2 -0
  71. package/dist/lib/store/workDir/storage/__tests__/getDataFromLogLine.test.d.ts.map +1 -0
  72. package/dist/lib/store/workDir/storage/__tests__/getDataFromLogLine.test.js +18 -0
  73. package/dist/lib/store/workDir/storage/getChangedLinesBetween.d.ts.map +1 -1
  74. package/dist/lib/store/workDir/storage/getDataFromLogLine.d.ts.map +1 -1
  75. package/dist/lib/task/__tests__/taskRunner.test.d.ts +2 -0
  76. package/dist/lib/task/__tests__/taskRunner.test.d.ts.map +1 -0
  77. package/dist/lib/task/__tests__/taskRunner.test.js +50 -0
  78. package/dist/lib/task/task.types.d.ts.map +1 -1
  79. package/dist/lib/utils/array/__tests__/arrayUtils.test.d.ts +2 -0
  80. package/dist/lib/utils/array/__tests__/arrayUtils.test.d.ts.map +1 -0
  81. package/dist/lib/utils/array/__tests__/arrayUtils.test.js +17 -0
  82. package/dist/lib/utils/array/arrayUtils.d.ts.map +1 -1
  83. package/dist/lib/utils/array/arrayUtils.js +0 -1
  84. package/dist/lib/utils/cache/__tests__/cache.test.d.ts +2 -0
  85. package/dist/lib/utils/cache/__tests__/cache.test.d.ts.map +1 -0
  86. package/dist/lib/utils/cache/__tests__/cache.test.js +21 -0
  87. package/dist/lib/utils/fs/__tests__/fsUtils.test.d.ts +2 -0
  88. package/dist/lib/utils/fs/__tests__/fsUtils.test.d.ts.map +1 -0
  89. package/dist/lib/utils/fs/__tests__/fsUtils.test.js +84 -0
  90. package/dist/lib/utils/fs/fsUtils.d.ts.map +1 -1
  91. package/dist/lib/utils/logger/__tests__/logger.test.d.ts +2 -0
  92. package/dist/lib/utils/logger/__tests__/logger.test.d.ts.map +1 -0
  93. package/dist/lib/utils/logger/__tests__/logger.test.js +13 -0
  94. package/dist/lib/utils/logger/logger.d.ts.map +1 -1
  95. package/dist/lib/utils/logger/logger.js +1 -3
  96. package/dist/lib/utils/logger/logger.types.js +1 -1
  97. package/dist/lib/utils/module/__tests__/dirBasedModuleGroupManager.test.d.ts +2 -0
  98. package/dist/lib/utils/module/__tests__/dirBasedModuleGroupManager.test.d.ts.map +1 -0
  99. package/dist/lib/utils/module/__tests__/dirBasedModuleGroupManager.test.js +34 -0
  100. package/dist/lib/utils/module/__tests__/moduleHandler.test.d.ts +2 -0
  101. package/dist/lib/utils/module/__tests__/moduleHandler.test.d.ts.map +1 -0
  102. package/dist/lib/utils/module/__tests__/moduleHandler.test.js +82 -0
  103. package/dist/lib/utils/module/dirBasedModuleGroupManager.d.ts +1 -1
  104. package/dist/lib/utils/module/dirBasedModuleGroupManager.d.ts.map +1 -1
  105. package/dist/lib/utils/module/moduleManager.d.ts +1 -1
  106. package/dist/lib/utils/module/moduleManager.d.ts.map +1 -1
  107. package/dist/lib/utils/module/moduleManager.js +1 -2
  108. package/dist/lib/utils/object/__tests__/objectUtils.test.d.ts +2 -0
  109. package/dist/lib/utils/object/__tests__/objectUtils.test.d.ts.map +1 -0
  110. package/dist/lib/utils/object/__tests__/objectUtils.test.js +60 -0
  111. package/dist/lib/utils/object/objectUtils.d.ts.map +1 -1
  112. package/dist/lib/utils/string/__tests__/stringUtils.test.d.ts +2 -0
  113. package/dist/lib/utils/string/__tests__/stringUtils.test.d.ts.map +1 -0
  114. package/dist/lib/utils/string/__tests__/stringUtils.test.js +51 -0
  115. package/dist/lib/utils/string/stringUtils.d.ts.map +1 -1
  116. package/eslint.config.mjs +18 -0
  117. package/package.json +34 -34
  118. package/scripts/{copy-http-files-to-src.js → copy-http-files-to-src.mjs} +10 -12
  119. package/src/__tests__/fixtures/hook/main.hook.js +4 -3
  120. package/src/__tests__/fixtures/hook/taxonomy/main.hook.js +4 -3
  121. package/src/__tests__/fixtures/hook/taxonomy/taxo.hook.js +4 -3
  122. package/src/__tests__/fixtures/query/error.query.js +1 -1
  123. package/src/__tests__/fixtures/query/noHandler.query.js +1 -0
  124. package/src/__tests__/fixtures/query/query1.query.js +1 -0
  125. package/src/__tests__/fixtures/query/query2.query.js +1 -0
  126. package/src/__tests__/fixtures/query/wrongNamequery.js +1 -0
  127. package/src/__tests__/fixtures/task/error.task.js +1 -1
  128. package/src/__tests__/fixtures/task/noHandler.task.js +1 -0
  129. package/src/__tests__/fixtures/task/task1.task.js +1 -0
  130. package/src/__tests__/fixtures/task/task2.task.js +1 -0
  131. package/src/__tests__/fixtures/task/wrongNametask.js +1 -0
  132. package/src/bin/serve.ts +0 -2
  133. package/src/http/routes/cache.ts +1 -1
  134. package/src/http/routes/data.ts +2 -3
  135. package/src/http/routes/index.ts +6 -6
  136. package/src/http/routes/indexUUID.ts +3 -3
  137. package/src/http/routes/indexUrl.ts +5 -1
  138. package/src/http/routes/task.ts +1 -1
  139. package/src/lib/config/__tests__/config.test.ts +2 -2
  140. package/src/lib/config/config.ts +1 -0
  141. package/src/lib/query/__tests__/queryRunner.test.ts +1 -0
  142. package/src/lib/query/queryTagManager.ts +0 -1
  143. package/src/lib/store/dump/dumpMetadataHelper.ts +1 -0
  144. package/src/lib/task/__tests__/taskRunner.test.ts +1 -0
  145. package/src/lib/utils/array/arrayUtils.ts +0 -1
  146. package/src/lib/utils/fs/__tests__/fsUtils.test.ts +5 -1
  147. package/src/lib/utils/logger/logger.ts +0 -1
  148. package/src/lib/utils/module/__mocks__/dummyModule.query.js +1 -0
  149. package/src/lib/utils/module/__mocks__/dummyModule2.query.js +1 -0
  150. package/src/lib/utils/module/__tests__/dirBasedModuleGroupManager.test.ts +3 -1
  151. package/src/lib/utils/module/__tests__/moduleHandler.test.ts +7 -3
  152. package/src/lib/utils/module/moduleManager.ts +1 -2
  153. package/tsconfig.json +1 -2
  154. package/.eslintignore +0 -4
  155. package/.eslintrc.json +0 -46
@@ -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/*', runTask);
49
+ routes.get('/task/:taskId', runTask);
50
50
  routes.get('/cache', cacheIndex);
51
- routes.get('/cache/*/clear', cacheClear);
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/*', '/index/uuid'], indexUUID);
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 storeKey = req.params[0].split('/');
9
+ const { langcode, uuid } = req.params;
10
10
 
11
- const storeFile = storeKey[1]
12
- ? store.index.uuid.get(storeKey[0])?.get(storeKey[1])
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 storeKey = req.params[0] === 'index' ? '' : req.params[0];
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) {
@@ -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[0];
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)).toThrowError(MissingRequiredOption);
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)).toThrowError(InvalidRunMode);
49
+ expect(() => setConfig(config)).toThrow(InvalidRunMode);
50
50
  });
51
51
 
52
52
  it('Wrong dataDir returns expected error', () => {
@@ -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.
@@ -52,6 +52,7 @@ describe('QueryRunner test', () => {
52
52
  logger.error = jest.fn();
53
53
  try {
54
54
  queryRunner.run('error');
55
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
55
56
  } catch (e) {
56
57
  // none
57
58
  }
@@ -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);
@@ -19,6 +19,7 @@ export const dumpMetadataHelper = {
19
19
  currentDumpMetadata = JSON.parse(
20
20
  fs.readFileSync(metadataFilepath).toString(),
21
21
  );
22
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
22
23
  } catch (e) {
23
24
  currentDumpMetadata = fallbackDumpMetadata;
24
25
  }
@@ -38,6 +38,7 @@ describe('TaskRunner test', () => {
38
38
  logger.error = jest.fn();
39
39
  try {
40
40
  taskRunner.run('error', {});
41
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
41
42
  } catch (e) {
42
43
  // none
43
44
  }
@@ -1,4 +1,3 @@
1
- // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
2
1
  export const arrayRemoveByValue = (arr: any[], value: any): void => {
3
2
  const index = arr.indexOf(value);
4
3
  if (index !== -1) {
@@ -9,7 +9,11 @@ import {
9
9
  isJsonFile,
10
10
  } from '../fsUtils';
11
11
 
12
- const fixturesDir = path.join(__dirname, './fixtures/');
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 => {
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-undef */
1
2
  module.exports = {
2
3
  dummyModule: () => 'dummyModuleValue',
3
4
  dummyObject: { key: 'dummyModuleValue' },
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-undef */
1
2
  module.exports = {
2
3
  dummyModule2: () => 'dummyModule2Value',
3
4
  dummyObject2: { key: 'dummyModule2Value' },
@@ -4,7 +4,9 @@ import { config } from '../../../config';
4
4
  import { dirBasedModuleGroupManager } from '..';
5
5
 
6
6
  config.queryDir = fs.realpathSync(
7
- path.resolve(path.join(__dirname, '../__mocks__')),
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(path.join(__dirname, '../__mocks__/dummyModule.query.js')),
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
@@ -1,4 +0,0 @@
1
- node_modules
2
- dist
3
- scripts
4
- __mocks__
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
- }