diff --git a/packages-node/rocket-preset-extend-lion-docs/src/generateExtendDocsConfig.js b/packages-node/rocket-preset-extend-lion-docs/src/generateExtendDocsConfig.js index bd6f55258..4009def4a 100644 --- a/packages-node/rocket-preset-extend-lion-docs/src/generateExtendDocsConfig.js +++ b/packages-node/rocket-preset-extend-lion-docs/src/generateExtendDocsConfig.js @@ -123,11 +123,11 @@ export async function generateExtendDocsConfig({ await init; const options = { classPrefix, classBareImport, tagPrefix, tagBareImport }; - const folderToCheck = path.join(_nodeModulesDir, npmScope); + const folderToCheck = npmScope ? path.join(_nodeModulesDir, npmScope) : _nodeModulesDir; const packages = fs .readdirSync(folderToCheck) .filter(dir => fs.statSync(path.join(folderToCheck, dir)).isDirectory()) - .map(dir => `${npmScope}/${dir}`); + .map(dir => (npmScope ? `${npmScope}/${dir}` : dir)); const changes = []; for (const pkgName of packages) { diff --git a/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/no-node-modules-scope-folder/accordion/index.js b/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/no-node-modules-scope-folder/accordion/index.js new file mode 100644 index 000000000..275dd49aa --- /dev/null +++ b/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/no-node-modules-scope-folder/accordion/index.js @@ -0,0 +1 @@ +export { LionAccordion } from './src/LionAccordion.js'; diff --git a/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/no-node-modules-scope-folder/accordion/lion-accordion.js b/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/no-node-modules-scope-folder/accordion/lion-accordion.js new file mode 100644 index 000000000..b113c589d --- /dev/null +++ b/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/no-node-modules-scope-folder/accordion/lion-accordion.js @@ -0,0 +1,3 @@ +import { LionAccordion } from './src/LionAccordion.js'; + +customElements.define('lion-accordion', LionAccordion); diff --git a/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/no-node-modules-scope-folder/accordion/package.json b/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/no-node-modules-scope-folder/accordion/package.json new file mode 100644 index 000000000..3bf148c89 --- /dev/null +++ b/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/no-node-modules-scope-folder/accordion/package.json @@ -0,0 +1,55 @@ +{ + "name": "@lion/accordion", + "version": "0.5.0", + "description": "Vertically stacked list of invokers that can be clicked to reveal or hide content associated with them.", + "license": "MIT", + "author": "ing-bank", + "homepage": "https://github.com/ing-bank/lion/", + "repository": { + "type": "git", + "url": "https://github.com/ing-bank/lion.git", + "directory": "packages/accordion" + }, + "main": "index.js", + "module": "index.js", + "files": [ + "*.d.ts", + "*.js", + "custom-elements.json", + "docs", + "src", + "test", + "test-helpers", + "translations", + "types" + ], + "scripts": { + "custom-elements-manifest": "custom-elements-manifest analyze --litelement --exclude \"docs/**/*\" \"test-helpers/**/*\"", + "debug": "cd ../../ && npm run debug -- --group accordion", + "debug:firefox": "cd ../../ && npm run debug:firefox -- --group accordion", + "debug:webkit": "cd ../../ && npm run debug:webkit -- --group accordion", + "publish-docs": "node ../../packages-node/publish-docs/src/cli.js --github-url https://github.com/ing-bank/lion/ --git-root-dir ../../", + "prepublishOnly": "npm run publish-docs && npm run custom-elements-manifest", + "test": "cd ../../ && npm run test:browser -- --group accordion" + }, + "sideEffects": [ + "lion-accordion.js" + ], + "dependencies": { + "@lion/core": "0.17.0" + }, + "keywords": [ + "accordion", + "lion", + "web-components" + ], + "publishConfig": { + "access": "public" + }, + "customElementsManifest": "custom-elements.json", + "exports": { + ".": "./index.js", + "./define": "./lion-accordion.js", + "./docs/": "./docs/" + } +} diff --git a/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/no-node-modules-scope-folder/accordion/src/LionAccordion.js b/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/no-node-modules-scope-folder/accordion/src/LionAccordion.js new file mode 100644 index 000000000..e903aa9f7 --- /dev/null +++ b/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/no-node-modules-scope-folder/accordion/src/LionAccordion.js @@ -0,0 +1 @@ +export class LionAccordion extends HTMLElement {} diff --git a/packages-node/rocket-preset-extend-lion-docs/test-node/generateExtendDocsConfig.test.js b/packages-node/rocket-preset-extend-lion-docs/test-node/generateExtendDocsConfig.test.js index 1967e4711..da1b8cc8a 100644 --- a/packages-node/rocket-preset-extend-lion-docs/test-node/generateExtendDocsConfig.test.js +++ b/packages-node/rocket-preset-extend-lion-docs/test-node/generateExtendDocsConfig.test.js @@ -74,6 +74,41 @@ describe('generateExtendDocsConfig', () => { ]); }); + it('works if there is no npm scope sub folder', async () => { + const result = await execute('fixtures/no-node-modules-scope-folder', { + npmScope: '', + }); + + expect(result).to.deep.equal([ + { + name: 'accordion - LionAccordion', + variable: { + from: 'LionAccordion', + to: 'IngAccordion', + paths: [ + { + from: '@lion/accordion', + to: 'ing-web/accordion', + }, + ], + }, + }, + { + name: 'accordion/define', + tag: { + from: 'lion-accordion', + to: 'ing-accordion', + paths: [ + { + from: '@lion/accordion/define', + to: '#accordion/define', + }, + ], + }, + }, + ]); + }); + it('can customize the target', async () => { const result = await execute('fixtures/accordion', { classPrefix: 'Wolf',