eslint-plugin-esm 0.8.4 → 0.9.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.
@@ -12,15 +12,15 @@ function check(filename, source) {
12
12
  const srcPath = /^.*?\/src\//.exec(filename)?.[0];
13
13
  if (srcPath) {
14
14
  const sourcePath = path.resolve(path.dirname(filename), source);
15
- // TODO: Disallow importing the nearest package.json when [module.findPackageJSON](https://nodejs.org/api/module.html#modulefindpackagejsonspecifier-base) is stable and we drop Node.js <= 20.
16
- if (sourcePath === path.join(path.dirname(srcPath), "package.json")) {
17
- // Allow importing the nearest package.json
18
- return false;
19
- }
15
+ // Disallow importing the nearest package.json. Use [module.findPackageJSON](https://nodejs.org/api/module.html#modulefindpackagejsonspecifier-base) or [package-up](https://github.com/sindresorhus/package-up) instead.
16
+ // if (sourcePath === path.join(path.dirname(srcPath), "package.json")) {
17
+ // // Allow importing the nearest package.json
18
+ // return false;
19
+ // }
20
20
  if (!sourcePath.startsWith(srcPath)) {
21
21
  return true;
22
22
  }
23
23
  }
24
24
  return false;
25
25
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZXh0ZXJuYWwtc3JjLWltcG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvbm8tZXh0ZXJuYWwtc3JjLWltcG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsVUFBVSxDQUFDO0lBQzdDLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEMsT0FBTyxFQUFFLG9EQUFvRDtJQUM3RCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO0NBQzVDLENBQUMsQ0FBQztBQUVILFNBQVMsS0FBSyxDQUFDLFFBQWdCLEVBQUUsTUFBYztJQUM3QyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUN0QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNaLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoRSwrTEFBK0w7UUFDL0wsSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDcEUsMkNBQTJDO1lBQzNDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGNyZWF0ZSwgY3JlYXRlUnVsZSwgZ2V0UnVsZU5hbWUsIGdldFNvdXJjZVR5cGUgfSBmcm9tIFwiLi4vY29tbW9uLnRzXCI7XG5cbmV4cG9ydCBjb25zdCBub0V4dGVybmFsU3JjSW1wb3J0cyA9IGNyZWF0ZVJ1bGUoe1xuICBuYW1lOiBnZXRSdWxlTmFtZShpbXBvcnQubWV0YS51cmwpLFxuICBtZXNzYWdlOiBcIkRpc2FsbG93IGltcG9ydGluZyBmcm9tIG91dHNpZGUgdGhlIHNyYyBkaXJlY3RvcnkuXCIsXG4gIGNyZWF0ZTogKGNvbnRleHQpID0+IGNyZWF0ZShjb250ZXh0LCBjaGVjayksXG59KTtcblxuZnVuY3Rpb24gY2hlY2soZmlsZW5hbWU6IHN0cmluZywgc291cmNlOiBzdHJpbmcpIHtcbiAgaWYgKGdldFNvdXJjZVR5cGUoc291cmNlKSAhPT0gXCJsb2NhbFwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IHNyY1BhdGggPSAvXi4qP1xcL3NyY1xcLy8uZXhlYyhmaWxlbmFtZSk/LlswXTtcbiAgaWYgKHNyY1BhdGgpIHtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gcGF0aC5yZXNvbHZlKHBhdGguZGlybmFtZShmaWxlbmFtZSksIHNvdXJjZSk7XG4gICAgLy8gVE9ETzogRGlzYWxsb3cgaW1wb3J0aW5nIHRoZSBuZWFyZXN0IHBhY2thZ2UuanNvbiB3aGVuIFttb2R1bGUuZmluZFBhY2thZ2VKU09OXShodHRwczovL25vZGVqcy5vcmcvYXBpL21vZHVsZS5odG1sI21vZHVsZWZpbmRwYWNrYWdlanNvbnNwZWNpZmllci1iYXNlKSBpcyBzdGFibGUgYW5kIHdlIGRyb3AgTm9kZS5qcyA8PSAyMC5cbiAgICBpZiAoc291cmNlUGF0aCA9PT0gcGF0aC5qb2luKHBhdGguZGlybmFtZShzcmNQYXRoKSwgXCJwYWNrYWdlLmpzb25cIikpIHtcbiAgICAgIC8vIEFsbG93IGltcG9ydGluZyB0aGUgbmVhcmVzdCBwYWNrYWdlLmpzb25cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCFzb3VyY2VQYXRoLnN0YXJ0c1dpdGgoc3JjUGF0aCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tZXh0ZXJuYWwtc3JjLWltcG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvbm8tZXh0ZXJuYWwtc3JjLWltcG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsVUFBVSxDQUFDO0lBQzdDLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEMsT0FBTyxFQUFFLG9EQUFvRDtJQUM3RCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO0NBQzVDLENBQUMsQ0FBQztBQUVILFNBQVMsS0FBSyxDQUFDLFFBQWdCLEVBQUUsTUFBYztJQUM3QyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUN0QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEQsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNaLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoRSx5TkFBeU47UUFDek4seUVBQXlFO1FBQ3pFLGdEQUFnRDtRQUNoRCxrQkFBa0I7UUFDbEIsSUFBSTtRQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGNyZWF0ZSwgY3JlYXRlUnVsZSwgZ2V0UnVsZU5hbWUsIGdldFNvdXJjZVR5cGUgfSBmcm9tIFwiLi4vY29tbW9uLnRzXCI7XG5cbmV4cG9ydCBjb25zdCBub0V4dGVybmFsU3JjSW1wb3J0cyA9IGNyZWF0ZVJ1bGUoe1xuICBuYW1lOiBnZXRSdWxlTmFtZShpbXBvcnQubWV0YS51cmwpLFxuICBtZXNzYWdlOiBcIkRpc2FsbG93IGltcG9ydGluZyBmcm9tIG91dHNpZGUgdGhlIHNyYyBkaXJlY3RvcnkuXCIsXG4gIGNyZWF0ZTogKGNvbnRleHQpID0+IGNyZWF0ZShjb250ZXh0LCBjaGVjayksXG59KTtcblxuZnVuY3Rpb24gY2hlY2soZmlsZW5hbWU6IHN0cmluZywgc291cmNlOiBzdHJpbmcpIHtcbiAgaWYgKGdldFNvdXJjZVR5cGUoc291cmNlKSAhPT0gXCJsb2NhbFwiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IHNyY1BhdGggPSAvXi4qP1xcL3NyY1xcLy8uZXhlYyhmaWxlbmFtZSk/LlswXTtcbiAgaWYgKHNyY1BhdGgpIHtcbiAgICBjb25zdCBzb3VyY2VQYXRoID0gcGF0aC5yZXNvbHZlKHBhdGguZGlybmFtZShmaWxlbmFtZSksIHNvdXJjZSk7XG4gICAgLy8gRGlzYWxsb3cgaW1wb3J0aW5nIHRoZSBuZWFyZXN0IHBhY2thZ2UuanNvbi4gVXNlIFttb2R1bGUuZmluZFBhY2thZ2VKU09OXShodHRwczovL25vZGVqcy5vcmcvYXBpL21vZHVsZS5odG1sI21vZHVsZWZpbmRwYWNrYWdlanNvbnNwZWNpZmllci1iYXNlKSBvciBbcGFja2FnZS11cF0oaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9wYWNrYWdlLXVwKSBpbnN0ZWFkLlxuICAgIC8vIGlmIChzb3VyY2VQYXRoID09PSBwYXRoLmpvaW4ocGF0aC5kaXJuYW1lKHNyY1BhdGgpLCBcInBhY2thZ2UuanNvblwiKSkge1xuICAgIC8vICAgLy8gQWxsb3cgaW1wb3J0aW5nIHRoZSBuZWFyZXN0IHBhY2thZ2UuanNvblxuICAgIC8vICAgcmV0dXJuIGZhbHNlO1xuICAgIC8vIH1cbiAgICBpZiAoIXNvdXJjZVBhdGguc3RhcnRzV2l0aChzcmNQYXRoKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"no-phantom-dep-imports.d.ts","sourceRoot":"","sources":["../../src/rules/no-phantom-dep-imports.ts"],"names":[],"mappings":"AA4CA,eAAO,MAAM,mBAAmB;;;CA+E9B,CAAC"}
1
+ {"version":3,"file":"no-phantom-dep-imports.d.ts","sourceRoot":"","sources":["../../src/rules/no-phantom-dep-imports.ts"],"names":[],"mappings":"AA4CA,eAAO,MAAM,mBAAmB;;;CAqF9B,CAAC"}
@@ -81,7 +81,10 @@ export const noPhantomDepImports = createRule({
81
81
  // TODO: Optimize the error message which is reported on `import foo from 'node:foo'`
82
82
  // 1. check `import foo from 'node:foo'`
83
83
  if (source.startsWith("node:")) {
84
- return !("@types/node" in devDep || "@types/node" in dep);
84
+ return !("@types/node" in devDep ||
85
+ "@types/node" in dep ||
86
+ "electron" in devDep ||
87
+ "electron" in dep);
85
88
  }
86
89
  // 2. check `import foo from 'foo'`
87
90
  const moduleName = source
@@ -100,8 +103,9 @@ export const noPhantomDepImports = createRule({
100
103
  typeDepName in devDep);
101
104
  }
102
105
  else {
103
- return allowDevDependencies ? !(isInDep || isInDev) : !isInDep;
106
+ const allowDev = source === "electron" ? true : allowDevDependencies;
107
+ return allowDev ? !(isInDep || isInDev) : !isInDep;
104
108
  }
105
109
  }),
