@matrixai/lint 0.2.12 → 0.4.0

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 (44) hide show
  1. package/AGENTS.md +23 -0
  2. package/README.md +151 -83
  3. package/dist/bin/lint.js +119 -136
  4. package/dist/bin/lint.js.map +1 -1
  5. package/dist/config.d.ts +15 -0
  6. package/dist/config.js +120 -0
  7. package/dist/config.js.map +1 -0
  8. package/dist/configs/{js.js → eslint.js} +5 -4
  9. package/dist/configs/eslint.js.map +1 -0
  10. package/dist/configs/{prettier.config.mjs → prettier.config.js} +1 -1
  11. package/dist/configs/prettier.config.js.map +1 -0
  12. package/dist/domains/engine.d.ts +72 -0
  13. package/dist/domains/engine.js +160 -0
  14. package/dist/domains/engine.js.map +1 -0
  15. package/dist/domains/eslint.d.ts +3 -0
  16. package/dist/domains/eslint.js +72 -0
  17. package/dist/domains/eslint.js.map +1 -0
  18. package/dist/domains/files.d.ts +4 -0
  19. package/dist/domains/files.js +95 -0
  20. package/dist/domains/files.js.map +1 -0
  21. package/dist/domains/index.d.ts +14 -0
  22. package/dist/domains/index.js +83 -0
  23. package/dist/domains/index.js.map +1 -0
  24. package/dist/domains/markdown.d.ts +5 -0
  25. package/dist/domains/markdown.js +103 -0
  26. package/dist/domains/markdown.js.map +1 -0
  27. package/dist/domains/shell.d.ts +5 -0
  28. package/dist/domains/shell.js +58 -0
  29. package/dist/domains/shell.js.map +1 -0
  30. package/dist/index.d.ts +2 -0
  31. package/dist/index.js +2 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/tsbuildinfo +1 -0
  34. package/dist/types.d.ts +31 -8
  35. package/dist/utils.d.ts +13 -18
  36. package/dist/utils.js +207 -94
  37. package/dist/utils.js.map +1 -1
  38. package/package.json +23 -13
  39. package/dist/configs/js.js.map +0 -1
  40. package/dist/configs/prettier.config.mjs.map +0 -1
  41. package/flake.lock +0 -78
  42. package/jest.config.mjs +0 -84
  43. /package/dist/configs/{js.d.ts → eslint.d.ts} +0 -0
  44. /package/dist/configs/{prettier.config.d.mts → prettier.config.d.ts} +0 -0
package/dist/utils.js CHANGED
@@ -5,53 +5,99 @@ import fs from 'node:fs';
5
5
  import url from 'node:url';
6
6
  import ts from 'typescript';
7
7
  import { ESLint } from 'eslint';
