eslint-plugin-esm 0.2.2-beta.1 → 0.2.2

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/CHANGELOG.md CHANGED
@@ -1,15 +1,10 @@
1
1
  # eslint-plugin-esm
2
2
 
3
- ## 0.2.2-beta.1
4
-
5
- ### Patch Changes
6
-
7
- - 0d0f18c: chore: refresh pkg, no changes
8
-
9
- ## 0.2.2-beta.0
3
+ ## 0.2.2
10
4
 
11
5
  ### Patch Changes
12
6
 
7
+ - 905e445: chore: update deps
13
8
  - 0c4462d: fix(eslint-plugin-esm): fix incorrect report on `import type {} from "@foo/bar"`
14
9
 
15
10
  ## 0.2.1
@@ -1 +1 @@
1
- {"version":3,"file":"no-side-effect-imports.d.ts","sourceRoot":"","sources":["../../src/rules/no-side-effect-imports.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,mBAAmB;;;CA0B9B,CAAC"}
1
+ {"version":3,"file":"no-side-effect-imports.d.ts","sourceRoot":"","sources":["../../src/rules/no-side-effect-imports.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,mBAAmB;;;CA4B9B,CAAC"}
@@ -22,7 +22,8 @@ export const noSideEffectImports = createRule({
22
22
  const ignoreExps = ignores.map((ignore) => new RegExp(ignore));
23
23
  return {
24
24
  "ImportDeclaration[specifiers.length=0]": (node) => {
25
- if (ignoreExps.some((exp) => exp.test(node.source.value?.toString() ?? ""))) {
25
+ if (ignoreExps.some((exp) => typeof node.source.value === "string" &&
26
+ exp.test(node.source.value))) {
26
27
  return;
27
28
  }
28
29
  context.report({ node, messageId: DEFAULT_MESSAGE_ID });
@@ -30,4 +31,4 @@ export const noSideEffectImports = createRule({
30
31
  };
31
32
  },
32
33
  });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tc2lkZS1lZmZlY3QtaW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1zaWRlLWVmZmVjdC1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNFLE1BQU0sT0FBTyxHQUFHO0lBQ2Qsb0JBQW9CO0lBQ3BCLHFFQUFxRTtJQUNyRSx1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsd0JBQXdCO0lBQ3hCLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIsdUJBQXVCO0NBQ3hCLENBQUM7QUFFRixzRkFBc0Y7QUFDdEYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDO0lBQzVDLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEMsT0FBTyxFQUNMLGdGQUFnRjtJQUNsRixNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNsQixJQUNFLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDbkQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQy9CLEVBQ0QsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDL0QsT0FBTztZQUNMLHdDQUF3QyxFQUFFLENBQUMsSUFBdUIsRUFBRSxFQUFFO2dCQUNwRSxJQUNFLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUN0QixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUM5QyxFQUNELENBQUM7b0JBQ0QsT0FBTztnQkFDVCxDQUFDO2dCQUNELE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztZQUMxRCxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEltcG9ydERlY2xhcmF0aW9uIH0gZnJvbSBcImVzdHJlZVwiO1xuaW1wb3J0IHsgY3JlYXRlUnVsZSwgREVGQVVMVF9NRVNTQUdFX0lELCBnZXRSdWxlTmFtZSB9IGZyb20gXCIuLi9jb21tb24uanNcIjtcblxuY29uc3QgaWdub3JlcyA9IFtcbiAgXCJecmVmbGVjdC1tZXRhZGF0YSRcIixcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3ZpdGVqcy92aXRlL2Jsb2IvbWFpbi9wYWNrYWdlcy92aXRlL2NsaWVudC5kLnRzXG4gIFwiKD88IVxcXFwubW9kdWxlKVxcXFwuY3NzJFwiLFxuICBcIig/PCFcXFxcLm1vZHVsZSlcXFxcLnNjc3MkXCIsXG4gIFwiKD88IVxcXFwubW9kdWxlKVxcXFwuc2FzcyRcIixcbiAgXCIoPzwhXFxcXC5tb2R1bGUpXFxcXC5sZXNzJFwiLFxuICBcIig/PCFcXFxcLm1vZHVsZSlcXFxcLnN0eWwkXCIsXG4gIFwiKD88IVxcXFwubW9kdWxlKVxcXFwuc3R5bHVzJFwiLFxuICBcIig/PCFcXFxcLm1vZHVsZSlcXFxcLnBjc3MkXCIsXG4gIFwiKD88IVxcXFwubW9kdWxlKVxcXFwuc3NzJFwiLFxuXTtcblxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvU3RhdGVtZW50cy9pbXBvcnRcbmV4cG9ydCBjb25zdCBub1NpZGVFZmZlY3RJbXBvcnRzID0gY3JlYXRlUnVsZSh7XG4gIG5hbWU6IGdldFJ1bGVOYW1lKGltcG9ydC5tZXRhLnVybCksXG4gIG1lc3NhZ2U6XG4gICAgXCJTaWRlIGVmZmVjdCBpbXBvcnQgaXMgb2Z0ZW4gdXNlZCBmb3IgcG9seWZpbGxzIGFuZCBjc3MuIEl0J3MgdW5zYWZlIHRvIHVzZSBpdC5cIixcbiAgY3JlYXRlOiAoY29udGV4dCkgPT4ge1xuICAgIGlmIChcbiAgICAgIFtcIi5kLnRzXCIsIFwiLmQuY3RzXCIsIFwiLmQubXRzXCIsIFwiLmQudHN4XCJdLnNvbWUoKGV4dCkgPT5cbiAgICAgICAgY29udGV4dC5maWxlbmFtZS5lbmRzV2l0aChleHQpLFxuICAgICAgKVxuICAgICkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCBpZ25vcmVFeHBzID0gaWdub3Jlcy5tYXAoKGlnbm9yZSkgPT4gbmV3IFJlZ0V4cChpZ25vcmUpKTtcbiAgICByZXR1cm4ge1xuICAgICAgXCJJbXBvcnREZWNsYXJhdGlvbltzcGVjaWZpZXJzLmxlbmd0aD0wXVwiOiAobm9kZTogSW1wb3J0RGVjbGFyYXRpb24pID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGlnbm9yZUV4cHMuc29tZSgoZXhwKSA9PlxuICAgICAgICAgICAgZXhwLnRlc3Qobm9kZS5zb3VyY2UudmFsdWU/LnRvU3RyaW5nKCkgPz8gXCJcIiksXG4gICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlLCBtZXNzYWdlSWQ6IERFRkFVTFRfTUVTU0FHRV9JRCB9KTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbn0pO1xuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tc2lkZS1lZmZlY3QtaW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby1zaWRlLWVmZmVjdC1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTNFLE1BQU0sT0FBTyxHQUFHO0lBQ2Qsb0JBQW9CO0lBQ3BCLHFFQUFxRTtJQUNyRSx1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsd0JBQXdCO0lBQ3hCLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIsdUJBQXVCO0NBQ3hCLENBQUM7QUFFRixzRkFBc0Y7QUFDdEYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDO0lBQzVDLElBQUksRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEMsT0FBTyxFQUNMLGdGQUFnRjtJQUNsRixNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNsQixJQUNFLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDbkQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQy9CLEVBQ0QsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDL0QsT0FBTztZQUNMLHdDQUF3QyxFQUFFLENBQUMsSUFBdUIsRUFBRSxFQUFFO2dCQUNwRSxJQUNFLFVBQVUsQ0FBQyxJQUFJLENBQ2IsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssUUFBUTtvQkFDckMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUM5QixFQUNELENBQUM7b0JBQ0QsT0FBTztnQkFDVCxDQUFDO2dCQUNELE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztZQUMxRCxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEltcG9ydERlY2xhcmF0aW9uIH0gZnJvbSBcImVzdHJlZVwiO1xuaW1wb3J0IHsgY3JlYXRlUnVsZSwgREVGQVVMVF9NRVNTQUdFX0lELCBnZXRSdWxlTmFtZSB9IGZyb20gXCIuLi9jb21tb24uanNcIjtcblxuY29uc3QgaWdub3JlcyA9IFtcbiAgXCJecmVmbGVjdC1tZXRhZGF0YSRcIixcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3ZpdGVqcy92aXRlL2Jsb2IvbWFpbi9wYWNrYWdlcy92aXRlL2NsaWVudC5kLnRzXG4gIFwiKD88IVxcXFwubW9kdWxlKVxcXFwuY3NzJFwiLFxuICBcIig/PCFcXFxcLm1vZHVsZSlcXFxcLnNjc3MkXCIsXG4gIFwiKD88IVxcXFwubW9kdWxlKVxcXFwuc2FzcyRcIixcbiAgXCIoPzwhXFxcXC5tb2R1bGUpXFxcXC5sZXNzJFwiLFxuICBcIig/PCFcXFxcLm1vZHVsZSlcXFxcLnN0eWwkXCIsXG4gIFwiKD88IVxcXFwubW9kdWxlKVxcXFwuc3R5bHVzJFwiLFxuICBcIig/PCFcXFxcLm1vZHVsZSlcXFxcLnBjc3MkXCIsXG4gIFwiKD88IVxcXFwubW9kdWxlKVxcXFwuc3NzJFwiLFxuXTtcblxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvU3RhdGVtZW50cy9pbXBvcnRcbmV4cG9ydCBjb25zdCBub1NpZGVFZmZlY3RJbXBvcnRzID0gY3JlYXRlUnVsZSh7XG4gIG5hbWU6IGdldFJ1bGVOYW1lKGltcG9ydC5tZXRhLnVybCksXG4gIG1lc3NhZ2U6XG4gICAgXCJTaWRlIGVmZmVjdCBpbXBvcnQgaXMgb2Z0ZW4gdXNlZCBmb3IgcG9seWZpbGxzIGFuZCBjc3MuIEl0J3MgdW5zYWZlIHRvIHVzZSBpdC5cIixcbiAgY3JlYXRlOiAoY29udGV4dCkgPT4ge1xuICAgIGlmIChcbiAgICAgIFtcIi5kLnRzXCIsIFwiLmQuY3RzXCIsIFwiLmQubXRzXCIsIFwiLmQudHN4XCJdLnNvbWUoKGV4dCkgPT5cbiAgICAgICAgY29udGV4dC5maWxlbmFtZS5lbmRzV2l0aChleHQpLFxuICAgICAgKVxuICAgICkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCBpZ25vcmVFeHBzID0gaWdub3Jlcy5tYXAoKGlnbm9yZSkgPT4gbmV3IFJlZ0V4cChpZ25vcmUpKTtcbiAgICByZXR1cm4ge1xuICAgICAgXCJJbXBvcnREZWNsYXJhdGlvbltzcGVjaWZpZXJzLmxlbmd0aD0wXVwiOiAobm9kZTogSW1wb3J0RGVjbGFyYXRpb24pID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGlnbm9yZUV4cHMuc29tZShcbiAgICAgICAgICAgIChleHApID0+XG4gICAgICAgICAgICAgIHR5cGVvZiBub2RlLnNvdXJjZS52YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgICAgICAgICBleHAudGVzdChub2RlLnNvdXJjZS52YWx1ZSksXG4gICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29udGV4dC5yZXBvcnQoeyBub2RlLCBtZXNzYWdlSWQ6IERFRkFVTFRfTUVTU0FHRV9JRCB9KTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfSxcbn0pO1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-esm",
3
- "version": "0.2.2-beta.1",
3
+ "version": "0.2.2",
4
4
  "description": "ESLint plugin for linting ESM (import/export syntax)",
5
5
  "keywords": [
6
6
  "eslint",
@@ -29,7 +29,7 @@
29
29
  "@types/estree": "1.0.6",
30
30
  "@types/json-schema": "7.0.15",
31
31
  "@types/node": "22.9.1",
32
- "@typescript-eslint/parser": "8.16.0",
32
+ "@typescript-eslint/parser": "8.18.0",
33
33
  "eslint": "8.57.1",
34
34
  "outdent": "0.8.0",
35
35
  "tsx": "4.19.2"
@@ -31,8 +31,10 @@ export const noSideEffectImports = createRule({
31
31
  return {
32
32
  "ImportDeclaration[specifiers.length=0]": (node: ImportDeclaration) => {
33
33
  if (
34
- ignoreExps.some((exp) =>
35
- exp.test(node.source.value?.toString() ?? ""),
34
+ ignoreExps.some(
35
+ (exp) =>
36
+ typeof node.source.value === "string" &&
37
+ exp.test(node.source.value),
36
38
  )
37
39
  ) {
38
40
  return;