Skip to content

Commit 07aebfa

Browse files
authored
fix(tools): Building third-party packages no longer fails (#1994)
1 parent 93808b2 commit 07aebfa

File tree

6 files changed

+24
-9
lines changed

6 files changed

+24
-9
lines changed

packages/theme-base/package-scripts.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ module.exports = {
2727
...buildThemesCommands
2828
},
2929
postcss: "postcss dist/**/parameters-bundle.css --config config/postcss.themes --base dist/ --dir dist/css/",
30-
jsonImports: `node "${jsonImportsScript}" dist/generated/json-imports`,
30+
jsonImports: `node "${jsonImportsScript}" dist/generated/assets/themes dist/generated/json-imports`,
3131
},
3232
generateReport: `node "${generateReportScript}"`,
3333
},

packages/tools/components-package/nps.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ const getScripts = (options) => {
2828
},
2929
jsonImports: {
3030
default: "mkdirp dist/generated/json-imports && nps build.jsonImports.themes build.jsonImports.i18n",
31-
themes: `node "${LIB}/generate-json-imports/themes.js" dist/generated/json-imports`,
31+
themes: `node "${LIB}/generate-json-imports/themes.js" dist/generated/assets/themes dist/generated/json-imports`,
3232
i18n: `node "${LIB}/generate-json-imports/i18n.js" dist/generated/assets/i18n dist/generated/json-imports`,
3333
},
3434
bundle: "rollup --config config/rollup.config.js --environment ES5_BUILD",

packages/tools/lib/generate-json-imports/themes.js

+14-5
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,24 @@ const path = require('path');
33
const mkdirp = require("mkdirp");
44
const assets = require("../../assets-meta.js");
55

6-
const outputFile = path.normalize(`${process.argv[2]}/Themes.js`);
6+
const inputFolder = path.normalize(process.argv[2]);
7+
const outputFile = path.normalize(`${process.argv[3]}/Themes.js`);
78

9+
// All supported optional themes
810
const optionalThemes = assets.themes.all.filter(theme => theme !== assets.themes.default);
911

12+
// All themes present in the file system
13+
const dirs = fs.readdirSync(inputFolder);
14+
const themesOnFileSystem = dirs.map(dir => {
15+
const matches = dir.match(/sap_.*$/);
16+
return matches ? dir : undefined;
17+
}).filter(key => !!key && optionalThemes.includes(key));
18+
1019
const packageName = JSON.parse(fs.readFileSync("package.json")).name;
1120

12-
const importLines = optionalThemes.map(theme => `import ${theme} from "../assets/themes/${theme}/parameters-bundle.css.json";`).join("\n");
13-
const isInlinedCondition = optionalThemes.map(theme => `isInlined(${theme})`).join(" || ");
14-
const registerLines = optionalThemes.map(theme => `registerThemeProperties("${packageName}", "${theme}", ${theme});`).join("\n");
21+
const importLines = themesOnFileSystem.map(theme => `import ${theme} from "../assets/themes/${theme}/parameters-bundle.css.json";`).join("\n");
22+
const isInlinedCondition = themesOnFileSystem.map(theme => `isInlined(${theme})`).join(" || ");
23+
const registerLines = themesOnFileSystem.map(theme => `registerThemeProperties("${packageName}", "${theme}", ${theme});`).join("\n");
1524

1625
// Resulting file content
1726
const content = `import { registerThemeProperties } from "@ui5/webcomponents-base/dist/asset-registries/Themes.js";
@@ -26,7 +35,7 @@ See rollup-plugin-url or webpack file-loader for more information.
2635
Suggested pattern: "assets\\\\\\/.*\\\\\\.json"\`);
2736
}
2837
29-
${registerLines};
38+
${registerLines}
3039
`;
3140

3241
mkdirp.sync(path.dirname(outputFile));

packages/tools/lib/init-package/index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ try {
3838

3939
// Ensure correct tag
4040
const tag = options.tag || DEFAULT_TAG;
41-
if (!tag.match(/^ui5-/)) {
42-
console.log("tag name should start with ui5-");
41+
if (!tag.includes("-")) {
42+
console.log("tag name should contain at least one dash");
4343
process.exit(1);
4444
}
4545
const className = capitalizeFirst(kebabToCamelCase(tag.substr(4)));
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
:root {
2+
--ui5-demo-border-color: lightblue;
3+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
:root {
2+
--ui5-demo-border-color: gray;
3+
}

0 commit comments

Comments
 (0)