diff --git a/.changeset/proud-terms-fetch.md b/.changeset/proud-terms-fetch.md new file mode 100644 index 00000000..910fd56b --- /dev/null +++ b/.changeset/proud-terms-fetch.md @@ -0,0 +1,5 @@ +--- +'eslint-plugin-primer-react': patch +--- + +Fixes error when `imported` does not exist in specifier object diff --git a/src/rules/__tests__/no-deprecated-experimental-components.test.js b/src/rules/__tests__/no-deprecated-experimental-components.test.js index 8c223baf..8d5b4afe 100644 --- a/src/rules/__tests__/no-deprecated-experimental-components.test.js +++ b/src/rules/__tests__/no-deprecated-experimental-components.test.js @@ -24,6 +24,9 @@ ruleTester.run('no-deprecated-experimental-components', rule, { { code: `import {DataTable, ActionBar} from '@primer/react/experimental'`, }, + { + code: `import * as RandomComponent from '@primer/react/experimental'`, + }, ], invalid: [ // Single experimental import diff --git a/src/rules/no-deprecated-experimental-components.js b/src/rules/no-deprecated-experimental-components.js index aaa6410f..423c9b01 100644 --- a/src/rules/no-deprecated-experimental-components.js +++ b/src/rules/no-deprecated-experimental-components.js @@ -42,10 +42,10 @@ module.exports = { const entrypoint = entrypoints.get(node.source.value) const experimental = node.specifiers.filter(specifier => { - return entrypoint.has(specifier.imported.name) + return entrypoint.has(specifier.imported?.name) }) - const components = experimental.map(specifier => specifier.imported.name) + const components = experimental.map(specifier => specifier.imported?.name) if (experimental.length === 0) { return