@zukhruf/eslint 0.3.41 → 0.3.43
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/README.md +34 -15
- package/dist/async-values/no-promise-field.d.ts.map +1 -1
- package/dist/async-values/no-promise-field.js +5 -3
- package/dist/async-values/no-promise-field.js.map +1 -1
- package/dist/base/config.d.ts.map +1 -1
- package/dist/base/config.js +11 -2
- package/dist/base/config.js.map +1 -1
- package/dist/base/options.d.ts +4 -3
- package/dist/base/options.d.ts.map +1 -1
- package/dist/base/options.js.map +1 -1
- package/dist/diagnostics/config.js +2 -2
- package/dist/diagnostics/config.js.map +1 -1
- package/dist/environment/config.d.ts +1 -0
- package/dist/environment/config.d.ts.map +1 -1
- package/dist/environment/config.js +4 -2
- package/dist/environment/config.js.map +1 -1
- package/dist/environment/no-undeclared-process-env.d.ts.map +1 -1
- package/dist/environment/no-undeclared-process-env.js +19 -18
- package/dist/environment/no-undeclared-process-env.js.map +1 -1
- package/dist/files.d.ts +3 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +3 -0
- package/dist/files.js.map +1 -1
- package/dist/hermes/plugin.d.ts.map +1 -1
- package/dist/hermes/plugin.js +2 -2
- package/dist/hermes/plugin.js.map +1 -1
- package/dist/hono/config.js +2 -2
- package/dist/hono/config.js.map +1 -1
- package/dist/imports/no-test-file-import.d.ts +9 -0
- package/dist/imports/no-test-file-import.d.ts.map +1 -0
- package/dist/imports/no-test-file-import.js +21 -0
- package/dist/imports/no-test-file-import.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/island/plugin.d.ts.map +1 -1
- package/dist/island/plugin.js +3 -3
- package/dist/island/plugin.js.map +1 -1
- package/dist/manifest/manifest-policy.d.ts +3 -2
- package/dist/manifest/manifest-policy.d.ts.map +1 -1
- package/dist/manifest/manifest-policy.js +10 -3
- package/dist/manifest/manifest-policy.js.map +1 -1
- package/dist/manifest/project-build.d.ts +7 -5
- package/dist/manifest/project-build.d.ts.map +1 -1
- package/dist/manifest/project-build.js +11 -5
- package/dist/manifest/project-build.js.map +1 -1
- package/dist/manifest/test-support.d.ts +10 -0
- package/dist/manifest/test-support.d.ts.map +1 -0
- package/dist/manifest/test-support.js +52 -0
- package/dist/manifest/test-support.js.map +1 -0
- package/dist/packaged-app/config.js +2 -2
- package/dist/packaged-app/config.js.map +1 -1
- package/dist/react-router/config.d.ts.map +1 -1
- package/dist/react-router/config.js +16 -2
- package/dist/react-router/config.js.map +1 -1
- package/dist/react-router/options.d.ts +10 -0
- package/dist/react-router/options.d.ts.map +1 -0
- package/dist/react-router/options.js +13 -0
- package/dist/react-router/options.js.map +1 -0
- package/dist/test-files/config.d.ts.map +1 -1
- package/dist/test-files/config.js +15 -4
- package/dist/test-files/config.js.map +1 -1
- package/dist/test-files/no-catch-all-msw-handler.d.ts +10 -0
- package/dist/test-files/no-catch-all-msw-handler.d.ts.map +1 -0
- package/dist/test-files/no-catch-all-msw-handler.js +16 -0
- package/dist/test-files/no-catch-all-msw-handler.js.map +1 -0
- package/dist/test-files/no-direct-msw-server.d.ts +12 -0
- package/dist/test-files/no-direct-msw-server.d.ts.map +1 -0
- package/dist/test-files/no-direct-msw-server.js +67 -0
- package/dist/test-files/no-direct-msw-server.js.map +1 -0
- package/dist/test-files/no-process-env-write.d.ts +10 -0
- package/dist/test-files/no-process-env-write.d.ts.map +1 -0
- package/dist/test-files/no-process-env-write.js +21 -0
- package/dist/test-files/no-process-env-write.js.map +1 -0
- package/dist/test-files/no-timer-race.d.ts +13 -0
- package/dist/test-files/no-timer-race.d.ts.map +1 -0
- package/dist/test-files/no-timer-race.js +144 -0
- package/dist/test-files/no-timer-race.js.map +1 -0
- package/package.json +1 -1
- package/dist/test-files/require-msw-error-on-unhandled-request.d.ts +0 -11
- package/dist/test-files/require-msw-error-on-unhandled-request.d.ts.map +0 -1
- package/dist/test-files/require-msw-error-on-unhandled-request.js +0 -17
- package/dist/test-files/require-msw-error-on-unhandled-request.js.map +0 -1
package/README.md
CHANGED
|
@@ -40,19 +40,19 @@ Put framework presets (for example Nx's `flat/react`) **before** the zukhruf con
|
|
|
40
40
|
|
|
41
41
|
## Configs
|
|
42
42
|
|
|
43
|
-
| Config | Files
|
|
44
|
-
| ----------------- |
|
|
45
|
-
| `base` | all source
|
|
46
|
-
| `tests` | test files
|
|
47
|
-
| `diagnostics` | source, not tests
|
|
48
|
-
| `env` | TypeScript, not tests | `no-undeclared-process-env`, `no-single-env-read-wrapper`, `no-default-for-path-env`
|
|
49
|
-
| `packaged-app` | TypeScript, not tests
|
|
50
|
-
| `react` | `.tsx`, `.jsx`
|
|
51
|
-
| `react-router` | source
|
|
52
|
-
| `hono` | TypeScript, not tests
|
|
53
|
-
| `tailwind` | source
|
|
54
|
-
| `pulumi` | TypeScript
|
|
55
|
-
| `nx-project-json` | `project.json`
|
|
43
|
+
| Config | Files | Rules |
|
|
44
|
+
| ----------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
45
|
+
| `base` | all source | `@eslint/js` and `typescript-eslint` recommended; `consistent-type-assertions` (never), `no-namespace`, `zukhruf/no-enum`; `import-x/no-duplicates`, `import-x/no-unassigned-import`; `functional/no-let` (module scope); `zukhruf/no-state-managers`, `zukhruf/no-playwright-test`, `zukhruf/no-test-file-import`; typed lint: `no-floating-promises`, `no-misused-promises`, `only-throw-error`, `switch-exhaustiveness-check` (a `default` counts as exhaustive), `zukhruf/no-promise-field`, `zukhruf/no-phase-flag`; `no-require-imports` is off in `.cjs` and `.cts`, because `require()` is the only import form in a CommonJS file |
|
|
46
|
+
| `tests` | test files, `src/testing` | `no-test-lifecycle-hooks`, `no-process-env-write`, `no-direct-msw-server`, `no-catch-all-msw-handler`, `no-timer-race` |
|
|
47
|
+
| `diagnostics` | source, not tests | `no-fabricated-fallback`, `no-hardcoded-id-shape`, `consistent-event-name` |
|
|
48
|
+
| `env` | TypeScript, not tests or tool configs | `no-undeclared-process-env`, `no-single-env-read-wrapper`, `no-default-for-path-env` |
|
|
49
|
+
| `packaged-app` | TypeScript, not tests | `no-bare-spawn` |
|
|
50
|
+
| `react` | `.tsx`, `.jsx` | `no-as-child` |
|
|
51
|
+
| `react-router` | source | `require-loader-data-type-argument`; outside tests: `no-raw-route-path`, `no-internal-anchor`; TypeScript: `only-throw-error` allows a `Response` and `DataWithResponseInit` |
|
|
52
|
+
| `hono` | TypeScript, not tests | `no-untyped-empty-json` |
|
|
53
|
+
| `tailwind` | source | `no-h-screen`, `no-arbitrary-z-index`, `no-will-change` |
|
|
54
|
+
| `pulumi` | TypeScript | `require-server-replace-guard` |
|
|
55
|
+
| `nx-project-json` | `project.json` | `no-missing-asset-input` |
|
|
56
56
|
|
|
57
57
|
`base` turns on typed lint (`parserOptions.projectService`). Each linted TypeScript file must be in a tsconfig.
|
|
58
58
|
|
|
@@ -68,13 +68,22 @@ Give repo-specific values as rule options. For example:
|
|
|
68
68
|
{
|
|
69
69
|
rules: {
|
|
70
70
|
'zukhruf/no-bare-spawn': ['error', { roots: ['apps/desktop/src'] }],
|
|
71
|
-
'zukhruf/no-undeclared-process-env': ['error', { startupFile: 'src/env.ts' }],
|
|
72
71
|
},
|
|
73
72
|
}
|
|
74
73
|
```
|
|
75
74
|
|
|
76
75
|
`roots` are folders relative to the workspace root. A rule finds the workspace root from the linted file: the nearest folder with `nx.json`, `pnpm-workspace.yaml`, or a `package.json` that declares `workspaces`.
|
|
77
76
|
|
|
77
|
+
A fact about the repo goes in `settings`, not in rule options. If you set a rule again, you replace its config's `files` and `ignores`. A setting changes no scope. For example, `env` reads the startup env schema from `src/startup.ts` in each project. If the schema is in a different file, give that file:
|
|
78
|
+
|
|
79
|
+
```js
|
|
80
|
+
{
|
|
81
|
+
settings: { env: { startupFile: 'src/env.ts' } },
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
A relative `startupFile` is relative to the project of the linted file. `env` does not check test files or tool configs, such as `vite.config.ts`. A tool config runs at build time and has no startup env schema.
|
|
86
|
+
|
|
78
87
|
To extend a `base` rule, use its factory. Do not declare the key again with only your entries: that replaces the base options.
|
|
79
88
|
|
|
80
89
|
```js
|
|
@@ -88,6 +97,14 @@ import { noFloatingPromises, noLet } from '@zukhruf/eslint';
|
|
|
88
97
|
}
|
|
89
98
|
```
|
|
90
99
|
|
|
100
|
+
React Router's loaders and actions throw `redirect()`, `replace()` (a `Response`) or `data()` (a `DataWithResponseInit`). React Router catches the value and renders it. So `react-router` sets `only-throw-error` again with these two types in its allow list. The allow list applies in every TypeScript file of the config, not only in a routes folder, because a loader helper, such as an auth gate, can live in a different folder. Use `react-router` together with `base`, because `base` gives the typed lint that the rule needs. To add more types, use the factory:
|
|
101
|
+
|
|
102
|
+
```js
|
|
103
|
+
import { reactRouterOnlyThrowError } from '@zukhruf/eslint';
|
|
104
|
+
|
|
105
|
+
'@typescript-eslint/only-throw-error': ['error', reactRouterOnlyThrowError({ allow: [/* … */] })]
|
|
106
|
+
```
|
|
107
|
+
|
|
91
108
|
## Nx: islands and module boundaries
|
|
92
109
|
|
|
93
110
|
`@zukhruf/eslint/nx` needs `@nx/eslint-plugin`.
|
|
@@ -139,10 +156,12 @@ An island is an Nx project tagged `layer:island`. Its tags come from its `projec
|
|
|
139
156
|
- A **bundled** project is an application whose build inlines the workspace packages it imports. Their manifests are not there when it is deployed, so its own manifest declares every npm package they pull in. Workspace packages themselves are not demanded.
|
|
140
157
|
- Every other project is **unbundled**. It declares what its own code imports.
|
|
141
158
|
|
|
142
|
-
The rule reads the build target as Nx resolves it: `project.json`, the target defaults in `nx.json`, and the targets that Nx plugins infer. An application bundles unless its build is `nx:noop`, or esbuild with `bundle: false`.
|
|
159
|
+
The rule reads the build target as Nx resolves it: `project.json`, the target defaults in `nx.json`, and the targets that Nx plugins infer. An application bundles unless its build compiles with tsc, is `nx:noop`, or is esbuild with `bundle: false`. tsc emits one file for each source file and keeps each import. The rule counts `@nx/js:tsc` and the `tsc --build` target that the `@nx/js/typescript` plugin infers.
|
|
143
160
|
|
|
144
161
|
An esbuild app can name workspace packages in `external`. Its build does not inline those packages, so they come from `node_modules` when the app runs. When the app imports one of them, it is unbundled, and its manifest declares them. Its manifest does not declare the workspace packages that its build still inlines. The rule reads the list that Nx gives esbuild: `external` and `esbuildOptions.external`, less the entries in `excludeFromExternal`. A `*` in an entry is esbuild's wildcard, as in `@acme/*`.
|
|
145
162
|
|
|
163
|
+
A `testing/` folder holds test support, so the rule does not check its imports. A package can also ship a testing subpath to its consumers. So the rule checks a `testing/` folder when the manifest publishes it: an `exports` target or a `files` entry has a `testing` segment, or an `exports` target has a `*`. For a bundled project, the rule applies the same decision to each workspace package that it inlines.
|
|
164
|
+
|
|
146
165
|
Nx's check follows the imports of all workspace packages, or of none. So when an app inlines some workspace packages and names others in `external`, the rule does not check the npm imports of the inlined packages.
|
|
147
166
|
|
|
148
167
|
```js
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-promise-field.d.ts","sourceRoot":"","sources":["../../src/async-values/no-promise-field.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"no-promise-field.d.ts","sourceRoot":"","sources":["../../src/async-values/no-promise-field.ts"],"names":[],"mappings":";AAwLA,wBAAgC"}
|
|
@@ -59,8 +59,9 @@ function recordMembers({ checker }, type) {
|
|
|
59
59
|
* Whether `type` is a promise, or carries one as a type argument
|
|
60
60
|
* (`Map<string, Promise<X>>`, `Promise<X>[]`) or as a member of a record the
|
|
61
61
|
* project declares, in any member of a union or an intersection. A function
|
|
62
|
-
* type is not entered
|
|
63
|
-
*
|
|
62
|
+
* type is not entered, not even through the arguments of the generic alias
|
|
63
|
+
* that names it (Zod's `z.infer` of `z.function()`): a field that holds
|
|
64
|
+
* `() => Promise<X>` holds the memoized function this rule asks for.
|
|
64
65
|
*
|
|
65
66
|
* `path` holds only the types on the way to this one: a type that one branch
|
|
66
67
|
* met at the depth limit must still be walked when another branch meets it
|
|
@@ -76,7 +77,8 @@ function holdsPromise(walk, type, depth = 0, path = new Set()) {
|
|
|
76
77
|
return unionConstituents(type)
|
|
77
78
|
.flatMap((part) => intersectionConstituents(part))
|
|
78
79
|
.some((part) => isPromiseWithResolvers(walk, part) ||
|
|
79
|
-
|
|
80
|
+
(part.getCallSignatures().length === 0 &&
|
|
81
|
+
typeArguments(walk, part).some((argument) => holdsPromise(walk, argument, depth, path))) ||
|
|
80
82
|
(depth < RECORD_DEPTH &&
|
|
81
83
|
isProjectRecord(walk, part) &&
|
|
82
84
|
recordMembers(walk, part).some((member) => holdsPromise(walk, member, depth + 1, path))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-promise-field.js","sourceRoot":"","sources":["../../src/async-values/no-promise-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAiB,MAAM,0BAA0B,CAAC;AACtE,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AASzD,sEAAsE;AACtE,MAAM,aAAa,GAAG,CAAC,OAAmB,EAAE,IAAmB,EAAE,EAAE,CACjE,OAAO,CAAC,0BAA0B,CAAC,IAAI,CAAC;IACxC,OAAO,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;AAEhD;;;GAGG;AACH,SAAS,sBAAsB,CAAC,EAAE,OAAO,EAAQ,EAAE,IAAa;IAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,OAAO,CACL,MAAM,EAAE,OAAO,EAAE,KAAK,sBAAsB;QAC5C,MAAM;aACH,eAAe,EAAE;YAClB,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CACrB,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,aAAa,EAAE,CAAC,CACpD,KAAK,IAAI,CACb,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,EAAE,OAAO,EAAQ,EAAE,IAAa;IACrD,OAAO;QACL,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB;;;;;GAKG;AACH,SAAS,eAAe,CAAC,EAAE,OAAO,EAAQ,EAAE,IAAa;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,IAAI,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9C,OAAO,CACL,YAAY,KAAK,SAAS;QAC1B,YAAY,CAAC,MAAM,GAAG,CAAC;QACvB,YAAY,CAAC,KAAK,CAChB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,aAAa,EAAE,CAAC,CACtE,CACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,EAAE,OAAO,EAAQ,EAAE,IAAa;IACrD,OAAO;QACL,GAAG,OAAO;aACP,mBAAmB,CAAC,IAAI,CAAC;aACzB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvD,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"no-promise-field.js","sourceRoot":"","sources":["../../src/async-values/no-promise-field.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/base/config.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/base/config.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,eAAe,CAAC;AA+BrD;;;;GAIG;AACH,eAAO,MAAM,IAAI,EAAE,OA6HlB,CAAC"}
|
package/dist/base/config.js
CHANGED
|
@@ -7,15 +7,17 @@ import tseslint from 'typescript-eslint';
|
|
|
7
7
|
import noPromiseField from "../async-values/no-promise-field.js";
|
|
8
8
|
import noPhaseFlag from "../class-state/no-phase-flag.js";
|
|
9
9
|
import { enable } from "../concept.js";
|
|
10
|
-
import { BUILD_OUTPUT, FIXTURES, JAVASCRIPT, SOURCE, TESTS, TYPESCRIPT, } from "../files.js";
|
|
10
|
+
import { BUILD_OUTPUT, COMMONJS, FIXTURES, JAVASCRIPT, SOURCE, TESTS, TEST_SUPPORT, TYPESCRIPT, } from "../files.js";
|
|
11
11
|
import noPlaywrightTest from "../imports/no-playwright-test.js";
|
|
12
12
|
import noStateManagers from "../imports/no-state-managers.js";
|
|
13
|
+
import noTestFileImport from "../imports/no-test-file-import.js";
|
|
13
14
|
import noEnum from "../language/no-enum.js";
|
|
14
15
|
import { workspaceRootOf } from "../workspace/workspace-root.js";
|
|
15
16
|
import { noFloatingPromises, noLet } from "./options.js";
|
|
16
17
|
const importBans = {
|
|
17
18
|
'no-state-managers': noStateManagers,
|
|
18
19
|
'no-playwright-test': noPlaywrightTest,
|
|
20
|
+
'no-test-file-import': noTestFileImport,
|
|
19
21
|
};
|
|
20
22
|
const rules = {
|
|
21
23
|
'no-enum': noEnum,
|
|
@@ -56,6 +58,13 @@ export const base = {
|
|
|
56
58
|
'@typescript-eslint/prefer-namespace-keyword': 'error',
|
|
57
59
|
'@typescript-eslint/no-inferrable-types': 'error',
|
|
58
60
|
},
|
|
61
|
+
}, {
|
|
62
|
+
// In a CommonJS file require() is the only import form: Node runs a
|
|
63
|
+
// `.cts` with its types stripped, which rejects `import x = require()`,
|
|
64
|
+
// and `verbatimModuleSyntax` rejects ESM imports there.
|
|
65
|
+
name: 'zukhruf/base/commonjs',
|
|
66
|
+
files: COMMONJS,
|
|
67
|
+
rules: { '@typescript-eslint/no-require-imports': 'off' },
|
|
59
68
|
}, {
|
|
60
69
|
name: 'zukhruf/base/typescript',
|
|
61
70
|
files: TYPESCRIPT,
|
|
@@ -93,7 +102,7 @@ export const base = {
|
|
|
93
102
|
// through their signatures. Keep mutable state in its owner.
|
|
94
103
|
name: 'zukhruf/base/module-state',
|
|
95
104
|
files: TYPESCRIPT,
|
|
96
|
-
ignores: [...TESTS, ...FIXTURES],
|
|
105
|
+
ignores: [...TESTS, ...TEST_SUPPORT, ...FIXTURES],
|
|
97
106
|
plugins: { functional },
|
|
98
107
|
rules: { 'functional/no-let': ['error', noLet()] },
|
|
99
108
|
}, {
|
package/dist/base/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/base/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAEzC,OAAO,cAAc,MAAM,qCAAqC,CAAC;AACjE,OAAO,WAAW,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,MAAM,EACN,KAAK,EACL,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,UAAU,GAAG;IACjB,mBAAmB,EAAE,eAAe;IACpC,oBAAoB,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/base/config.ts"],"names":[],"mappings":"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"}
|
package/dist/base/options.d.ts
CHANGED
|
@@ -7,17 +7,18 @@ export declare function noLet({ ignoreIdentifierPattern }?: NoLetOptions): {
|
|
|
7
7
|
allowInFunctions: boolean;
|
|
8
8
|
ignoreIdentifierPattern: string[];
|
|
9
9
|
};
|
|
10
|
-
|
|
10
|
+
/** typescript-eslint's name for a type or value by where it is declared: the TS lib, a package, or a file. */
|
|
11
|
+
export interface TypeOrValueSpecifier {
|
|
11
12
|
from: 'file' | 'lib' | 'package';
|
|
12
13
|
name: string | string[];
|
|
13
14
|
package?: string;
|
|
14
15
|
path?: string;
|
|
15
16
|
}
|
|
16
17
|
export interface NoFloatingPromisesOptions {
|
|
17
|
-
allowForKnownSafeCalls?:
|
|
18
|
+
allowForKnownSafeCalls?: TypeOrValueSpecifier[];
|
|
18
19
|
}
|
|
19
20
|
/** Options for `@typescript-eslint/no-floating-promises`, with node:test's calls already allowed. */
|
|
20
21
|
export declare function noFloatingPromises({ allowForKnownSafeCalls, }?: NoFloatingPromisesOptions): {
|
|
21
|
-
allowForKnownSafeCalls:
|
|
22
|
+
allowForKnownSafeCalls: TypeOrValueSpecifier[];
|
|
22
23
|
};
|
|
23
24
|
//# sourceMappingURL=options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/base/options.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC;AAED,8GAA8G;AAC9G,wBAAgB,KAAK,CAAC,EAAE,uBAA4B,EAAE,GAAE,YAAiB;;;EAExE;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/base/options.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC;AAED,8GAA8G;AAC9G,wBAAgB,KAAK,CAAC,EAAE,uBAA4B,EAAE,GAAE,YAAiB;;;EAExE;AAED,8GAA8G;AAC9G,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;IACjC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,sBAAsB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACjD;AASD,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,EACjC,sBAA2B,GAC5B,GAAE,yBAA8B;;EAIhC"}
|
package/dist/base/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/base/options.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,0EAA0E;AAC1E,0EAA0E;AAC1E,sEAAsE;AACtE,iEAAiE;AAOjE,8GAA8G;AAC9G,MAAM,UAAU,KAAK,CAAC,EAAE,uBAAuB,GAAG,EAAE,KAAmB,EAAE;IACvE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;AAC7D,CAAC;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/base/options.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,0EAA0E;AAC1E,0EAA0E;AAC1E,sEAAsE;AACtE,iEAAiE;AAOjE,8GAA8G;AAC9G,MAAM,UAAU,KAAK,CAAC,EAAE,uBAAuB,GAAG,EAAE,KAAmB,EAAE;IACvE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;AAC7D,CAAC;AAcD,uEAAuE;AACvE,MAAM,eAAe,GAAyB;IAC5C,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,WAAW;IACpB,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;CAC1C,CAAC;AAEF,qGAAqG;AACrG,MAAM,UAAU,kBAAkB,CAAC,EACjC,sBAAsB,GAAG,EAAE,MACE,EAAE;IAC/B,OAAO;QACL,sBAAsB,EAAE,CAAC,eAAe,EAAE,GAAG,sBAAsB,CAAC;KACrE,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { enable } from "../concept.js";
|
|
2
|
-
import { SOURCE, TESTS } from "../files.js";
|
|
2
|
+
import { SOURCE, TESTS, TEST_SUPPORT } from "../files.js";
|
|
3
3
|
import consistentEventName from "./consistent-event-name.js";
|
|
4
4
|
import noFabricatedFallback from "./no-fabricated-fallback.js";
|
|
5
5
|
import noHardcodedIdShape from "./no-hardcoded-id-shape.js";
|
|
@@ -16,7 +16,7 @@ export const diagnostics = {
|
|
|
16
16
|
{
|
|
17
17
|
name: 'zukhruf/diagnostics',
|
|
18
18
|
files: SOURCE,
|
|
19
|
-
ignores: TESTS,
|
|
19
|
+
ignores: [...TESTS, ...TEST_SUPPORT],
|
|
20
20
|
plugins,
|
|
21
21
|
rules: enable(rules),
|
|
22
22
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/diagnostics/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/diagnostics/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,mBAAmB,MAAM,4BAA4B,CAAC;AAC7D,OAAO,oBAAoB,MAAM,6BAA6B,CAAC;AAC/D,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAE5D,MAAM,KAAK,GAAG;IACZ,wBAAwB,EAAE,oBAAoB;IAC9C,uBAAuB,EAAE,kBAAkB;IAC3C,uBAAuB,EAAE,mBAAmB;CAC7C,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,WAAW,GAAY;IAClC,IAAI,EAAE,aAAa;IACnB,KAAK;IACL,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACnB;YACE,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,YAAY,CAAC;YACpC,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;SACrB;KACF;CACF,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { type Concept } from '../concept.ts';
|
|
|
2
2
|
/**
|
|
3
3
|
* A service that validates its environment once, in a startup zod schema
|
|
4
4
|
* (`const env = z.object({...})`), and reads it only through declared keys.
|
|
5
|
+
* `settings.env.startupFile` names that file when it is not `src/startup.ts`.
|
|
5
6
|
*/
|
|
6
7
|
export declare const env: Concept;
|
|
7
8
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/environment/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,eAAe,CAAC;AAYrD
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/environment/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,eAAe,CAAC;AAYrD;;;;GAIG;AACH,eAAO,MAAM,GAAG,EAAE,OAajB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { enable } from "../concept.js";
|
|
2
|
-
import { TESTS, TYPESCRIPT } from "../files.js";
|
|
2
|
+
import { CONFIG_FILES, TESTS, TEST_SUPPORT, TYPESCRIPT } from "../files.js";
|
|
3
3
|
import noDefaultForPathEnv from "./no-default-for-path-env.js";
|
|
4
4
|
import noSingleEnvReadWrapper from "./no-single-env-read-wrapper.js";
|
|
5
5
|
import noUndeclaredProcessEnv from "./no-undeclared-process-env.js";
|
|
@@ -11,6 +11,7 @@ const rules = {
|
|
|
11
11
|
/**
|
|
12
12
|
* A service that validates its environment once, in a startup zod schema
|
|
13
13
|
* (`const env = z.object({...})`), and reads it only through declared keys.
|
|
14
|
+
* `settings.env.startupFile` names that file when it is not `src/startup.ts`.
|
|
14
15
|
*/
|
|
15
16
|
export const env = {
|
|
16
17
|
name: 'env',
|
|
@@ -19,7 +20,8 @@ export const env = {
|
|
|
19
20
|
{
|
|
20
21
|
name: 'zukhruf/env',
|
|
21
22
|
files: TYPESCRIPT,
|
|
22
|
-
|
|
23
|
+
// A tool config runs at build time, with no startup env schema.
|
|
24
|
+
ignores: [...TESTS, ...TEST_SUPPORT, ...CONFIG_FILES],
|
|
23
25
|
plugins,
|
|
24
26
|
rules: enable(rules),
|
|
25
27
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/environment/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/environment/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,sBAAsB,MAAM,iCAAiC,CAAC;AACrE,OAAO,sBAAsB,MAAM,gCAAgC,CAAC;AAEpE,MAAM,KAAK,GAAG;IACZ,2BAA2B,EAAE,sBAAsB;IACnD,4BAA4B,EAAE,sBAAsB;IACpD,yBAAyB,EAAE,mBAAmB;CAC/C,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,GAAG,GAAY;IAC1B,IAAI,EAAE,KAAK;IACX,KAAK;IACL,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACnB;YACE,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,UAAU;YACjB,gEAAgE;YAChE,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC;YACrD,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;SACrB;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-undeclared-process-env.d.ts","sourceRoot":"","sources":["../../src/environment/no-undeclared-process-env.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"no-undeclared-process-env.d.ts","sourceRoot":"","sources":["../../src/environment/no-undeclared-process-env.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAkMnC;;;;;;GAMG;AACH,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UAkEhB,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -23,12 +23,24 @@ function isProcessEnvMember(node) {
|
|
|
23
23
|
memberKey(node) === 'env' &&
|
|
24
24
|
identifierName(node['object']) === 'process');
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
const DEFAULT_STARTUP_FILE = 'src/startup.ts';
|
|
27
|
+
/**
|
|
28
|
+
* `settings.env.startupFile` names the startup file. It is a fact about the
|
|
29
|
+
* repo, not a rule option, so a repo gives it without setting the rule again
|
|
30
|
+
* and the `env` config keeps its files and ignores.
|
|
31
|
+
*/
|
|
32
|
+
function startupFileSetting(context) {
|
|
33
|
+
const envSettings = isRecord(context.settings)
|
|
34
|
+
? context.settings['env']
|
|
35
|
+
: undefined;
|
|
36
|
+
const startupFile = isRecord(envSettings)
|
|
37
|
+
? envSettings['startupFile']
|
|
38
|
+
: undefined;
|
|
39
|
+
if (startupFile === undefined) {
|
|
40
|
+
return DEFAULT_STARTUP_FILE;
|
|
41
|
+
}
|
|
30
42
|
if (typeof startupFile !== 'string') {
|
|
31
|
-
throw new TypeError('no-undeclared-process-env:
|
|
43
|
+
throw new TypeError('no-undeclared-process-env: settings.env.startupFile must be a string.');
|
|
32
44
|
}
|
|
33
45
|
return startupFile;
|
|
34
46
|
}
|
|
@@ -137,21 +149,10 @@ const rule = {
|
|
|
137
149
|
startupUnavailable: 'Could not validate process.env usage because the startup env schema is unavailable: {{error}}',
|
|
138
150
|
undeclaredEnv: 'Declare {{key}} in {{startupFile}} before using process.env.{{key}}.',
|
|
139
151
|
},
|
|
140
|
-
schema: [
|
|
141
|
-
{
|
|
142
|
-
type: 'object',
|
|
143
|
-
additionalProperties: false,
|
|
144
|
-
properties: {
|
|
145
|
-
startupFile: {
|
|
146
|
-
type: 'string',
|
|
147
|
-
},
|
|
148
|
-
},
|
|
149
|
-
},
|
|
150
|
-
],
|
|
151
|
-
defaultOptions: [{ startupFile: 'src/startup.ts' }],
|
|
152
|
+
schema: [],
|
|
152
153
|
},
|
|
153
154
|
create(context) {
|
|
154
|
-
const startupPath = resolveStartupPath(context,
|
|
155
|
+
const startupPath = resolveStartupPath(context, startupFileSetting(context));
|
|
155
156
|
const declared = declaredEnvOf(startupPath);
|
|
156
157
|
let reportedStartupError = false;
|
|
157
158
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-undeclared-process-env.js","sourceRoot":"","sources":["../../src/environment/no-undeclared-process-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAEL,cAAc,EACd,SAAS,EACT,MAAM,GACP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,eAAe,GAChB,MAAM,gCAAgC,CAAC;AAQxC,4EAA4E;AAC5E,sDAAsD;AACtD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE7D,SAAS,SAAS,CAAC,IAAa;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAa;IACvC,OAAO,CACL,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAChC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK;QACzB,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,SAAS,CAC7C,CAAC;AACJ,CAAC;AAED,SAAS,
|
|
1
|
+
{"version":3,"file":"no-undeclared-process-env.js","sourceRoot":"","sources":["../../src/environment/no-undeclared-process-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAEL,cAAc,EACd,SAAS,EACT,MAAM,GACP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,eAAe,GAChB,MAAM,gCAAgC,CAAC;AAQxC,4EAA4E;AAC5E,sDAAsD;AACtD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE7D,SAAS,SAAS,CAAC,IAAa;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAa;IACvC,OAAO,CACL,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAChC,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK;QACzB,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,SAAS,CAC7C,CAAC;AACJ,CAAC;AAED,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAE9C;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,OAAyB;IACnD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC5C,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACvC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC;QAC5B,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,SAAS,CACjB,uEAAuE,CACxE,CAAC;IACJ,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CACzB,OAAyB,EACzB,WAAmB;IAEnB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChE,MAAM,IAAI,GACR,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI;QACzB,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC;IACd,OAAO,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAqB;IAC/C,IACE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;QACrB,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;QACxB,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACzB,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAmB;IAEnB,IACE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;QACzB,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC;QAC9C,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,KAAK,GAAG;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EACtC,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,OAAO,MAAM,IAAI,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,WAAW,EACX,MAAM,EACN,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,EACJ,EAAE,CAAC,UAAU,CAAC,EAAE,CACjB,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,SAAS,KAAK,CAAC,IAAa;QAC1B,IACE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC9B,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK;YACxB,IAAI,CAAC,WAAW,EAChB,CAAC;YACD,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,aAAa,EAAE,CAAC;gBAClB,cAAc,GAAG,IAAI,CAAC;gBACtB,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;oBAChD,IACE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC;wBACjC,EAAE,CAAC,6BAA6B,CAAC,QAAQ,CAAC;wBAC1C,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAChC,CAAC;wBACD,MAAM,GAAG,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAC9C,IAAI,GAAG,EAAE,CAAC;4BACR,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,CAAC;IAElB,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,iDAAiD,WAAW,EAAE,CAC/D,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,WAAmB;IACxC,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,KAAK,GAAgB;YACzB,OAAO;YACP,IAAI,EAAE,oBAAoB,CAAC,WAAW,CAAC;SACxC,CAAC;QACF,qBAAqB,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAgB;YACzB,OAAO,EAAE,CAAC,CAAC;YACX,IAAI,EAAE,IAAI,GAAG,EAAE;YACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;QACF,qBAAqB,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,IAAI,GAAoB;IAC5B,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,WAAW,EACT,wEAAwE;SAC3E;QACD,QAAQ,EAAE;YACR,kBAAkB,EAChB,+FAA+F;YACjG,aAAa,EACX,sEAAsE;SACzE;QACD,MAAM,EAAE,EAAE;KACX;IACD,MAAM,CAAC,OAAO;QACZ,MAAM,WAAW,GAAG,kBAAkB,CACpC,OAAO,EACP,kBAAkB,CAAC,OAAO,CAAC,CAC5B,CAAC;QACF,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,oBAAoB,GAAG,KAAK,CAAC;QAEjC,OAAO;YACL,gBAAgB,CAAC,IAAI;gBACnB,IACE,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC;oBACjC,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EACnC,CAAC;oBACD,OAAO;gBACT,CAAC;gBAED,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;gBAClC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjC,OAAO;gBACT,CAAC;gBAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,IAAI,oBAAoB,EAAE,CAAC;wBACzB,OAAO;oBACT,CAAC;oBACD,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,oBAAoB;wBAC/B,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;qBAChC,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,eAAe;oBAC1B,IAAI,EAAE;wBACJ,GAAG;wBACH,WAAW,EAAE,mBAAmB,CAAC,WAAW,CAAC;qBAC9C;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/dist/files.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
export declare const TYPESCRIPT: string[];
|
|
2
2
|
export declare const JAVASCRIPT: string[];
|
|
3
3
|
export declare const SOURCE: string[];
|
|
4
|
+
export declare const COMMONJS: string[];
|
|
4
5
|
export declare const JSX: string[];
|
|
5
6
|
/** The extensions a test file can have: `x.test.<extension>` or `x.spec.<extension>`. */
|
|
6
7
|
export declare const TEST_EXTENSIONS: string[];
|
|
7
8
|
export declare const TESTS: string[];
|
|
9
|
+
/** Test helpers: a file in `src/testing` is a test file too, and the build does not ship it. */
|
|
10
|
+
export declare const TEST_SUPPORT: string[];
|
|
8
11
|
/** Test-support scripts run top-level like tests: their state is arrange state. */
|
|
9
12
|
export declare const FIXTURES: string[];
|
|
10
13
|
/** A script's stdout is its interface. */
|
package/dist/files.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,UAAkD,CAAC;AAC1E,eAAO,MAAM,UAAU,UAAkD,CAAC;AAC1E,eAAO,MAAM,MAAM,UAAiC,CAAC;AACrD,eAAO,MAAM,GAAG,UAA2B,CAAC;AAC5C,yFAAyF;AACzF,eAAO,MAAM,eAAe,UAS3B,CAAC;AACF,eAAO,MAAM,KAAK,UAAsD,CAAC;AACzE,mFAAmF;AACnF,eAAO,MAAM,QAAQ,UAAsB,CAAC;AAC5C,0CAA0C;AAC1C,eAAO,MAAM,OAAO,UAAoB,CAAC;AACzC,qEAAqE;AACrE,eAAO,MAAM,YAAY,UAA0C,CAAC;AACpE,eAAO,MAAM,YAAY,UAAsB,CAAC;AAChD,eAAO,MAAM,YAAY,UAAsB,CAAC;AAChD,8EAA8E;AAC9E,eAAO,MAAM,YAAY,UAOxB,CAAC"}
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,UAAkD,CAAC;AAC1E,eAAO,MAAM,UAAU,UAAkD,CAAC;AAC1E,eAAO,MAAM,MAAM,UAAiC,CAAC;AACrD,eAAO,MAAM,QAAQ,UAA2B,CAAC;AACjD,eAAO,MAAM,GAAG,UAA2B,CAAC;AAC5C,yFAAyF;AACzF,eAAO,MAAM,eAAe,UAS3B,CAAC;AACF,eAAO,MAAM,KAAK,UAAsD,CAAC;AACzE,gGAAgG;AAChG,eAAO,MAAM,YAAY,UAAwB,CAAC;AAClD,mFAAmF;AACnF,eAAO,MAAM,QAAQ,UAAsB,CAAC;AAC5C,0CAA0C;AAC1C,eAAO,MAAM,OAAO,UAAoB,CAAC;AACzC,qEAAqE;AACrE,eAAO,MAAM,YAAY,UAA0C,CAAC;AACpE,eAAO,MAAM,YAAY,UAAsB,CAAC;AAChD,eAAO,MAAM,YAAY,UAAsB,CAAC;AAChD,8EAA8E;AAC9E,eAAO,MAAM,YAAY,UAOxB,CAAC"}
|
package/dist/files.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
export const TYPESCRIPT = ['**/*.ts', '**/*.tsx', '**/*.cts', '**/*.mts'];
|
|
6
6
|
export const JAVASCRIPT = ['**/*.js', '**/*.jsx', '**/*.cjs', '**/*.mjs'];
|
|
7
7
|
export const SOURCE = [...TYPESCRIPT, ...JAVASCRIPT];
|
|
8
|
+
export const COMMONJS = ['**/*.cjs', '**/*.cts'];
|
|
8
9
|
export const JSX = ['**/*.tsx', '**/*.jsx'];
|
|
9
10
|
/** The extensions a test file can have: `x.test.<extension>` or `x.spec.<extension>`. */
|
|
10
11
|
export const TEST_EXTENSIONS = [
|
|
@@ -18,6 +19,8 @@ export const TEST_EXTENSIONS = [
|
|
|
18
19
|
'mjs',
|
|
19
20
|
];
|
|
20
21
|
export const TESTS = [`**/*.{test,spec}.{${TEST_EXTENSIONS.join(',')}}`];
|
|
22
|
+
/** Test helpers: a file in `src/testing` is a test file too, and the build does not ship it. */
|
|
23
|
+
export const TEST_SUPPORT = ['**/src/testing/**'];
|
|
21
24
|
/** Test-support scripts run top-level like tests: their state is arrange state. */
|
|
22
25
|
export const FIXTURES = ['**/*.fixture.ts'];
|
|
23
26
|
/** A script's stdout is its interface. */
|
package/dist/files.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,uEAAuE;AACvE,4EAA4E;AAC5E,qDAAqD;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC5C,yFAAyF;AACzF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC;AACF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,qBAAqB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzE,mFAAmF;AACnF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC5C,0CAA0C;AAC1C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;AACzC,qEAAqE;AACrE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,qCAAqC,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAChD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS;IACT,YAAY;IACZ,UAAU;IACV,kBAAkB;IAClB,6BAA6B;IAC7B,+BAA+B;CAChC,CAAC"}
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,uEAAuE;AACvE,4EAA4E;AAC5E,qDAAqD;AACrD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;AACrD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC5C,yFAAyF;AACzF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC;AACF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,qBAAqB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACzE,gGAAgG;AAChG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAClD,mFAAmF;AACnF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC5C,0CAA0C;AAC1C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;AACzC,qEAAqE;AACrE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,qCAAqC,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAChD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS;IACT,YAAY;IACZ,UAAU;IACV,kBAAkB;IAClB,6BAA6B;IAC7B,+BAA+B;CAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/hermes/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/hermes/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAiB7C;;;;;GAKG;AACH,QAAA,MAAM,MAAM;;;;;;;;;CAIa,CAAC;AAuB1B,eAAe,MAAM,CAAC"}
|
package/dist/hermes/plugin.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import esx from 'eslint-plugin-es-x';
|
|
2
2
|
import importX from 'eslint-plugin-import-x';
|
|
3
|
-
import { CONFIG_FILES, SCRIPTS, SOURCE, TESTS } from "../files.js";
|
|
3
|
+
import { CONFIG_FILES, SCRIPTS, SOURCE, TESTS, TEST_SUPPORT, } from "../files.js";
|
|
4
4
|
import noMissingConsole from "./no-missing-console.js";
|
|
5
5
|
const rules = { 'no-missing-console': noMissingConsole };
|
|
6
6
|
const configs = {};
|
|
@@ -19,7 +19,7 @@ configs['recommended'] = [
|
|
|
19
19
|
{
|
|
20
20
|
name: 'hermes/recommended',
|
|
21
21
|
files: SOURCE,
|
|
22
|
-
ignores: [...TESTS, ...CONFIG_FILES, ...SCRIPTS],
|
|
22
|
+
ignores: [...TESTS, ...TEST_SUPPORT, ...CONFIG_FILES, ...SCRIPTS],
|
|
23
23
|
plugins: { hermes: plugin, 'es-x': esx, 'import-x': importX },
|
|
24
24
|
rules: {
|
|
25
25
|
'hermes/no-missing-console': 'error',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/hermes/plugin.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,oBAAoB,CAAC;AACrC,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAE7C,OAAO,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/hermes/plugin.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,oBAAoB,CAAC;AACrC,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAE7C,OAAO,EACL,YAAY,EACZ,OAAO,EACP,MAAM,EACN,KAAK,EACL,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AAEvD,MAAM,KAAK,GAAG,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC;AAEzD,MAAM,OAAO,GAAoC,EAAE,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,SAAS,EAAE,QAAQ,EAAE;IACnE,KAAK;IACL,OAAO;CACgB,CAAC;AAE1B,OAAO,CAAC,aAAa,CAAC,GAAG;IACvB;QACE,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,YAAY,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;QACjE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE;QAC7D,KAAK,EAAE;YACL,2BAA2B,EAAE,OAAO;YACpC,oEAAoE;YACpE,2BAA2B,EAAE,OAAO;YACpC,6BAA6B,EAAE,OAAO;YACtC,yBAAyB,EAAE,OAAO;YAClC,qBAAqB,EAAE,OAAO;YAC9B,0BAA0B,EAAE,OAAO;YACnC,iCAAiC,EAAE,OAAO;YAC1C,wBAAwB,EAAE,OAAO;YACjC,4BAA4B,EAAE,OAAO;SACtC;KACF;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/dist/hono/config.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { enable } from "../concept.js";
|
|
2
|
-
import { TESTS, TYPESCRIPT } from "../files.js";
|
|
2
|
+
import { TESTS, TEST_SUPPORT, TYPESCRIPT } from "../files.js";
|
|
3
3
|
import noUntypedEmptyJson from "./no-untyped-empty-json.js";
|
|
4
4
|
const rules = { 'no-untyped-empty-json': noUntypedEmptyJson };
|
|
5
5
|
export const hono = {
|
|
@@ -9,7 +9,7 @@ export const hono = {
|
|
|
9
9
|
{
|
|
10
10
|
name: 'zukhruf/hono',
|
|
11
11
|
files: TYPESCRIPT,
|
|
12
|
-
ignores: TESTS,
|
|
12
|
+
ignores: [...TESTS, ...TEST_SUPPORT],
|
|
13
13
|
plugins,
|
|
14
14
|
rules: enable(rules),
|
|
15
15
|
},
|
package/dist/hono/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/hono/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/hono/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAE5D,MAAM,KAAK,GAAG,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,CAAC;AAE9D,MAAM,CAAC,MAAM,IAAI,GAAY;IAC3B,IAAI,EAAE,MAAM;IACZ,KAAK;IACL,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;QACnB;YACE,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,YAAY,CAAC;YACpC,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;SACrB;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A `.test.`/`.spec.` file is a test entry point: `node --test` runs each one
|
|
3
|
+
* it finds, so a module that imports one runs its tests again, and a test file
|
|
4
|
+
* that exports helpers mixes two jobs. Code that tests share lives in a file
|
|
5
|
+
* without the suffix, for example in `src/testing`.
|
|
6
|
+
*/
|
|
7
|
+
declare const _default: import("eslint").Rule.RuleModule;
|
|
8
|
+
export default _default;
|
|
9
|
+
//# sourceMappingURL=no-test-file-import.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-test-file-import.d.ts","sourceRoot":"","sources":["../../src/imports/no-test-file-import.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;;AACH,wBAWG"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { selectorRule } from "../authoring/selector-rule.js";
|
|
2
|
+
import { TEST_EXTENSIONS } from "../files.js";
|
|
3
|
+
const TEST_FILE = `/\\.(test|spec)\\.(${TEST_EXTENSIONS.join('|')})$/`;
|
|
4
|
+
/**
|
|
5
|
+
* A `.test.`/`.spec.` file is a test entry point: `node --test` runs each one
|
|
6
|
+
* it finds, so a module that imports one runs its tests again, and a test file
|
|
7
|
+
* that exports helpers mixes two jobs. Code that tests share lives in a file
|
|
8
|
+
* without the suffix, for example in `src/testing`.
|
|
9
|
+
*/
|
|
10
|
+
export default selectorRule({
|
|
11
|
+
description: 'Disallow an import of a .test. or .spec. file',
|
|
12
|
+
selectors: [
|
|
13
|
+
`ImportDeclaration[source.value=${TEST_FILE}]`,
|
|
14
|
+
`ExportNamedDeclaration[source.value=${TEST_FILE}]`,
|
|
15
|
+
`ExportAllDeclaration[source.value=${TEST_FILE}]`,
|
|
16
|
+
`ImportExpression[source.value=${TEST_FILE}]`,
|
|
17
|
+
`CallExpression[callee.name="require"] > Literal.arguments[value=${TEST_FILE}]`,
|
|
18
|
+
],
|
|
19
|
+
message: 'A .test./.spec. file is a test entry point: node --test runs it. Move the shared code to a file without the suffix.',
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=no-test-file-import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-test-file-import.js","sourceRoot":"","sources":["../../src/imports/no-test-file-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,SAAS,GAAG,sBAAsB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;AAEvE;;;;;GAKG;AACH,eAAe,YAAY,CAAC;IAC1B,WAAW,EAAE,+CAA+C;IAC5D,SAAS,EAAE;QACT,kCAAkC,SAAS,GAAG;QAC9C,uCAAuC,SAAS,GAAG;QACnD,qCAAqC,SAAS,GAAG;QACjD,iCAAiC,SAAS,GAAG;QAC7C,mEAAmE,SAAS,GAAG;KAChF;IACD,OAAO,EACL,qHAAqH;CACxH,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { default } from './plugin.ts';
|
|
2
|
-
export { noFloatingPromises, type NoFloatingPromisesOptions, noLet, type NoLetOptions, type
|
|
2
|
+
export { noFloatingPromises, type NoFloatingPromisesOptions, noLet, type NoLetOptions, type TypeOrValueSpecifier, } from './base/options.ts';
|
|
3
|
+
export { reactRouterOnlyThrowError, type ReactRouterOnlyThrowErrorOptions, } from './react-router/options.ts';
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,EACL,KAAK,YAAY,EACjB,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,EACL,KAAK,YAAY,EACjB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,yBAAyB,EACzB,KAAK,gCAAgC,GACtC,MAAM,2BAA2B,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EACL,kBAAkB,EAElB,KAAK,GAGN,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EACL,kBAAkB,EAElB,KAAK,GAGN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,yBAAyB,GAE1B,MAAM,2BAA2B,CAAC"}
|