@ui5/webcomponents-tools 0.0.0-cb061e041 → 0.0.0-ccb0705ac
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 +1943 -0
- package/LICENSE.txt +201 -0
- package/README.md +7 -9
- package/assets-meta.js +12 -11
- package/bin/dev.js +10 -4
- package/bin/ui5nps.js +301 -0
- package/components-package/eslint.js +59 -29
- package/components-package/nps.js +115 -83
- package/components-package/postcss.components.js +1 -21
- package/components-package/postcss.themes.js +1 -26
- package/components-package/vite.config.js +7 -11
- package/components-package/wdio.js +421 -393
- package/icons-collection/nps.js +31 -20
- package/lib/amd-to-es6/index.js +109 -0
- package/lib/amd-to-es6/no-remaining-require.js +33 -0
- package/lib/cem/cem.js +16 -0
- package/lib/cem/custom-elements-manifest.config.mjs +573 -0
- package/lib/cem/event.mjs +168 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/cli.js +128 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/package.json +59 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/browser-entrypoint.js +23 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/create.js +117 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/arrow-function.js +26 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/class-jsdoc.js +157 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/classes.js +20 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/creators/createArrowFunction.js +17 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/creators/createAttribute.js +24 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/creators/createClass.js +301 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/creators/createClassField.js +26 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/creators/createFunctionLike.js +73 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/creators/createMixin.js +33 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/creators/createVariable.js +22 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/creators/handlers.js +338 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/custom-elements-define-calls.js +90 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/exports.js +156 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/function-like.js +24 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/mixins.js +29 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/reexported-wrapped-mixin-exports.js +84 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/analyse-phase/variables.js +34 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/collect-phase/collect-imports.js +101 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/framework-plugins/catalyst/catalyst.js +11 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/framework-plugins/catalyst/controller.js +34 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/framework-plugins/catalyst-major-2/catalyst.js +11 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/framework-plugins/catalyst-major-2/controller.js +34 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/framework-plugins/decorators/attr.js +53 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/framework-plugins/decorators/custom-element-decorator.js +36 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/framework-plugins/fast/fast.js +7 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/framework-plugins/lit/lit.js +13 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/framework-plugins/lit/member-denylist.js +21 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/framework-plugins/lit/method-denylist.js +20 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/framework-plugins/lit/property-decorator.js +94 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/framework-plugins/lit/static-properties.js +121 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/framework-plugins/lit/utils.js +66 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/framework-plugins/stencil/stencil.js +129 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/index.js +80 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/link-phase/cleanup-classes.js +25 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/link-phase/field-denylist.js +22 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/link-phase/method-denylist.js +25 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/post-processing/apply-inheritance.js +78 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/post-processing/is-custom-element.js +34 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/post-processing/link-class-to-tagname.js +27 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/post-processing/remove-unexported-declarations.js +23 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/features/post-processing/resolve-initializers.js +52 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/utils/ast-helpers.js +186 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/utils/cli-helpers.js +164 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/utils/exports.js +44 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/utils/find-external-manifests.js +67 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/utils/imports.js +25 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/utils/index.js +71 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/utils/jsdoc.js +19 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/utils/manifest-helpers.js +194 -0
- package/lib/cem/patch/@custom-elements-manifest/analyzer/src/utils/mixins.js +112 -0
- package/lib/cem/schema-internal.json +1422 -0
- package/lib/cem/schema.json +1098 -0
- package/lib/cem/types-internal.d.ts +808 -0
- package/lib/cem/types.d.ts +736 -0
- package/lib/cem/utils.mjs +426 -0
- package/lib/cem/validate.js +81 -0
- package/lib/chokidar/chokidar.js +28 -0
- package/lib/copy-and-watch/index.js +110 -97
- package/lib/copy-list/index.js +18 -10
- package/lib/create-icons/index.js +32 -25
- package/lib/create-illustrations/index.js +94 -45
- package/lib/create-new-component/{tsFileContentTemplate.js → Component.js} +15 -21
- package/lib/create-new-component/ComponentTemplate.js +12 -0
- package/lib/create-new-component/index.js +16 -22
- package/lib/css-processors/css-processor-components.mjs +101 -0
- package/lib/css-processors/css-processor-themes.mjs +121 -0
- package/lib/css-processors/postcss-plugin.mjs +153 -0
- package/lib/css-processors/scope-variables.mjs +51 -0
- package/lib/css-processors/shared.mjs +47 -0
- package/lib/dev-server/custom-hot-update-plugin.js +39 -0
- package/lib/dev-server/{dev-server.js → dev-server.mjs} +26 -14
- package/lib/dev-server/virtual-index-html-plugin.js +24 -20
- package/lib/eslint/eslint.js +44 -0
- package/lib/generate-js-imports/illustrations.js +79 -64
- package/lib/generate-json-imports/i18n.js +63 -68
- package/lib/generate-json-imports/themes.js +38 -43
- package/lib/hbs2ui5/RenderTemplates/LitRenderer.js +12 -7
- package/lib/hbs2ui5/index.js +3 -3
- package/lib/i18n/defaults.js +17 -9
- package/lib/i18n/toJSON.js +40 -12
- package/lib/icons-hash/icons-hash.mjs +149 -0
- package/lib/postcss-combine-duplicated-selectors/index.js +12 -5
- package/lib/remove-dev-mode/remove-dev-mode.mjs +51 -0
- package/lib/rimraf/rimraf.js +31 -0
- package/lib/scoping/get-all-tags.js +10 -3
- package/lib/scoping/lint-src.js +8 -7
- package/lib/scoping/scope-test-pages.js +2 -1
- package/lib/test-runner/test-runner.js +56 -48
- package/lib/vite-bundler/vite-bundler.mjs +35 -0
- package/package.json +29 -25
- package/tsconfig.json +18 -0
- package/components-package/wdio.sync.js +0 -360
- package/lib/create-new-component/jsFileContentTemplate.js +0 -73
- package/lib/esm-abs-to-rel/index.js +0 -58
- package/lib/generate-custom-elements-manifest/index.js +0 -327
- package/lib/jsdoc/config.json +0 -29
- package/lib/jsdoc/configTypescript.json +0 -29
- package/lib/jsdoc/plugin.js +0 -2468
- package/lib/jsdoc/preprocess.js +0 -146
- package/lib/jsdoc/template/publish.js +0 -4120
- package/lib/postcss-css-to-esm/index.js +0 -90
- package/lib/postcss-css-to-json/index.js +0 -47
- package/lib/postcss-new-files/index.js +0 -36
- package/lib/postcss-p/postcss-p.mjs +0 -14
- package/lib/replace-global-core/index.js +0 -25
|
@@ -3,33 +3,62 @@ const path = require("path");
|
|
|
3
3
|
const tsMode = fs.existsSync(path.join(process.cwd(), "tsconfig.json"));
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Returns eslint rules specific to typescript files
|
|
7
|
+
* @returns
|
|
7
8
|
*/
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
9
|
+
const getTsModeOverrides = () => {
|
|
10
|
+
const tsConfiguration = {
|
|
11
|
+
files: ["*.ts"],
|
|
12
|
+
parser: "@typescript-eslint/parser",
|
|
13
|
+
plugins: ["@typescript-eslint"],
|
|
14
|
+
extends: [
|
|
15
|
+
"plugin:@typescript-eslint/recommended",
|
|
16
|
+
"plugin:@typescript-eslint/recommended-requiring-type-checking"
|
|
17
|
+
],
|
|
18
|
+
parserOptions: {
|
|
19
|
+
"project": [
|
|
20
|
+
"./tsconfig.json"
|
|
21
|
+
],
|
|
22
|
+
EXPERIMENTAL_useSourceOfProjectReferenceRedirect: true,
|
|
23
|
+
},
|
|
24
|
+
rules: {
|
|
25
|
+
"no-shadow": "off",
|
|
26
|
+
"@typescript-eslint/consistent-type-imports": "error",
|
|
27
|
+
"import/consistent-type-specifier-style": ["error", "prefer-top-level"],
|
|
28
|
+
"@typescript-eslint/no-shadow": ["error"],
|
|
29
|
+
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
30
|
+
"@typescript-eslint/no-floating-promises": "off",
|
|
31
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
32
|
+
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
33
|
+
"@typescript-eslint/ban-ts-comment": "off",
|
|
34
|
+
"@typescript-eslint/no-unsafe-call": "off",
|
|
35
|
+
"@typescript-eslint/no-non-null-assertion": "off",
|
|
36
|
+
"@typescript-eslint/no-empty-function": "off",
|
|
37
|
+
"@typescript-eslint/no-empty-interface": "off",
|
|
38
|
+
"lines-between-class-members": "off",
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const tsxConfiguration = JSON.parse(JSON.stringify(tsConfiguration));
|
|
43
|
+
tsxConfiguration.files = ["*.tsx"];
|
|
44
|
+
tsxConfiguration.plugins.push("jsx-no-leaked-values");
|
|
45
|
+
tsxConfiguration.rules = {
|
|
46
|
+
...tsxConfiguration.rules,
|
|
47
|
+
"jsx-no-leaked-values/jsx-no-leaked-values": "error",
|
|
48
|
+
"@typescript-eslint/unbound-method": "off", // to be able to attach on* listeners
|
|
49
|
+
"@typescript-eslint/no-misused-promises": "off", // to be able to have async event listeners
|
|
50
|
+
"operator-linebreak": "off",
|
|
51
|
+
"no-nested-ternary": "off",
|
|
52
|
+
"implicit-arrow-linebreak": "off",
|
|
53
|
+
"function-paren-newline": "off",
|
|
54
|
+
"comma-dangle": "off"
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
return [
|
|
58
|
+
tsConfiguration,
|
|
59
|
+
tsxConfiguration
|
|
60
|
+
];
|
|
61
|
+
}
|
|
33
62
|
|
|
34
63
|
module.exports = {
|
|
35
64
|
"env": {
|
|
@@ -38,7 +67,7 @@ module.exports = {
|
|
|
38
67
|
},
|
|
39
68
|
"root": true,
|
|
40
69
|
"extends": "airbnb-base",
|
|
41
|
-
overrides,
|
|
70
|
+
"overrides": tsMode ? getTsModeOverrides() : [],
|
|
42
71
|
"parserOptions": {
|
|
43
72
|
"ecmaVersion": 2018,
|
|
44
73
|
"sourceType": "module"
|
|
@@ -81,6 +110,7 @@ module.exports = {
|
|
|
81
110
|
"curly": [2, "all"],
|
|
82
111
|
// "default-case": 1, // removed for UI5 WebComponents
|
|
83
112
|
"import/extensions": ["error", "always"], // override for UI5 WebComponents
|
|
113
|
+
"import/order": "off",
|
|
84
114
|
"no-alert": 2,
|
|
85
115
|
"no-caller": 2,
|
|
86
116
|
"no-div-regex": 2,
|
|
@@ -122,7 +152,7 @@ module.exports = {
|
|
|
122
152
|
"no-shadow-restricted-names": 2,
|
|
123
153
|
"no-undef-init": 2,
|
|
124
154
|
"no-undef": 2,
|
|
125
|
-
"no-unused-vars": [2, {"vars":"all", "args":"none"}],
|
|
155
|
+
"no-unused-vars": [2, { "vars": "all", "args": "none" }],
|
|
126
156
|
|
|
127
157
|
"brace-style": [2, "1tbs", { "allowSingleLine": true }],
|
|
128
158
|
"camelcase": [1, { "properties": "never" }], // added for UI5 WebComponents
|
|
@@ -138,7 +168,7 @@ module.exports = {
|
|
|
138
168
|
"no-new-object": 2,
|
|
139
169
|
"no-spaced-func": 2,
|
|
140
170
|
"quote-props": [2, "as-needed", { "keywords": true, "unnecessary": false }],
|
|
141
|
-
"semi-spacing": [1, {"before": false, "after": true}],
|
|
171
|
+
"semi-spacing": [1, { "before": false, "after": true }],
|
|
142
172
|
"semi": 2,
|
|
143
173
|
"keyword-spacing": 2,
|
|
144
174
|
"space-infix-ops": 2,
|
|
@@ -1,29 +1,54 @@
|
|
|
1
1
|
const path = require("path");
|
|
2
2
|
const fs = require("fs");
|
|
3
|
-
const resolve = require("resolve");
|
|
4
3
|
const LIB = path.join(__dirname, `../lib/`);
|
|
5
|
-
|
|
4
|
+
let websiteBaseUrl = "/";
|
|
6
5
|
|
|
7
|
-
const
|
|
6
|
+
const isPreview = !!process.env.PR_NUMBER;
|
|
7
|
+
const getPreviewBaseUrl = () => {
|
|
8
|
+
if (process.env.DEPLOYMENT_TYPE === "netlify_preview") {
|
|
9
|
+
return "/";
|
|
10
|
+
}
|
|
11
|
+
return `/webcomponents/pr-${process.env.PR_NUMBER}/`;
|
|
12
|
+
}
|
|
8
13
|
|
|
14
|
+
if (process.env.DEPLOY) {
|
|
15
|
+
websiteBaseUrl = "/webcomponents/";
|
|
16
|
+
} else if (process.env.DEPLOY_NIGHTLY) {
|
|
17
|
+
websiteBaseUrl = "/webcomponents/nightly/";
|
|
18
|
+
} else if (isPreview) {
|
|
19
|
+
websiteBaseUrl = getPreviewBaseUrl();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const getScripts = (options) => {
|
|
9
23
|
// The script creates all JS modules (dist/illustrations/{illustrationName}.js) out of the existing SVGs
|
|
10
24
|
const illustrationsData = options.illustrationsData || [];
|
|
11
|
-
const
|
|
12
|
-
|
|
25
|
+
const createIllustrationsJSImportsScript = {
|
|
26
|
+
default: `ui5nps-p ${illustrationsData.map(illustrations => `build.illustrations.build-${illustrations.set}-${illustrations.collection}`).join(" ")}` // concurently,
|
|
27
|
+
}
|
|
28
|
+
illustrationsData.forEach((illustration) => {
|
|
29
|
+
createIllustrationsJSImportsScript[`build-${illustration.set}-${illustration.collection}`] = `ui5nps-script "${LIB}create-illustrations/index.js" ${illustration.path} ${illustration.defaultText} ${illustration.illustrationsPrefix} ${illustration.set} ${illustration.destinationPath} ${illustration.collection}`
|
|
30
|
+
});
|
|
31
|
+
// The script creates the "src/generated/js-imports/Illustration.js" file that registers loaders (dynamic JS imports) for each illustration
|
|
32
|
+
const createIllustrationsLoadersScript = {
|
|
33
|
+
default: `ui5nps-p ${illustrationsData.map(illustrations => `build.jsImports.illustrationsLoaders.generate-${illustrations.set}-${illustrations.collection}`).join(" ")}` // concurently,
|
|
34
|
+
}
|
|
35
|
+
illustrationsData.forEach((illustrations) => {
|
|
36
|
+
createIllustrationsLoadersScript[`generate-${illustrations.set}-${illustrations.collection}`] = `ui5nps-script ${LIB}generate-js-imports/illustrations.js ${illustrations.path} ${illustrations.dynamicImports.outputFile} ${illustrations.set} ${illustrations.collection} ${illustrations.dynamicImports.location} ${illustrations.dynamicImports.filterOut.join(",")}`
|
|
37
|
+
});
|
|
13
38
|
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
39
|
+
|
|
40
|
+
const tsOption = !!(!options.legacy || options.jsx);
|
|
41
|
+
const tsCommandOld = tsOption ? "tsc" : "";
|
|
42
|
+
let tsWatchCommandStandalone = tsOption ? "tsc --watch" : "";
|
|
43
|
+
// this command is only used for standalone projects. monorepo projects get their watch from vite, so opt-out here
|
|
44
|
+
if (options.noWatchTS) {
|
|
45
|
+
tsWatchCommandStandalone = "";
|
|
46
|
+
}
|
|
22
47
|
|
|
23
48
|
if (tsOption) {
|
|
24
49
|
try {
|
|
25
50
|
require("typescript");
|
|
26
|
-
} catch(e) {
|
|
51
|
+
} catch (e) {
|
|
27
52
|
console.error(`TypeScript is not found. Try to install it by running \`npm install --save-dev typescript\` if you are using npm or by running \`yarn add --dev typescript\` if you are using yarn.`);
|
|
28
53
|
process.exit(e.code);
|
|
29
54
|
}
|
|
@@ -41,101 +66,108 @@ const getScripts = (options) => {
|
|
|
41
66
|
viteConfig = `-c "${require.resolve("@ui5/webcomponents-tools/components-package/vite.config.js")}"`;
|
|
42
67
|
}
|
|
43
68
|
|
|
44
|
-
let eslintConfig;
|
|
45
|
-
if (fs.existsSync(".eslintrc.js") || fs.existsSync(".eslintrc.cjs")) {
|
|
46
|
-
// preferred way of custom configuration in root project folder
|
|
47
|
-
eslintConfig = "";
|
|
48
|
-
} else {
|
|
49
|
-
// no custom configuration - use default from tools project
|
|
50
|
-
eslintConfig = `--config "${require.resolve("@ui5/webcomponents-tools/components-package/eslint.js")}"`;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
69
|
const scripts = {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
70
|
+
__ui5envs: {
|
|
71
|
+
UI5_CEM_MODE: options.dev,
|
|
72
|
+
UI5_TS: `${tsOption}`,
|
|
73
|
+
CSS_VARIABLES_TARGET: options.cssVariablesTarget ?? "root",
|
|
74
|
+
CYPRESS_COVERAGE: !!(options.internal?.cypress_code_coverage),
|
|
75
|
+
},
|
|
76
|
+
clean: {
|
|
77
|
+
"default": "ui5nps clean.generated clean.dist scope.testPages.clean",
|
|
78
|
+
"generated": `ui5nps-script "${LIB}/rimraf/rimraf.js src/generated`,
|
|
79
|
+
"dist": `ui5nps-script "${LIB}/rimraf/rimraf.js dist`,
|
|
80
|
+
},
|
|
81
|
+
lint: `ui5nps-script "${LIB}eslint/eslint.js"`,
|
|
82
|
+
lintfix: `ui5nps-script "${LIB}eslint/eslint.js" --fix`,
|
|
83
|
+
generate: {
|
|
84
|
+
default: `ui5nps prepare.all`,
|
|
85
|
+
all: `ui5nps-p build.templates build.i18n prepare.styleRelated copyProps build.illustrations`, // concurently
|
|
86
|
+
styleRelated: "ui5nps build.styles build.jsonImports build.jsImports",
|
|
87
|
+
},
|
|
57
88
|
prepare: {
|
|
58
|
-
default:
|
|
59
|
-
all:
|
|
60
|
-
styleRelated: "
|
|
89
|
+
default: `ui5nps clean prepare.all copy copyProps prepare.typescript generateAPI`,
|
|
90
|
+
all: `ui5nps-p build.templates build.i18n prepare.styleRelated build.illustrations`, // concurently
|
|
91
|
+
styleRelated: "ui5nps build.styles build.jsonImports build.jsImports",
|
|
92
|
+
typescript: tsCommandOld,
|
|
61
93
|
},
|
|
62
|
-
typescript: tsCommand,
|
|
63
94
|
build: {
|
|
64
|
-
default: "
|
|
65
|
-
templates:
|
|
95
|
+
default: "ui5nps prepare lint build.bundle", // build.bundle2
|
|
96
|
+
templates: options.legacy ? `node "${LIB}hbs2ui5/index.js" -d src/ -o src/generated/templates` : "",
|
|
66
97
|
styles: {
|
|
67
|
-
default: `
|
|
68
|
-
themes: `
|
|
69
|
-
|
|
98
|
+
default: `ui5nps-p build.styles.themes build.styles.components`, // concurently
|
|
99
|
+
themes: `ui5nps-script "${LIB}css-processors/css-processor-themes.mjs"`,
|
|
100
|
+
themesWithWatch: `ui5nps-script "${LIB}css-processors/css-processor-themes.mjs" -w`,
|
|
101
|
+
components: `ui5nps-script "${LIB}css-processors/css-processor-components.mjs"`,
|
|
102
|
+
componentsWithWatch: `ui5nps-script "${LIB}css-processors/css-processor-components.mjs" -w`,
|
|
70
103
|
},
|
|
71
104
|
i18n: {
|
|
72
|
-
default: "
|
|
73
|
-
defaultsjs: `
|
|
74
|
-
json: `
|
|
105
|
+
default: "ui5nps build.i18n.defaultsjs build.i18n.json",
|
|
106
|
+
defaultsjs: `ui5nps-script "${LIB}i18n/defaults.js" src/i18n src/generated/i18n`,
|
|
107
|
+
json: `ui5nps-script "${LIB}i18n/toJSON.js" src/i18n dist/generated/assets/i18n`,
|
|
75
108
|
},
|
|
76
109
|
jsonImports: {
|
|
77
|
-
default: "
|
|
78
|
-
themes: `
|
|
79
|
-
i18n: `
|
|
110
|
+
default: "ui5nps build.jsonImports.themes build.jsonImports.i18n",
|
|
111
|
+
themes: `ui5nps-script "${LIB}generate-json-imports/themes.js" src/themes src/generated/json-imports`,
|
|
112
|
+
i18n: `ui5nps-script "${LIB}generate-json-imports/i18n.js" src/i18n src/generated/json-imports`,
|
|
80
113
|
},
|
|
81
114
|
jsImports: {
|
|
82
|
-
default: "
|
|
115
|
+
default: "ui5nps build.jsImports.illustrationsLoaders",
|
|
83
116
|
illustrationsLoaders: createIllustrationsLoadersScript,
|
|
84
117
|
},
|
|
85
|
-
bundle: `vite
|
|
118
|
+
bundle: `ui5nps-script "${LIB}vite-bundler/vite-bundler.mjs" ${viteConfig} --mode testing --base ${websiteBaseUrl}`,
|
|
119
|
+
bundle2: ``,
|
|
86
120
|
illustrations: createIllustrationsJSImportsScript,
|
|
87
121
|
},
|
|
122
|
+
copyProps: `ui5nps-script "${LIB}copy-and-watch/index.js" --silent "src/i18n/*.properties" dist/`,
|
|
123
|
+
copyPropsWithWatch: `ui5nps-script "${LIB}copy-and-watch/index.js" --silent "src/i18n/*.properties" dist/ --watch --safe --skip-initial-copy`,
|
|
124
|
+
copySrcWithWatch: `ui5nps-script "${LIB}copy-and-watch/index.js" --silent "src/**/*.{js,json}" dist/ --watch --safe --skip-initial-copy`,
|
|
88
125
|
copy: {
|
|
89
|
-
default: "
|
|
90
|
-
src: `
|
|
91
|
-
|
|
92
|
-
props: `node "${LIB}/copy-and-watch/index.js" --silent "src/**/*.properties" dist/`,
|
|
126
|
+
default: options.legacy ? "ui5nps copy.src copy.props" : "",
|
|
127
|
+
src: options.legacy ? `ui5nps-script "${LIB}copy-and-watch/index.js" --silent "src/**/*.{js,json}" dist/` : "",
|
|
128
|
+
props: options.legacy ? `ui5nps-script "${LIB}copy-and-watch/index.js" --silent "src/i18n/*.properties" dist/` : "",
|
|
93
129
|
},
|
|
94
130
|
watch: {
|
|
95
|
-
default:
|
|
96
|
-
devServer: '
|
|
97
|
-
src: '
|
|
98
|
-
typescript:
|
|
99
|
-
props: '
|
|
100
|
-
bundle: `
|
|
131
|
+
default: `ui5nps-p watch.templates watch.typescript watch.src watch.styles watch.i18n watch.props`, // concurently
|
|
132
|
+
devServer: 'ui5nps-p watch.default watch.bundle', // concurently
|
|
133
|
+
src: options.legacy ? 'ui5nps copySrcWithWatch' : "",
|
|
134
|
+
typescript: tsWatchCommandStandalone,
|
|
135
|
+
props: 'ui5nps copyPropsWithWatch',
|
|
136
|
+
bundle: `ui5nps-script ${LIB}dev-server/dev-server.mjs ${viteConfig}`,
|
|
101
137
|
styles: {
|
|
102
|
-
default: '
|
|
103
|
-
themes: '
|
|
104
|
-
components:
|
|
105
|
-
default: 'concurrently "nps watch.styles.components.existingFiles" "nps watch.styles.components.newFiles"',
|
|
106
|
-
existingFiles: `nps "build.styles.components -w"`,
|
|
107
|
-
newFiles: `node "${LIB}/postcss-new-files/index.js" --srcFiles="src/themes/*.css"`,
|
|
108
|
-
},
|
|
138
|
+
default: 'ui5nps-p watch.styles.themes watch.styles.components', // concurently
|
|
139
|
+
themes: 'ui5nps build.styles.themesWithWatch',
|
|
140
|
+
components: `ui5nps build.styles.componentsWithWatch`,
|
|
109
141
|
},
|
|
110
|
-
templates:
|
|
111
|
-
|
|
112
|
-
i18n: 'chokidar "src/i18n/messagebundle.properties" -c "nps build.i18n.defaultsjs"'
|
|
142
|
+
templates: options.legacy ? `ui5nps-script "${LIB}chokidar/chokidar.js" "src/**/*.hbs" "ui5nps build.templates"` : "",
|
|
143
|
+
i18n: `ui5nps-script "${LIB}chokidar/chokidar.js" "src/i18n/messagebundle.properties" "ui5nps build.i18n.defaultsjs"`
|
|
113
144
|
},
|
|
114
|
-
start: "
|
|
115
|
-
test: `
|
|
116
|
-
"test-
|
|
117
|
-
"test-suite-
|
|
118
|
-
|
|
145
|
+
start: "ui5nps prepare watch.devServer",
|
|
146
|
+
test: `ui5nps-script "${LIB}/test-runner/test-runner.js"`,
|
|
147
|
+
"test-cy-ci": `cypress run --component --browser chrome`,
|
|
148
|
+
"test-cy-ci-suite-1": `cypress run --component --browser chrome --spec "**/specs/[A-C]*.cy.{js,jsx,ts,tsx},**/specs/[^D-Z]*.cy.{js,jsx,ts,tsx}"`,
|
|
149
|
+
"test-cy-ci-suite-2": `cypress run --component --browser chrome --spec "**/specs/[D-L]*.cy.{js,jsx,ts,tsx}"`,
|
|
150
|
+
"test-cy-ci-suite-3": `cypress run --component --browser chrome --spec "**/specs/[M-S]*.cy.{js,jsx,ts,tsx}"`,
|
|
151
|
+
"test-cy-ci-suite-4": `cypress run --component --browser chrome --spec "**/specs/[T-Z]*.cy.{js,jsx,ts,tsx}"`,
|
|
152
|
+
"test-cy-open": `cypress open --component --browser chrome`,
|
|
153
|
+
startWithScope: "ui5nps scope.prepare scope.watchWithBundle",
|
|
119
154
|
scope: {
|
|
120
|
-
prepare: "
|
|
121
|
-
lint: `
|
|
155
|
+
prepare: "ui5nps scope.lint scope.testPages",
|
|
156
|
+
lint: `ui5nps-script "${LIB}scoping/lint-src.js"`,
|
|
122
157
|
testPages: {
|
|
123
|
-
default: "
|
|
124
|
-
clean: "rimraf test/pages/scoped
|
|
125
|
-
copy: `
|
|
126
|
-
replace: `
|
|
158
|
+
default: "ui5nps scope.testPages.clean scope.testPages.copy scope.testPages.replace",
|
|
159
|
+
"clean": `ui5nps-script "${LIB}/rimraf/rimraf.js test/pages/scoped`,
|
|
160
|
+
copy: `ui5nps-script "${LIB}copy-and-watch/index.js" --silent "test/pages/**/*" test/pages/scoped`,
|
|
161
|
+
replace: `ui5nps-script "${LIB}scoping/scope-test-pages.js" test/pages/scoped demo`,
|
|
127
162
|
},
|
|
128
|
-
watchWithBundle: '
|
|
129
|
-
watch: '
|
|
130
|
-
bundle: `
|
|
163
|
+
watchWithBundle: 'ui5nps-p scope.watch scope.bundle', // concurently
|
|
164
|
+
watch: 'ui5nps-p watch.templates watch.props watch.styles', // concurently
|
|
165
|
+
bundle: `ui5nps-script ${LIB}dev-server/dev-server.mjs ${viteConfig}`,
|
|
131
166
|
},
|
|
132
167
|
generateAPI: {
|
|
133
|
-
default: "
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
preprocess: `node "${preprocessJSDocScript}" jsdoc-dist/ src`,
|
|
137
|
-
jsdoc: `jsdoc -c "${LIB}/jsdoc/configTypescript.json"`,
|
|
138
|
-
cleanup: "rimraf jsdoc-dist/"
|
|
168
|
+
default: tsOption ? "ui5nps generateAPI.generateCEM generateAPI.validateCEM" : "",
|
|
169
|
+
generateCEM: `ui5nps-script "${LIB}cem/cem.js" analyze --config "${LIB}cem/custom-elements-manifest.config.mjs"`,
|
|
170
|
+
validateCEM: `ui5nps-script "${LIB}cem/validate.js"`,
|
|
139
171
|
},
|
|
140
172
|
};
|
|
141
173
|
|
|
@@ -1,21 +1 @@
|
|
|
1
|
-
|
|
2
|
-
const postcssCSStoESM = require('../lib/postcss-css-to-esm/index.js');
|
|
3
|
-
const cssnano = require('cssnano');
|
|
4
|
-
const fs = require("fs");
|
|
5
|
-
|
|
6
|
-
const packageName = JSON.parse(fs.readFileSync("./package.json")).name;
|
|
7
|
-
|
|
8
|
-
module.exports = {
|
|
9
|
-
plugins: [
|
|
10
|
-
postcssImport(),
|
|
11
|
-
cssnano({
|
|
12
|
-
preset: [
|
|
13
|
-
'default', {
|
|
14
|
-
mergeLonghand: false, // https://github.com/cssnano/cssnano/issues/675
|
|
15
|
-
mergeRules: false, // https://github.com/cssnano/cssnano/issues/730
|
|
16
|
-
},
|
|
17
|
-
]
|
|
18
|
-
}),
|
|
19
|
-
postcssCSStoESM({ toReplace: 'src', includeDefaultTheme: true, packageName }),
|
|
20
|
-
]
|
|
21
|
-
}
|
|
1
|
+
module.exports = {}
|
|
@@ -1,26 +1 @@
|
|
|
1
|
-
|
|
2
|
-
const combineSelectors = require('../lib/postcss-combine-duplicated-selectors/index.js');
|
|
3
|
-
const postcssCSStoJSON = require('../lib/postcss-css-to-json/index.js');
|
|
4
|
-
const postcssCSStoESM = require('../lib/postcss-css-to-esm/index.js');
|
|
5
|
-
const cssnano = require('cssnano');
|
|
6
|
-
const fs = require("fs");
|
|
7
|
-
|
|
8
|
-
const packageName = JSON.parse(fs.readFileSync("./package.json")).name;
|
|
9
|
-
|
|
10
|
-
module.exports = {
|
|
11
|
-
plugins: [
|
|
12
|
-
postcssImport(),
|
|
13
|
-
combineSelectors({
|
|
14
|
-
removeDuplicatedProperties: true
|
|
15
|
-
}),
|
|
16
|
-
cssnano({
|
|
17
|
-
preset: [
|
|
18
|
-
'default', {
|
|
19
|
-
mergeLonghand: false, // https://github.com/cssnano/cssnano/issues/675
|
|
20
|
-
},
|
|
21
|
-
]
|
|
22
|
-
},),
|
|
23
|
-
postcssCSStoJSON({ toReplace: 'src', packageName }),
|
|
24
|
-
postcssCSStoESM({ toReplace: 'src', packageName }),
|
|
25
|
-
]
|
|
26
|
-
};
|
|
1
|
+
module.exports = {};
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
// vite.config.js
|
|
2
|
-
|
|
3
|
-
import virtualIndex from '../lib/dev-server/virtual-index-html-plugin.js';
|
|
2
|
+
const virtualIndex = require('../lib/dev-server/virtual-index-html-plugin.js');
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
plugins: [data],
|
|
12
|
-
}
|
|
13
|
-
})
|
|
4
|
+
module.exports = {
|
|
5
|
+
build: {
|
|
6
|
+
emptyOutDir: false,
|
|
7
|
+
},
|
|
8
|
+
plugins: [virtualIndex()],
|
|
9
|
+
};
|