8
- /* eslint-disable no-console */
9
- async function runESLint({ fix, configPath, explicitGlobs, }) {
8
+ import { LogLevel } from '@matrixai/logger';
9
+ import { resolveLintConfig } from './config.js';
10
+ const ESLINT_TARGET_EXTENSIONS = [
11
+ 'js',
12
+ 'mjs',
13
+ 'cjs',
14
+ 'jsx',
15
+ 'ts',
16
+ 'tsx',
17
+ 'mts',
18
+ 'cts',
19
+ 'json',
20
+ ];
21
+ const ESLINT_TARGET_EXTENSION_GLOB = `.{${ESLINT_TARGET_EXTENSIONS.join(',')}}`;
22
+ const DEFAULT_IGNORE_PATTERNS = [
23
+ 'node_modules/**',
24
+ 'bower_components/**',
25
+ 'jspm_packages/**',
26
+ ];
27
+ const GLOB_META_PATTERN = /[*?[\]{}()!+@]/;
28
+ /**
29
+ * Convert verbosity count to logger level.
30
+ */
31
+ function verboseToLogLevel(c = 0) {
32
+ let logLevel = LogLevel.INFO;
33
+ if (c === 1) {
34
+ logLevel = LogLevel.DEBUG;
35
+ }
36
+ else if (c >= 2) {
37
+ logLevel = LogLevel.NOTSET;
38
+ }
39
+ return logLevel;
40
+ }
41
+ async function runESLint({ fix, configPath, explicitGlobs, resolvedConfig, logger, }) {
10
42
  const dirname = path.dirname(url.fileURLToPath(import.meta.url));
11
- const defaultConfigPath = path.resolve(dirname, './configs/js.js');
12
- // PATH A user supplied explicit globs
43
+ const defaultConfigPath = path.resolve(dirname, './configs/eslint.js');
44
+ const lintConfig = resolvedConfig ?? resolveLintConfig();
45
+ const parserProjectOverride = {
46
+ languageOptions: {
47
+ parserOptions: {
48
+ project: lintConfig.domains.eslint.tsconfigPaths,
49
+ },
50
+ },
51
+ };
52
+ // PATH A - user supplied explicit globs
13
53
  if (explicitGlobs?.length) {
14
- console.log('Linting with explicit patterns:');
15
- explicitGlobs.forEach((g) => console.log(' ' + g));
54
+ logger.info('Linting with explicit patterns:');
55
+ explicitGlobs.forEach((g) => logger.info(' ' + g));
16
56
  const eslint = new ESLint({
17
57
  overrideConfigFile: configPath || defaultConfigPath,
18
58
  fix,
19
59
  errorOnUnmatchedPattern: false,
20
60
  warnIgnored: false,
21
- ignorePatterns: [], // Trust caller entirely
61
+ ignorePatterns: [],
62
+ overrideConfig: parserProjectOverride,
22
63
  });
23
- return await lintAndReport(eslint, explicitGlobs, fix);
64
+ return await lintAndReport(eslint, explicitGlobs, fix, logger);
24
65
  }
25
- // PATH B default behaviour (tsconfig + matrix config)
26
- const { forceInclude, tsconfigPaths } = resolveMatrixConfig();
66
+ // PATH B - default behaviour (tsconfig + matrix config)
67
+ const { forceInclude, tsconfigPaths } = lintConfig.domains.eslint;
27
68
  if (tsconfigPaths.length === 0) {
28
- console.error('[matrixai-lint] ⚠ No tsconfig.json files found.');
69
+ logger.error('[matrixai-lint] ⚠ No tsconfig.json files found.');
70
+ return true;
71
+ }
72
+ logger.info(`Found ${tsconfigPaths.length} tsconfig.json files:`);
73
+ tsconfigPaths.forEach((p) => logger.info(' ' + p));
74
+ const { files: patterns, ignore: ignorePats } = buildPatterns(tsconfigPaths, forceInclude, process.cwd(), lintConfig.root);
75
+ if (patterns.length === 0) {
76
+ logger.warn('[matrixai-lint] ⚠ No ESLint targets were derived from configured tsconfig paths.');
77
+ return false;
29
78
  }
30
- console.log(`Found ${tsconfigPaths.length} tsconfig.json files:`);
31
- tsconfigPaths.forEach((p) => console.log(' ' + p));
32
- const { files: patterns, ignore: ignorePats } = buildPatterns(tsconfigPaths[0], forceInclude);
33
- console.log('Linting files:');
34
- patterns.forEach((p) => console.log(' ' + p));
79
+ logger.info('Linting files:');
80
+ patterns.forEach((p) => logger.info(' ' + p));
35
81
  const eslint = new ESLint({
36
82
  overrideConfigFile: configPath || defaultConfigPath,
37
83
  fix,
38
84
  errorOnUnmatchedPattern: false,
39
85
  warnIgnored: false,
40
86
  ignorePatterns: ignorePats,
87
+ overrideConfig: parserProjectOverride,
41
88
  });
42
- return await lintAndReport(eslint, patterns, fix);
89
+ return await lintAndReport(eslint, patterns, fix, logger);
43
90
  }
44
- async function lintAndReport(eslint, patterns, fix) {
91
+ async function lintAndReport(eslint, patterns, fix, logger) {
45
92
  const results = await eslint.lintFiles(patterns);
46
93
  if (fix) {
47
94
  await ESLint.outputFixes(results);
48
95
  }
49
96
  const formatter = await eslint.loadFormatter('stylish');
50
- console.log(formatter.format(results));
97
+ logger.info(formatter.format(results));
51
98
  const hasErrors = results.some((r) => r.errorCount > 0);
52
99
  return hasErrors;
53
100
  }
54
- /* eslint-enable no-console */
55
101
  /**
56
102
  * Find the user's ESLint config file in the current working directory.
57
103
  * It looks for the following files:
@@ -100,64 +146,6 @@ function commandExists(cmd) {
100
146
  const result = childProcess.spawnSync(whichCmd, [cmd], { stdio: 'ignore' });
101
147
  return result.status === 0;
102
148
  }
103
- // Checks if the value is an object and not null
104
- // and then casts it to RawMatrixCfg. If the value is not an object or is null,
105
- // it returns undefined.
106
- function asRawMatrixCfg(v) {
107
- return typeof v === 'object' && v !== null ? v : undefined;
108
- }
109
- /**
110
- * Loads and sanitises MatrixAI‑linter config for a repo.
111
- *
112
- * - Reads `matrixai-lint-config.json` in `repoRoot` (if present).
113
- * - Throws if the JSON is invalid.
114
- * - Extracts `tsconfigPaths` & `forceInclude`, coercing each to `string[]`.
115
- * - Resolves `tsconfigPaths` to absolute paths and keeps only files that exist.
116
- * - If none remain, falls back to `repoRoot/tsconfig.json` when available.
117
- * - Strips leading “./” from every `forceInclude` glob.
118
- *
119
- * Returns a normalised `{ tsconfigPaths, forceInclude }`.
120
- */
121
- function resolveMatrixConfig(repoRoot = process.cwd()) {
122
- const cfgPath = path.join(repoRoot, 'matrixai-lint-config.json');
123
- let rawCfg = {};
124
- if (fs.existsSync(cfgPath)) {
125
- try {
126
- const text = fs.readFileSync(cfgPath, 'utf8').trim();
127
- rawCfg = text.length > 0 ? JSON.parse(text) : {};
128
- }
129
- catch (e) {
130
- throw new Error(`[matrixai-lint] ✖ matrixai-lint-config.json has been provided but it is not valid JSON.\n ${e}`);
131
- }
132
- }
133
- const cfg = asRawMatrixCfg(rawCfg);
134
- const tsconfigPaths = toStringArray(cfg?.tsconfigPaths ?? [])
135
- .map((p) => path.resolve(repoRoot, p))
136
- .filter((p) => {
137
- if (fs.existsSync(p))
138
- return true;
139
- return false;
140
- });
141
- const forceInclude = toStringArray(cfg?.forceInclude ?? []).map((g) => g.replace(/^\.\//, ''));
142
- // Fallback to root tsconfig if no tsconfigPaths are provided
143
- // and the root tsconfig exists
144
- if (tsconfigPaths.length === 0) {
145
- const rootTs = path.join(repoRoot, 'tsconfig.json');
146
- if (fs.existsSync(rootTs))
147
- tsconfigPaths.push(rootTs);
148
- }
149
- return { tsconfigPaths, forceInclude };
150
- }
151
- /**
152
- * Converts a value into an array of strings.
153
- *
154
- * - If the value is a string, it returns an array containing that string.
155
- * - If the value is an array, it filters the array to include only strings.
156
- * - For any other type, it returns an empty array.
157
- *
158
- * @param value The value to convert.
159
- * @returns An array of strings.
160
- */
161
149
  function toStringArray(value) {
162
150
  if (typeof value === 'string') {
163
151
  return [value];
@@ -167,11 +155,94 @@ function toStringArray(value) {
167
155
  }
168
156
  return [];
169
157
  }
158
+ function dedupeAndSort(values) {
159
+ return [...new Set(values)].sort();
160
+ }
161
+ function normalizeGlobValue(value) {
162
+ return value.trim().replace(/\\/g, '/').replace(/^\.\//, '');
163
+ }
164
+ function rebasePatternToCwd({ pattern, baseDir, cwd, }) {
165
+ const normalizedPattern = normalizeGlobValue(pattern);
166
+ if (normalizedPattern.length === 0) {
167
+ return '';
168
+ }
169
+ const platformPattern = normalizedPattern.split('/').join(path.sep);
170
+ const absolutePattern = path.isAbsolute(platformPattern)
171
+ ? platformPattern
172
+ : path.resolve(baseDir, platformPattern);
173
+ const relativePattern = path
174
+ .relative(cwd, absolutePattern)
175
+ .split(path.sep)
176
+ .join('/');
177
+ if (relativePattern.length === 0) {
178
+ return '.';
179
+ }
180
+ return normalizeGlobValue(relativePattern);
181
+ }
182
+ function hasExtensionOrGlobExtensionPattern(value) {
183
+ return /(^|\/)[^/]*\.[^/]*$/.test(value);
184
+ }
185
+ function expandExtensionlessPattern(value) {
186
+ const normalized = normalizeGlobValue(value).replace(/\/+$/, '');
187
+ if (normalized.length === 0) {
188
+ return '';
189
+ }
190
+ if (hasExtensionOrGlobExtensionPattern(normalized)) {
191
+ return normalized;
192
+ }
193
+ if (!GLOB_META_PATTERN.test(normalized)) {
194
+ return `${normalized}/**/*${ESLINT_TARGET_EXTENSION_GLOB}`;
195
+ }
196
+ if (normalized === '**') {
197
+ return `**/*${ESLINT_TARGET_EXTENSION_GLOB}`;
198
+ }
199
+ if (normalized.endsWith('/**')) {
200
+ return `${normalized}/*${ESLINT_TARGET_EXTENSION_GLOB}`;
201
+ }
202
+ return `${normalized}${ESLINT_TARGET_EXTENSION_GLOB}`;
203
+ }
204
+ function normalizeIncludePatterns(values) {
205
+ return dedupeAndSort(values
206
+ .map((value) => expandExtensionlessPattern(value))
207
+ .filter((value) => value.length > 0));
208
+ }
209
+ function normalizeExcludePatterns(values) {
210
+ return dedupeAndSort(values
211
+ .map((value) => normalizeGlobValue(value).replace(/\/+$/, ''))
212
+ .filter((value) => value.length > 0));
213
+ }
214
+ function patternPrefix(value) {
215
+ const normalized = normalizeGlobValue(value);
216
+ const segments = normalized
217
+ .split('/')
218
+ .filter((segment) => segment.length > 0);
219
+ const prefixSegments = [];
220
+ for (const segment of segments) {
221
+ if (GLOB_META_PATTERN.test(segment)) {
222
+ break;
223
+ }
224
+ prefixSegments.push(segment);
225
+ }
226
+ return prefixSegments.join('/');
227
+ }
228
+ function patternsOverlapByPrefix(left, right) {
229
+ if (left === right) {
230
+ return true;
231
+ }
232
+ const leftPrefix = patternPrefix(left);
233
+ const rightPrefix = patternPrefix(right);
234
+ if (leftPrefix.length === 0 || rightPrefix.length === 0) {
235
+ return false;
236
+ }
237
+ return (leftPrefix === rightPrefix ||
238
+ leftPrefix.startsWith(`${rightPrefix}/`) ||
239
+ rightPrefix.startsWith(`${leftPrefix}/`));
240
+ }
170
241
  /**
171
242
  * Builds file and ignore patterns based on a given TypeScript configuration file path,
172
243
  * with optional forced inclusion of specific paths.
173
244
  *
174
- * @param tsconfigPath - The path to the TypeScript configuration file (tsconfig.json).
245
+ * @param tsconfigPaths - One or more paths to TypeScript configuration files.
175
246
  * @param forceInclude - An optional array of paths or patterns to forcefully include,
176
247
  * even if they overlap with excluded patterns.
177
248
  * @returns An object containing:
@@ -183,21 +254,63 @@ function toStringArray(value) {
183
254
  * based on the `forceInclude` parameter. If no `exclude` patterns are specified,
184
255
  * default ignore patterns for common directories like `node_modules` are added.
185
256
  */
186
- function buildPatterns(tsconfigPath, forceInclude = []) {
187
- const { config } = ts.readConfigFile(tsconfigPath, ts.sys.readFile);
188
- const strip = (p) => p.replace(/^\.\//, '');
189
- const include = (config.include ?? []).map(strip);
190
- const exclude = (config.exclude ?? []).map(strip);
191
- // ForceInclude overrides exclude
192
- const ignore = exclude.filter((ex) => !forceInclude.some((fi) => fi.startsWith(ex) || ex.startsWith(fi)));
193
- const files = [
194
- ...include.map((g) => `${g}.{js,mjs,ts,mts,jsx,tsx,json}`),
195
- ...forceInclude.map((g) => `${g}.{js,mjs,ts,mts,jsx,tsx,json}`),
196
- ];
197
- if (exclude.length <= 0) {
198
- ignore.push('node_modules/**', 'bower_components/**', 'jspm_packages/**');
257
+ function buildPatterns(tsconfigPaths, forceInclude = [], cwd = process.cwd(), forceIncludeBaseDir = cwd) {
258
+ const normalizedForceInclude = normalizeIncludePatterns(forceInclude.map((value) => rebasePatternToCwd({ pattern: value, baseDir: forceIncludeBaseDir, cwd })));
259
+ const forceIncludeRaw = dedupeAndSort(forceInclude
260
+ .map((value) => rebasePatternToCwd({
261
+ pattern: value,
262
+ baseDir: forceIncludeBaseDir,
263
+ cwd,
264
+ }))
265
+ .map((value) => normalizeGlobValue(value).replace(/\/+$/, ''))
266
+ .filter((value) => value.length > 0));
267
+ const includePatternsByTsconfig = [];
268
+ const excludePatternsByTsconfig = [];
269
+ for (const tsconfigPath of tsconfigPaths) {
270
+ if (!fs.existsSync(tsconfigPath)) {
271
+ continue;
272
+ }
273
+ const tsconfigDir = path.dirname(tsconfigPath);
274
+ const readResult = ts.readConfigFile(tsconfigPath, ts.sys.readFile);
275
+ if (readResult.error != null || readResult.config == null) {
276
+ continue;
277
+ }
278
+ const config = readResult.config;
279
+ const rawInclude = toStringArray(config.include).map((pattern) => rebasePatternToCwd({ pattern, baseDir: tsconfigDir, cwd }));
280
+ const defaultInclude = rebasePatternToCwd({
281
+ pattern: '**/*',
282
+ baseDir: tsconfigDir,
283
+ cwd,
284
+ });
285
+ const normalizedInclude = normalizeIncludePatterns(rawInclude.length > 0 ? rawInclude : [defaultInclude]);
286
+ const normalizedExclude = normalizeExcludePatterns(toStringArray(config.exclude).map((pattern) => rebasePatternToCwd({ pattern, baseDir: tsconfigDir, cwd })));
287
+ includePatternsByTsconfig.push(normalizedInclude);
288
+ excludePatternsByTsconfig.push(normalizedExclude);
199
289
  }
200
- return { files, ignore };
290
+ const include = dedupeAndSort([
291
+ ...includePatternsByTsconfig.flat(),
292
+ ...normalizedForceInclude,
293
+ ]);
294
+ const ignoreCandidates = [];
295
+ excludePatternsByTsconfig.forEach((excludePatterns, index) => {
296
+ if (excludePatterns.length === 0) {
297
+ ignoreCandidates.push(...DEFAULT_IGNORE_PATTERNS);
298
+ return;
299
+ }
300
+ for (const excludePattern of excludePatterns) {
301
+ const overlappedByOtherTsconfigInclude = includePatternsByTsconfig.some((includePatterns, includeIndex) => includeIndex !== index &&
302
+ includePatterns.some((includePattern) => patternsOverlapByPrefix(includePattern, excludePattern)));
303
+ if (!overlappedByOtherTsconfigInclude) {
304
+ ignoreCandidates.push(excludePattern);
305
+ }
306
+ }
307
+ });
308
+ const ignore = dedupeAndSort(ignoreCandidates).filter((ignorePattern) => {
309
+ const overlappedByNormalized = normalizedForceInclude.some((forceIncludePattern) => patternsOverlapByPrefix(ignorePattern, forceIncludePattern));
310
+ const overlappedByRaw = forceIncludeRaw.some((forceIncludePattern) => patternsOverlapByPrefix(ignorePattern, forceIncludePattern));
311
+ return !overlappedByNormalized && !overlappedByRaw;
312
+ });
313
+ return { files: include, ignore };
201
314
  }
202
- export { runESLint, findUserESLintConfig, collectMarkdown, commandExists, resolveMatrixConfig, buildPatterns, };
315
+ export { verboseToLogLevel, runESLint, findUserESLintConfig, collectMarkdown, commandExists, buildPatterns, };
203
316
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,40 +1,51 @@
1
1
  {
2
2
  "name": "@matrixai/lint",
3
- "version": "0.2.12",
3
+ "version": "0.4.0",
4
4
  "author": "Roger Qiu",
5
5
  "description": "Org wide custom eslint rules",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "https://github.com/MatrixAI/js-eslint.git"
9
+ "url": "git+https://github.com/MatrixAI/js-eslint.git"
10
10
  },
11
11
  "type": "module",
12
12
  "exports": {
13
- "./config": {
14
- "import": "./dist/configs/js.js"
15
- }
13
+ "./package.json": "./package.json",
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/index.js"
17
+ },
18
+ "./configs/*.js": {
19
+ "types": "./dist/configs/*.d.ts",
20
+ "import": "./dist/configs/*.js"
21
+ },
22
+ "./*.js": {
23
+ "types": "./dist/*.d.ts",
24
+ "import": "./dist/*.js"
25
+ },
26
+ "./*": "./dist/*"
16
27
  },
17
28
  "imports": {
18
29
  "#*": "./dist/*"
19
30
  },
20
- "./package.json": "./package.json",
21
31
  "bin": {
22
- "matrixai-lint": "./dist/bin/lint.js"
32
+ "matrixai-lint": "dist/bin/lint.js"
23
33
  },
24
34
  "scripts": {
25
35
  "prepare": "tsc -p ./tsconfig.build.json",
26
- "build": "shx rm -rf ./dist && tsc -p ./tsconfig.build.json && shx chmod +x dist/bin/lint.js",
36
+ "build": "shx rm -rf ./dist && tsc -p ./tsconfig.build.json && shx chmod +x ./dist/bin/lint.js",
27
37
  "postversion": "npm install --package-lock-only --ignore-scripts --silent",
28
38
  "tsx": "tsx",
29
- "lint": "test -f ./dist/bin/lint.js || npm run build && ./dist/bin/lint.js --eslint \"{src,scripts,tests}/**/*.{js,mjs,ts,mts,jsx,tsx}\" --shell src scripts tests",
30
- "lintfix": "sh -c 'test -f ./dist/bin/lint.js || npm run build && ./dist/bin/lint.js --fix --eslint \"{src,scripts,tests}/**/*.{js,mjs,ts,mts,jsx,tsx}\"' --shell src scripts tests",
31
- "lint-shell": "find ./src ./tests ./scripts -type f -regextype posix-extended -regex '.*\\.(sh)' -exec shellcheck {} +",
32
- "docs": "shx rm -rf ./docs && typedoc --entryPointStrategy expand --gitRevision master --tsconfig ./tsconfig.build.json --out ./docs src",
39
+ "lint": "npm run prepare && node ./dist/bin/lint.js --domain eslint shell markdown --eslint \"{src,scripts,tests}/**/*.{js,mjs,ts,mts,jsx,tsx}\" --shell src scripts tests",
40
+ "lintfix": "npm run prepare && node ./dist/bin/lint.js --fix --domain eslint shell markdown --eslint \"{src,scripts,tests}/**/*.{js,mjs,ts,mts,jsx,tsx}\" --shell src scripts tests",
41
+ "lint-shell": "npm run prepare && node ./dist/bin/lint.js --domain shell --shell src scripts tests",
42
+ "docs": "shx rm -rf ./docs && typedoc --gitRevision master --tsconfig ./tsconfig.build.json --out ./docs src",
33
43
  "test": "node ./scripts/test.mjs"
34
44
  },
35
45
  "dependencies": {
36
46
  "@eslint/compat": "^1.2.5",
37
47
  "@eslint/js": "^9.16.0",
48
+ "@matrixai/logger": "^4.0.3",
38
49
  "@typescript-eslint/eslint-plugin": "^8.27.0",
39
50
  "@typescript-eslint/parser": "^8.27.0",
40
51
  "@typescript-eslint/utils": "^8.26.1",
@@ -60,7 +71,6 @@
60
71
  "jest-junit": "^16.0.0",
61
72
  "minimatch": "^10.0.1",
62
73
  "shx": "^0.3.4",
63
- "tsconfig-paths": "^3.9.0",
64
74
  "tsx": "^3.12.7",
65
75
  "typedoc": "^0.24.8",
66
76
  "typescript": "^5.1.6"
@@ -1 +0,0 @@
1
- {"version":3,"file":"js.js","sourceRoot":"","sources":["../../src/configs/js.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"prettier.config.mjs","sourceRoot":"","sources":["../../src/configs/prettier.config.mjs"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,eAAe;IACb,IAAI,EAAE,IAAI;IACV,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,EAAE;IACd,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE;QACT;YACE,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YACxB,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SACjC;KACF;CACF,CAAC"}
package/flake.lock DELETED
@@ -1,78 +0,0 @@
1
- {
2
- "nodes": {
3
- "flake-utils": {
4
- "inputs": {
5
- "systems": "systems"
6
- },
7
- "locked": {
8
- "lastModified": 1731533236,
9
- "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
10
- "owner": "numtide",
11
- "repo": "flake-utils",
12
- "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
13
- "type": "github"
14
- },
15
- "original": {
16
- "owner": "numtide",
17
- "repo": "flake-utils",
18
- "type": "github"
19
- }
20
- },
21
- "nixpkgs": {
22
- "locked": {
23
- "lastModified": 1736139540,
24
- "narHash": "sha256-39Iclrd+9tPLmvuFVyoG63WnHZJ9kCOC6eRytRYLAWw=",
25
- "owner": "NixOS",
26
- "repo": "nixpkgs",
27
- "rev": "8ab83a21276434aaf44969b8dd0bc0e65b97a240",
28
- "type": "github"
29
- },
30
- "original": {
31
- "owner": "NixOS",
32
- "repo": "nixpkgs",
33
- "rev": "8ab83a21276434aaf44969b8dd0bc0e65b97a240",
34
- "type": "github"
35
- }
36
- },
37
- "nixpkgs-matrix": {
38
- "inputs": {
39
- "nixpkgs": "nixpkgs"
40
- },
41
- "locked": {
42
- "lastModified": 1736140072,
43
- "narHash": "sha256-MgtcAA+xPldS0WlV16TjJ0qgFzGvKuGM9p+nPUxpUoA=",
44
- "owner": "MatrixAI",
45
- "repo": "nixpkgs-matrix",
46
- "rev": "029084026bc4a35bce81bac898aa695f41993e18",
47
- "type": "github"
48
- },
49
- "original": {
50
- "id": "nixpkgs-matrix",
51
- "type": "indirect"
52
- }
53
- },
54
- "root": {
55
- "inputs": {
56
- "flake-utils": "flake-utils",
57
- "nixpkgs-matrix": "nixpkgs-matrix"
58
- }
59
- },
60
- "systems": {
61
- "locked": {
62
- "lastModified": 1681028828,
63
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
64
- "owner": "nix-systems",
65
- "repo": "default",
66
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
67
- "type": "github"
68
- },
69
- "original": {
70
- "owner": "nix-systems",
71
- "repo": "default",
72
- "type": "github"
73
- }
74
- }
75
- },
76
- "root": "root",
77
- "version": 7
78
- }
package/jest.config.mjs DELETED
@@ -1,84 +0,0 @@
1
- import path from 'node:path';
2
- import url from 'node:url';
3
- import tsconfigJSON from './tsconfig.json' assert { type: "json" };
4
-
5
- const projectPath = path.dirname(url.fileURLToPath(import.meta.url));
6
-
7
- // Global variables that are shared across the jest worker pool
8
- // These variables must be static and serializable
9
- const globals = {
10
- // Absolute directory to the project root
11
- projectDir: projectPath,
12
- // Absolute directory to the test root
13
- testDir: path.join(projectPath, 'tests'),
14
- // Default asynchronous test timeout
15
- defaultTimeout: 20000,
16
- // Timeouts rely on setTimeout which takes 32 bit numbers
17
- maxTimeout: Math.pow(2, 31) - 1,
18
- };
19
-
20
- // The `globalSetup` and `globalTeardown` cannot access the `globals`
21
- // They run in their own process context
22
- // They can however receive the process environment
23
- // Use `process.env` to set variables
24
-
25
- const config = {
26
- testEnvironment: 'node',
27
- verbose: true,
28
- collectCoverage: false,
29
- cacheDirectory: '<rootDir>/tmp/jest',
30
- coverageDirectory: '<rootDir>/tmp/coverage',
31
- roots: ['<rootDir>/tests'],
32
- testMatch: ['**/?(*.)+(spec|test|unit.test).+(ts|tsx|js|jsx)'],
33
- transform: {
34
- "^.+\\.(t|j)sx?$": [
35
- "@swc/jest",
36
- {
37
- jsc: {
38
- parser: {
39
- syntax: "typescript",
40
- tsx: true,
41
- decorators: tsconfigJSON.compilerOptions.experimentalDecorators,
42
- dynamicImport: true,
43
- },
44
- target: tsconfigJSON.compilerOptions.target.toLowerCase(),
45
- keepClassNames: true,
46
- },
47
- }
48
- ],
49
- },
50
- reporters: [
51
- 'default',
52
- ['jest-junit', {
53
- outputDirectory: '<rootDir>/tmp/junit',
54
- classNameTemplate: '{classname}',
55
- ancestorSeparator: ' > ',
56
- titleTemplate: '{title}',
57
- addFileAttribute: 'true',
58
- reportTestSuiteErrors: 'true',
59
- }],
60
- ],
61
- collectCoverageFrom: ['src/**/*.{ts,tsx,js,jsx}', '!src/**/*.d.ts'],
62
- coverageReporters: ['text', 'cobertura'],
63
- globals,
64
- // Global setup script executed once before all test files
65
- globalSetup: '<rootDir>/tests/globalSetup.ts',
66
- // Global teardown script executed once after all test files
67
- globalTeardown: '<rootDir>/tests/globalTeardown.ts',
68
- // Setup files are executed before each test file
69
- // Can access globals
70
- setupFiles: ['<rootDir>/tests/setup.ts'],
71
- // Setup files after env are executed before each test file
72
- // after the jest test environment is installed
73
- // Can access globals
74
- setupFilesAfterEnv: [
75
- 'jest-extended',
76
- '<rootDir>/tests/setupAfterEnv.ts'
77
- ],
78
- moduleNameMapper: {
79
- "^(\\.{1,2}/.*)\\.js$": "$1",
80
- },
81
- extensionsToTreatAsEsm: ['.ts', '.tsx', '.mts'],
82
- };
83
-
84
- export default config;
File without changes