106
110
  });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tcGhhbnRvbS1kZXAtaW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1waGFudG9tLWRlcC1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QixPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUUsU0FBUyxRQUFRLENBQUMsS0FBYztJQUM5QixPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO0FBQ3JELENBQUM7QUFFRCxTQUFTLE1BQU0sQ0FBQyxRQUFnQjtJQUM5QixJQUFJLENBQUM7UUFDSCxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBeUQsQ0FBQyxDQUFDLG9DQUFvQztBQUNwSCxTQUFTLFVBQVUsQ0FDakIsR0FBVztJQUVYLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ25CLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDbkQsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUN4QixNQUFNLE9BQU8sR0FBWSxJQUFJLENBQUMsS0FBSyxDQUFD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QyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0NBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgcHJvY2VzcyBmcm9tIFwibm9kZTpwcm9jZXNzXCI7XG5pbXBvcnQgeyBjcmVhdGUsIGNyZWF0ZVJ1bGUsIGdldFJ1bGVOYW1lLCBnZXRTb3VyY2VUeXBlIH0gZnJvbSBcIi4uL2NvbW1vbi50c1wiO1xuXG5mdW5jdGlvbiBpc09iamVjdCh2YWx1ZTogdW5rbm93bikge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiO1xufVxuXG5mdW5jdGlvbiBpc0ZpbGUoZmlsZVBhdGg6IHN0cmluZykge1xuICB0cnkge1xuICAgIHJldHVybiBmcy5zdGF0U3luYyhmaWxlUGF0aCkuaXNGaWxlKCk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5jb25zdCBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCB7IHBhdGg6IHN0cmluZzsgY29udGVudDogb2JqZWN0IH0gfCB1bmRlZmluZWQ+KCk7IC8vIGtleSBpcyBkaXIsIHZhbHVlIGlzIHBhY2thZ2UuanNvblxuZnVuY3Rpb24gZ2V0UGtnSnNvbihcbiAgZGlyOiBzdHJpbmcsXG4pOiB7IHBhdGg6IHN0cmluZzsgY29udGVudDogb2JqZWN0IH0gfCB1bmRlZmluZWQge1xuICBpZiAoY2FjaGUuaGFzKGRpcikpIHtcbiAgICByZXR1cm4gY2FjaGUuZ2V0KGRpcik7XG4gIH1cbiAgY29uc3QgcGtnSnNvblBhdGggPSBwYXRoLmpvaW4oZGlyLCBcInBhY2thZ2UuanNvblwiKTtcbiAgaWYgKGlzRmlsZShwa2dKc29uUGF0aCkpIHtcbiAgICBjb25zdCBjb250ZW50OiB1bmtub3duID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGtnSnNvblBhdGgsIFwidXRmOFwiKSk7XG4gICAgY29uc3QgcmVzdWx0ID0gaXNPYmplY3QoY29udGVudClcbiAgICAgID8geyBwYXRoOiBwa2dKc29uUGF0aCwgY29udGVudCB9XG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICBjYWNoZS5zZXQoZGlyLCByZXN1bHQpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvLyBpZiBpdCBpcyBhIGRpcmVjdG9yeVxuICBpZiAoZGlyID09PSBwcm9jZXNzLmN3ZCgpIHx8IGRpciA9PT0gXCIvXCIpIHtcbiAgICAvLyBzdG9wIGhlcmVcbiAgICBjYWNoZS5zZXQoZGlyLCB1bmRlZmluZWQpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4gZ2V0UGtnSnNvbihwYXRoLmpvaW4oZGlyLCBcIi4uXCIpKTtcbn1cblxuZXhwb3J0IGNvbnN0IG5vUGhhbnRvbURlcEltcG9ydHMgPSBjcmVhdGVSdWxlKHtcbiAgbmFtZTogZ2V0UnVsZU5hbWUoaW1wb3J0Lm1ldGEudXJsKSxcbiAgbWVzc2FnZTpcbiAgICBcIkRpc2FsbG93IGltcG9ydGluZyBmcm9tIGEgbW9kdWxlIHdoaWNoIHRoZSBuZWFyZXN0IGBwYWNrYWdlLmpzb25gIGRvZXNuJ3QgaW5jbHVkZSBpdC5cIixcbiAgc2NoZW1hOiBbXG4gICAge1xuICAgICAgdHlwZTogXCJvYmplY3RcIixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgYWxsb3dEZXZEZXBlbmRlbmNpZXM6IHsgdHlwZTogXCJib29sZWFuXCIgfSxcbiAgICAgIH0sXG4gICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgfSxcbiAgXSxcbiAgY3JlYXRlOiAoY29udGV4dCkgPT5cbiAgICBjcmVhdGUoY29udGV4dCwgKGZpbGVuYW1lLCBzb3VyY2UsIG5vZGUpID0+IHtcbiAgICAgIGNvbnN0IG9wdGlvbiA9IGNvbnRleHQub3B0aW9uc1swXTtcbiAgICAgIC8vIGRlZmF1bHQgZmFsc2VcbiAgICAgIGNvbnN0IGFsbG93RGV2RGVwZW5kZW5jaWVzOiBib29sZWFuID1cbiAgICAgICAgKHR5cGVvZiBvcHRpb24gPT09IFwib2JqZWN0XCIgJiZcbiAgICAgICAgICBvcHRpb24gJiZcbiAgICAgICAgICBcImFsbG93RGV2RGVwZW5kZW5jaWVzXCIgaW4gb3B0aW9uICYmXG4gICAgICAgICAgdHlwZW9mIG9wdGlvbi5hbGxvd0RldkRlcGVuZGVuY2llcyA9PT0gXCJib29sZWFuXCIgJiZcbiAgICAgICAgICBvcHRpb24uYWxsb3dEZXZEZXBlbmRlbmNpZXMpID8/XG4gICAgICAgIGZhbHNlO1xuXG4gICAgICAvLyBpZ25vcmUgYGltcG9ydCB7Zm9vfSBmcm9tICcuLydgXG4gICAgICAvLyBjaGVjayBgaW1wb3J0IHtmb299IGZyb20gJ25vZGU6Zm9vJ2AgYW5kIGBpbXBvcnQge2Zvb30gZnJvbSAnZm9vJ2BcbiAgICAgIGlmIChnZXRTb3VyY2VUeXBlKHNvdXJjZSkgPT09IFwibG9jYWxcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBjb25zdCBwa2dKc29uID0gZ2V0UGtnSnNvbihwYXRoLmRpcm5hbWUoZmlsZW5hbWUpKTtcbiAgICAgIC8vIGNhbm5vdCBmaW5kIHBhY2thZ2UuanNvbiBmaWxlXG4gICAgICBpZiAoIXBrZ0pzb24pIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBjb25zdCBkZXAgPVxuICAgICAgICBcImRlcGVuZGVuY2llc1wiIGluIHBrZ0pzb24uY29udGVudCAmJlxuICAgICAgICBpc09iamVjdChwa2dKc29uLmNvbnRlbnQuZGVwZW5kZW5jaWVzKVxuICAgICAgICAgID8gcGtnSnNvbi5jb250ZW50LmRlcGVuZGVuY2llc1xuICAgICAgICAgIDoge307XG4gICAgICBjb25zdCBwZWVyRGVwID1cbiAgICAgICAgXCJwZWVyRGVwZW5kZW5jaWVzXCIgaW4gcGtnSnNvbi5jb250ZW50ICYmXG4gICAgICAgIGlzT2JqZWN0KHBrZ0pzb24uY29udGVudC5wZWVyRGVwZW5kZW5jaWVzKVxuICAgICAgICAgID8gcGtnSnNvbi5jb250ZW50LnBlZXJEZXBlbmRlbmNpZXNcbiAgICAgICAgICA6IHt9O1xuICAgICAgY29uc3QgZGV2RGVwID1cbiAgICAgICAgXCJkZXZEZXBlbmRlbmNpZXNcIiBpbiBwa2dKc29uLmNvbnRlbnQgJiZcbiAgICAgICAgaXNPYmplY3QocGtnSnNvbi5jb250ZW50LmRldkRlcGVuZGVuY2llcylcbiAgICAgICAgICA/IHBrZ0pzb24uY29udGVudC5kZXZEZXBlbmRlbmNpZXNcbiAgICAgICAgICA6IHt9O1xuXG4gICAgICAvLyBUT0RPOiBPcHRpbWl6ZSB0aGUgZXJyb3IgbWVzc2FnZSB3aGljaCBpcyByZXBvcnRlZCBvbiBgaW1wb3J0IGZvbyBmcm9tICdub2RlOmZvbydgXG4gICAgICAvLyAxLiBjaGVjayBgaW1wb3J0IGZvbyBmcm9tICdub2RlOmZvbydgXG4gICAgICBpZiAoc291cmNlLnN0YXJ0c1dpdGgoXCJub2RlOlwiKSkge1xuICAgICAgICByZXR1cm4gIShcIkB0eXBlcy9ub2RlXCIgaW4gZGV2RGVwIHx8IFwiQHR5cGVzL25vZGVcIiBpbiBkZXApO1xuICAgICAgfVxuXG4gICAgICAvLyAyLiBjaGVjayBgaW1wb3J0IGZvbyBmcm9tICdmb28nYFxuICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IHNvdXJjZVxuICAgICAgICAuc3BsaXQoXCIvXCIpXG4gICAgICAgIC5zbGljZSgwLCBzb3VyY2Uuc3RhcnRzV2l0aChcIkBcIikgPyAyIDogMSlcbiAgICAgICAgLmpvaW4oXCIvXCIpO1xuXG4gICAgICBjb25zdCBpc0luRGVwID0gbW9kdWxlTmFtZSBpbiBkZXAgfHwgbW9kdWxlTmFtZSBpbiBwZWVyRGVwO1xuICAgICAgY29uc3QgaXNJbkRldiA9IG1vZHVsZU5hbWUgaW4gZGV2RGVwO1xuICAgICAgaWYgKFwiaW1wb3J0S2luZFwiIGluIG5vZGUgJiYgbm9kZS5pbXBvcnRLaW5kID09PSBcInR5cGVcIikge1xuICAgICAgICBjb25zdCB0eXBlRGVwTmFtZSA9IG1vZHVsZU5hbWUuc3RhcnRzV2l0aChcIkBcIilcbiAgICAgICAgICA/IGBAdHlwZXMvJHttb2R1bGVOYW1lLnNsaWNlKDEpLnJlcGxhY2UoXCIvXCIsIFwiX19cIil9YFxuICAgICAgICAgIDogYEB0eXBlcy8ke21vZHVsZU5hbWV9YDtcbiAgICAgICAgcmV0dXJuICEoXG4gICAgICAgICAgaXNJbkRlcCB8fFxuICAgICAgICAgIGlzSW5EZXYgfHxcbiAgICAgICAgICB0eXBlRGVwTmFtZSBpbiBkZXAgfHxcbiAgICAgICAgICB0eXBlRGVwTmFtZSBpbiBkZXZEZXBcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBhbGxvd0RldkRlcGVuZGVuY2llcyA/ICEoaXNJbkRlcCB8fCBpc0luRGV2KSA6ICFpc0luRGVwO1xuICAgICAgfVxuICAgIH0pLFxufSk7XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tcGhhbnRvbS1kZXAtaW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1waGFudG9tLWRlcC1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QixPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUUsU0FBUyxRQUFRLENBQUMsS0FBYztJQUM5QixPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO0FBQ3JELENBQUM7QUFFRCxTQUFTLE1BQU0sQ0FBQyxRQUFnQjtJQUM5QixJQUFJLENBQUM7UUFDSCxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBeUQsQ0FBQyxDQUFDLG9DQUFvQztBQUNwSCxTQUFTLFVBQVUsQ0FDakIsR0FBVztJQUVYLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ25CLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDbkQsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUN4QixNQUFNLE9BQU8sR0FBWSxJQUFJLENBQUMsS0FBSyxDQUFD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LEdBQUcsTUFBTSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQztZQUNyRSxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDckQsQ0FBQztJQUNILENBQUMsQ0FBQztDQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHByb2Nlc3MgZnJvbSBcIm5vZGU6cHJvY2Vzc1wiO1xuaW1wb3J0IHsgY3JlYXRlLCBjcmVhdGVSdWxlLCBnZXRSdWxlTmFtZSwgZ2V0U291cmNlVHlwZSB9IGZyb20gXCIuLi9jb21tb24udHNcIjtcblxuZnVuY3Rpb24gaXNPYmplY3QodmFsdWU6IHVua25vd24pIHtcbiAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIjtcbn1cblxuZnVuY3Rpb24gaXNGaWxlKGZpbGVQYXRoOiBzdHJpbmcpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZnMuc3RhdFN5bmMoZmlsZVBhdGgpLmlzRmlsZSgpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuY29uc3QgY2FjaGUgPSBuZXcgTWFwPHN0cmluZywgeyBwYXRoOiBzdHJpbmc7IGNvbnRlbnQ6IG9iamVjdCB9IHwgdW5kZWZpbmVkPigpOyAvLyBrZXkgaXMgZGlyLCB2YWx1ZSBpcyBwYWNrYWdlLmpzb25cbmZ1bmN0aW9uIGdldFBrZ0pzb24oXG4gIGRpcjogc3RyaW5nLFxuKTogeyBwYXRoOiBzdHJpbmc7IGNvbnRlbnQ6IG9iamVjdCB9IHwgdW5kZWZpbmVkIHtcbiAgaWYgKGNhY2hlLmhhcyhkaXIpKSB7XG4gICAgcmV0dXJuIGNhY2hlLmdldChkaXIpO1xuICB9XG4gIGNvbnN0IHBrZ0pzb25QYXRoID0gcGF0aC5qb2luKGRpciwgXCJwYWNrYWdlLmpzb25cIik7XG4gIGlmIChpc0ZpbGUocGtnSnNvblBhdGgpKSB7XG4gICAgY29uc3QgY29udGVudDogdW5rbm93biA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBrZ0pzb25QYXRoLCBcInV0ZjhcIikpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGlzT2JqZWN0KGNvbnRlbnQpXG4gICAgICA/IHsgcGF0aDogcGtnSnNvblBhdGgsIGNvbnRlbnQgfVxuICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY2FjaGUuc2V0KGRpciwgcmVzdWx0KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLy8gaWYgaXQgaXMgYSBkaXJlY3RvcnlcbiAgaWYgKGRpciA9PT0gcHJvY2Vzcy5jd2QoKSB8fCBkaXIgPT09IFwiL1wiKSB7XG4gICAgLy8gc3RvcCBoZXJlXG4gICAgY2FjaGUuc2V0KGRpciwgdW5kZWZpbmVkKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIGdldFBrZ0pzb24ocGF0aC5qb2luKGRpciwgXCIuLlwiKSk7XG59XG5cbmV4cG9ydCBjb25zdCBub1BoYW50b21EZXBJbXBvcnRzID0gY3JlYXRlUnVsZSh7XG4gIG5hbWU6IGdldFJ1bGVOYW1lKGltcG9ydC5tZXRhLnVybCksXG4gIG1lc3NhZ2U6XG4gICAgXCJEaXNhbGxvdyBpbXBvcnRpbmcgZnJvbSBhIG1vZHVsZSB3aGljaCB0aGUgbmVhcmVzdCBgcGFja2FnZS5qc29uYCBkb2Vzbid0IGluY2x1ZGUgaXQuXCIsXG4gIHNjaGVtYTogW1xuICAgIHtcbiAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIGFsbG93RGV2RGVwZW5kZW5jaWVzOiB7IHR5cGU6IFwiYm9vbGVhblwiIH0sXG4gICAgICB9LFxuICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG4gIGNyZWF0ZTogKGNvbnRleHQpID0+XG4gICAgY3JlYXRlKGNvbnRleHQsIChmaWxlbmFtZSwgc291cmNlLCBub2RlKSA9PiB7XG4gICAgICBjb25zdCBvcHRpb24gPSBjb250ZXh0Lm9wdGlvbnNbMF07XG4gICAgICAvLyBkZWZhdWx0IGZhbHNlXG4gICAgICBjb25zdCBhbGxvd0RldkRlcGVuZGVuY2llczogYm9vbGVhbiA9XG4gICAgICAgICh0eXBlb2Ygb3B0aW9uID09PSBcIm9iamVjdFwiICYmXG4gICAgICAgICAgb3B0aW9uICYmXG4gICAgICAgICAgXCJhbGxvd0RldkRlcGVuZGVuY2llc1wiIGluIG9wdGlvbiAmJlxuICAgICAgICAgIHR5cGVvZiBvcHRpb24uYWxsb3dEZXZEZXBlbmRlbmNpZXMgPT09IFwiYm9vbGVhblwiICYmXG4gICAgICAgICAgb3B0aW9uLmFsbG93RGV2RGVwZW5kZW5jaWVzKSA/P1xuICAgICAgICBmYWxzZTtcblxuICAgICAgLy8gaWdub3JlIGBpbXBvcnQge2Zvb30gZnJvbSAnLi8nYFxuICAgICAgLy8gY2hlY2sgYGltcG9ydCB7Zm9vfSBmcm9tICdub2RlOmZvbydgIGFuZCBgaW1wb3J0IHtmb299IGZyb20gJ2ZvbydgXG4gICAgICBpZiAoZ2V0U291cmNlVHlwZShzb3VyY2UpID09PSBcImxvY2FsXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgY29uc3QgcGtnSnNvbiA9IGdldFBrZ0pzb24ocGF0aC5kaXJuYW1lKGZpbGVuYW1lKSk7XG4gICAgICAvLyBjYW5ub3QgZmluZCBwYWNrYWdlLmpzb24gZmlsZVxuICAgICAgaWYgKCFwa2dKc29uKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgZGVwID1cbiAgICAgICAgXCJkZXBlbmRlbmNpZXNcIiBpbiBwa2dKc29uLmNvbnRlbnQgJiZcbiAgICAgICAgaXNPYmplY3QocGtnSnNvbi5jb250ZW50LmRlcGVuZGVuY2llcylcbiAgICAgICAgICA/IHBrZ0pzb24uY29udGVudC5kZXBlbmRlbmNpZXNcbiAgICAgICAgICA6IHt9O1xuICAgICAgY29uc3QgcGVlckRlcCA9XG4gICAgICAgIFwicGVlckRlcGVuZGVuY2llc1wiIGluIHBrZ0pzb24uY29udGVudCAmJlxuICAgICAgICBpc09iamVjdChwa2dKc29uLmNvbnRlbnQucGVlckRlcGVuZGVuY2llcylcbiAgICAgICAgICA/IHBrZ0pzb24uY29udGVudC5wZWVyRGVwZW5kZW5jaWVzXG4gICAgICAgICAgOiB7fTtcbiAgICAgIGNvbnN0IGRldkRlcCA9XG4gICAgICAgIFwiZGV2RGVwZW5kZW5jaWVzXCIgaW4gcGtnSnNvbi5jb250ZW50ICYmXG4gICAgICAgIGlzT2JqZWN0KHBrZ0pzb24uY29udGVudC5kZXZEZXBlbmRlbmNpZXMpXG4gICAgICAgICAgPyBwa2dKc29uLmNvbnRlbnQuZGV2RGVwZW5kZW5jaWVzXG4gICAgICAgICAgOiB7fTtcblxuICAgICAgLy8gVE9ETzogT3B0aW1pemUgdGhlIGVycm9yIG1lc3NhZ2Ugd2hpY2ggaXMgcmVwb3J0ZWQgb24gYGltcG9ydCBmb28gZnJvbSAnbm9kZTpmb28nYFxuICAgICAgLy8gMS4gY2hlY2sgYGltcG9ydCBmb28gZnJvbSAnbm9kZTpmb28nYFxuICAgICAgaWYgKHNvdXJjZS5zdGFydHNXaXRoKFwibm9kZTpcIikpIHtcbiAgICAgICAgcmV0dXJuICEoXG4gICAgICAgICAgXCJAdHlwZXMvbm9kZVwiIGluIGRldkRlcCB8fFxuICAgICAgICAgIFwiQHR5cGVzL25vZGVcIiBpbiBkZXAgfHxcbiAgICAgICAgICBcImVsZWN0cm9uXCIgaW4gZGV2RGVwIHx8XG4gICAgICAgICAgXCJlbGVjdHJvblwiIGluIGRlcFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyAyLiBjaGVjayBgaW1wb3J0IGZvbyBmcm9tICdmb28nYFxuICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IHNvdXJjZVxuICAgICAgICAuc3BsaXQoXCIvXCIpXG4gICAgICAgIC5zbGljZSgwLCBzb3VyY2Uuc3RhcnRzV2l0aChcIkBcIikgPyAyIDogMSlcbiAgICAgICAgLmpvaW4oXCIvXCIpO1xuXG4gICAgICBjb25zdCBpc0luRGVwID0gbW9kdWxlTmFtZSBpbiBkZXAgfHwgbW9kdWxlTmFtZSBpbiBwZWVyRGVwO1xuICAgICAgY29uc3QgaXNJbkRldiA9IG1vZHVsZU5hbWUgaW4gZGV2RGVwO1xuICAgICAgaWYgKFwiaW1wb3J0S2luZFwiIGluIG5vZGUgJiYgbm9kZS5pbXBvcnRLaW5kID09PSBcInR5cGVcIikge1xuICAgICAgICBjb25zdCB0eXBlRGVwTmFtZSA9IG1vZHVsZU5hbWUuc3RhcnRzV2l0aChcIkBcIilcbiAgICAgICAgICA/IGBAdHlwZXMvJHttb2R1bGVOYW1lLnNsaWNlKDEpLnJlcGxhY2UoXCIvXCIsIFwiX19cIil9YFxuICAgICAgICAgIDogYEB0eXBlcy8ke21vZHVsZU5hbWV9YDtcbiAgICAgICAgcmV0dXJuICEoXG4gICAgICAgICAgaXNJbkRlcCB8fFxuICAgICAgICAgIGlzSW5EZXYgfHxcbiAgICAgICAgICB0eXBlRGVwTmFtZSBpbiBkZXAgfHxcbiAgICAgICAgICB0eXBlRGVwTmFtZSBpbiBkZXZEZXBcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGFsbG93RGV2ID0gc291cmNlID09PSBcImVsZWN0cm9uXCIgPyB0cnVlIDogYWxsb3dEZXZEZXBlbmRlbmNpZXM7XG4gICAgICAgIHJldHVybiBhbGxvd0RldiA/ICEoaXNJbkRlcCB8fCBpc0luRGV2KSA6ICFpc0luRGVwO1xuICAgICAgfVxuICAgIH0pLFxufSk7XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-esm",
3
- "version": "0.8.4",
3
+ "version": "0.9.0",
4
4
  "description": "ESLint plugin for linting ESM (import/export syntax)",
5
5
  "keywords": [
6
6
  "eslint",
@@ -28,7 +28,7 @@
28
28
  "dist"
29
29
  ],
30
30
  "devDependencies": {
31
- "@types/node": "18.19.112",
31
+ "@types/node": "18.19.123",
32
32
  "eslint": "9.22.0",
33
33
  "@fenge/dev-utils": "0.0.0"
34
34
  },
@@ -36,7 +36,7 @@
36
36
  "node": "^18.20.0 || >=20.10.0"
37
37
  },
38
38
  "scripts": {
39
- "build": "tsc",
40
- "test": "node --test --experimental-strip-types"
39
+ "build": "tscx --include src --exclude '**/*.test.ts'",
40
+ "test": "tsc --noEmit && node --test"
41
41
  }
42
42
  }