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 4009def4a..e4b809dc6 100644 --- a/packages-node/rocket-preset-extend-lion-docs/src/generateExtendDocsConfig.js +++ b/packages-node/rocket-preset-extend-lion-docs/src/generateExtendDocsConfig.js @@ -44,14 +44,23 @@ function generateVariableChange({ sourceClassPrefix = 'Lion', sourceBareImport = '@lion/', }) { - const pureClassName = className.replace(sourceClassPrefix, ''); + let _sourceClassPrefix = sourceClassPrefix; + let _classPrefix = classPrefix; + let pureClassName = className; const purePkgName = pkgName.replace(sourceBareImport, ''); + if (className.startsWith(sourceClassPrefix)) { + pureClassName = className.replace(sourceClassPrefix, ''); + } else { + _sourceClassPrefix = ''; + _classPrefix = ''; + } + return { name: `${pkgName} - ${className}`, variable: { - from: `${sourceClassPrefix}${pureClassName}`, - to: `${classPrefix}${pureClassName}`, + from: `${_sourceClassPrefix}${pureClassName}`, + to: `${_classPrefix}${pureClassName}`, paths: [ { from: `${sourceBareImport}${purePkgName}`, diff --git a/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/core/@lion/core/index.js b/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/core/@lion/core/index.js new file mode 100644 index 000000000..02f33236f --- /dev/null +++ b/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/core/@lion/core/index.js @@ -0,0 +1 @@ +export { calculateSum } from './src/calculateSum.js'; diff --git a/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/core/@lion/core/package.json b/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/core/@lion/core/package.json new file mode 100644 index 000000000..d769516bf --- /dev/null +++ b/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/core/@lion/core/package.json @@ -0,0 +1,54 @@ +{ + "name": "@lion/core", + "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", + "./docs/": "./docs/" + } +} diff --git a/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/core/@lion/core/src/calculateSum.js b/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/core/@lion/core/src/calculateSum.js new file mode 100644 index 000000000..349f7e700 --- /dev/null +++ b/packages-node/rocket-preset-extend-lion-docs/test-node/fixtures/core/@lion/core/src/calculateSum.js @@ -0,0 +1 @@ +export function calculateSum() {} 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 da1b8cc8a..5e8a894b7 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 @@ -109,6 +109,26 @@ describe('generateExtendDocsConfig', () => { ]); }); + it('can handle exports without a prefix', async () => { + const result = await execute('fixtures/core'); + + expect(result).to.deep.equal([ + { + name: '@lion/core - calculateSum', + variable: { + from: 'calculateSum', + to: 'calculateSum', + paths: [ + { + from: '@lion/core', + to: 'ing-web/core', + }, + ], + }, + }, + ]); + }); + it('can customize the target', async () => { const result = await execute('fixtures/accordion', { classPrefix: 'Wolf',