@muonic/muon 0.0.2-experimental-138-4339428.0 → 0.0.2-experimental-139-b12e3fd.0
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@muonic/muon",
|
|
3
|
-
"version": "0.0.2-experimental-
|
|
3
|
+
"version": "0.0.2-experimental-139-b12e3fd.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -18,34 +18,36 @@
|
|
|
18
18
|
"license": "ISC",
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@open-wc/building-rollup": "2.0.1",
|
|
21
|
-
"@open-wc/scoped-elements": "2.1.
|
|
21
|
+
"@open-wc/scoped-elements": "2.1.2",
|
|
22
22
|
"@rollup/plugin-alias": "3.1.9",
|
|
23
23
|
"@rollup/plugin-json": "4.1.0",
|
|
24
24
|
"@rollup/plugin-replace": "4.0.0",
|
|
25
|
-
"@rollup/plugin-virtual": "2.0
|
|
26
|
-
"@web/dev-server": "0.1.
|
|
27
|
-
"@web/dev-server-rollup": "0.3.
|
|
25
|
+
"@rollup/plugin-virtual": "2.1.0",
|
|
26
|
+
"@web/dev-server": "0.1.32",
|
|
27
|
+
"@web/dev-server-rollup": "0.3.18",
|
|
28
28
|
"@web/dev-server-storybook": "0.5.1",
|
|
29
|
-
"@web/storybook-prebuilt": "0.1.
|
|
29
|
+
"@web/storybook-prebuilt": "0.1.34",
|
|
30
30
|
"@webcomponents/scoped-custom-element-registry": "0.0.5",
|
|
31
31
|
"app-root-path": "3.0.0",
|
|
32
|
-
"autoprefixer": "10.4.
|
|
33
|
-
"chokidar": "3.5.
|
|
34
|
-
"chroma-js": "2.
|
|
35
|
-
"command-line-args": "5.2.
|
|
32
|
+
"autoprefixer": "10.4.7",
|
|
33
|
+
"chokidar": "3.5.3",
|
|
34
|
+
"chroma-js": "2.4.2",
|
|
35
|
+
"command-line-args": "5.2.1",
|
|
36
|
+
"deep-equal": "^2.0.5",
|
|
36
37
|
"deepmerge": "4.2.2",
|
|
37
|
-
"glob": "
|
|
38
|
-
"lit": "2.2.
|
|
38
|
+
"glob": "8.0.3",
|
|
39
|
+
"lit": "2.2.7",
|
|
39
40
|
"lodash": "4.17.21",
|
|
40
41
|
"path-is-inside": "1.0.2",
|
|
41
|
-
"postcss": "8.
|
|
42
|
+
"postcss": "8.4.14",
|
|
42
43
|
"postcss-clean": "1.2.2",
|
|
43
|
-
"postcss-import": "14.0
|
|
44
|
-
"postcss-preset-env": "7.
|
|
44
|
+
"postcss-import": "14.1.0",
|
|
45
|
+
"postcss-preset-env": "7.7.2",
|
|
45
46
|
"postcss-simple-vars": "6.0.3",
|
|
46
|
-
"rollup-plugin-lit-css": "
|
|
47
|
+
"rollup-plugin-lit-css": "4.0.0",
|
|
47
48
|
"rollup-plugin-styles": "4.0.0",
|
|
48
|
-
"style-dictionary": "3.
|
|
49
|
+
"style-dictionary": "3.7.1",
|
|
50
|
+
"tmp": "^0.2.1",
|
|
49
51
|
"web-component-analyzer": "1.1.6"
|
|
50
52
|
},
|
|
51
53
|
"devDependencies": {
|
|
@@ -55,7 +55,7 @@ const main = async () => {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
await createTokens();
|
|
58
|
-
await createComponentElementsJson('dist');
|
|
58
|
+
// await createComponentElementsJson('dist');
|
|
59
59
|
await createGlobalCSS('dist');
|
|
60
60
|
|
|
61
61
|
execSync(`build-storybook --output-dir ${outputDir} --config-dir ${configDir}`);
|
|
@@ -8,15 +8,89 @@ import postcssImport from 'postcss-import';
|
|
|
8
8
|
import postcssVariables from 'postcss-simple-vars';
|
|
9
9
|
import litcssPlugin from 'rollup-plugin-lit-css';
|
|
10
10
|
import * as variables from '../build/tokens/es6/muon-tokens.mjs';
|
|
11
|
-
import { getConfig } from './utils/index.mjs';
|
|
11
|
+
import { findComponents, getConfig, createComponentElementsJson } from './utils/index.mjs';
|
|
12
|
+
|
|
13
|
+
import { dirSync } from 'tmp';
|
|
14
|
+
import fs from 'fs';
|
|
12
15
|
import path from 'path';
|
|
13
16
|
|
|
17
|
+
const config = getConfig(`muon.config.json`);
|
|
18
|
+
|
|
19
|
+
const tmp = dirSync({ unsafeCleanup: true });
|
|
20
|
+
const tmpName = tmp.name;
|
|
21
|
+
|
|
22
|
+
const writeFileSyncRecursive = (filename, content = '') => {
|
|
23
|
+
fs.mkdirSync(path.dirname(filename), { recursive: true });
|
|
24
|
+
fs.writeFileSync(filename, content);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const getTmpFilePath = (tmpName, file) => path.join(tmpName, path.relative(process.cwd(), file));
|
|
28
|
+
|
|
29
|
+
const runElementJson = async () => {
|
|
30
|
+
const files = (await findComponents()).map((file) => getTmpFilePath(tmpName, file));
|
|
31
|
+
await createComponentElementsJson(files);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const shouldSkip = (file) => {
|
|
35
|
+
return file.indexOf('node_modules') > 0 || file.indexOf('virtual:') > 0;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const createElementJsonFile = async () => {
|
|
39
|
+
const destination = config?.destination || 'dist';
|
|
40
|
+
if (!fs.existsSync(destination)) {
|
|
41
|
+
fs.mkdirSync(destination, { recursive: true });
|
|
42
|
+
}
|
|
43
|
+
fs.writeFileSync(path.join(destination, 'custom-elements.json'), JSON.stringify({ tags: [] }));
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
let createElementJsonTimer;
|
|
47
|
+
const analyzerPlugin = () => {
|
|
48
|
+
return {
|
|
49
|
+
name: 'analyzer',
|
|
50
|
+
async moduleParsed(obj) {
|
|
51
|
+
if (shouldSkip(obj.id)) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
writeFileSyncRecursive(getTmpFilePath(tmpName, obj.id), obj.code);
|
|
55
|
+
if (createElementJsonTimer) {
|
|
56
|
+
clearTimeout(createElementJsonTimer);
|
|
57
|
+
}
|
|
58
|
+
createElementJsonTimer = setTimeout(runElementJson, 500);
|
|
59
|
+
},
|
|
60
|
+
async serverStart() {
|
|
61
|
+
await createElementJsonFile();
|
|
62
|
+
},
|
|
63
|
+
serverStop() {
|
|
64
|
+
tmp.removeCallback();
|
|
65
|
+
},
|
|
66
|
+
async buildStart() {
|
|
67
|
+
await createElementJsonFile();
|
|
68
|
+
},
|
|
69
|
+
async buildEnd() {
|
|
70
|
+
tmp.removeCallback();
|
|
71
|
+
},
|
|
72
|
+
async generateBundle(options, bundle) {
|
|
73
|
+
let code = '';
|
|
74
|
+
Object.keys(bundle).forEach((file) => {
|
|
75
|
+
Object.keys(bundle[file].modules).forEach((module) => {
|
|
76
|
+
code += `
|
|
77
|
+
${bundle[file].modules[module].code}
|
|
78
|
+
`;
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
writeFileSyncRecursive(getTmpFilePath(tmpName, 'code.js'), code);
|
|
83
|
+
createComponentElementsJson([getTmpFilePath(tmpName, 'code.js')]);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
|
|
14
88
|
const styles = fromRollup(stylesPlugin);
|
|
15
89
|
const replace = fromRollup(replacePlugin);
|
|
16
90
|
const litcss = fromRollup(litcssPlugin);
|
|
17
91
|
const alias = fromRollup(aliasPlugin);
|
|
92
|
+
const analyzer = fromRollup(analyzerPlugin);
|
|
18
93
|
|
|
19
|
-
const config = getConfig(`muon.config.json`);
|
|
20
94
|
const additionalAlias = config?.alias?.map(({ find, replacement }) => {
|
|
21
95
|
return {
|
|
22
96
|
find,
|
|
@@ -69,12 +143,14 @@ export const serverPlugins = [
|
|
|
69
143
|
alias(aliasConfig),
|
|
70
144
|
replace(replaceConfig),
|
|
71
145
|
styles(styleConfig),
|
|
72
|
-
litcss({ exclude: ['**/css/*.css', '**/dist/*.css', 'muon.min.css'] })
|
|
146
|
+
litcss({ exclude: ['**/css/*.css', '**/dist/*.css', 'muon.min.css'] }),
|
|
147
|
+
analyzer()
|
|
73
148
|
];
|
|
74
149
|
|
|
75
150
|
export const rollupPlugins = [
|
|
76
151
|
aliasPlugin(aliasConfig),
|
|
77
152
|
replacePlugin(replaceConfig),
|
|
78
153
|
stylesPlugin(styleConfig),
|
|
79
|
-
litcssPlugin({ exclude: ['**/css/*.css', '**/dist/*.css', 'muon.min.css'] })
|
|
154
|
+
litcssPlugin({ exclude: ['**/css/*.css', '**/dist/*.css', 'muon.min.css'] }),
|
|
155
|
+
analyzerPlugin()
|
|
80
156
|
];
|
package/scripts/serve/run.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import chokidar from 'chokidar';
|
|
|
4
4
|
import { startDevServer } from '@web/dev-server';
|
|
5
5
|
import commandLineArgs from 'command-line-args';
|
|
6
6
|
import StorybookConfig from '../../storybook/server.config.mjs';
|
|
7
|
-
import { getConfig,
|
|
7
|
+
import { getConfig, createTokens } from '../utils/index.mjs';
|
|
8
8
|
|
|
9
9
|
import postcss from 'postcss';
|
|
10
10
|
import { postcssPlugins } from '../rollup-plugins.mjs';
|
|
@@ -59,11 +59,6 @@ const main = async () => {
|
|
|
59
59
|
const destination = config?.destination || 'dist';
|
|
60
60
|
|
|
61
61
|
await createStyleTokens(destination);
|
|
62
|
-
await createComponentElementsJson();
|
|
63
|
-
|
|
64
|
-
chokidar.watch('components/**/*-component.js', { ignoreInitial: true }).on('all', async () => {
|
|
65
|
-
await createComponentElementsJson();
|
|
66
|
-
});
|
|
67
62
|
|
|
68
63
|
/* Internal dev mode */
|
|
69
64
|
chokidar.watch(globalCSSUrl, { ignoreInitial: true }).on('all', async () => {
|
package/scripts/utils/index.mjs
CHANGED
|
@@ -4,6 +4,7 @@ import StyleDictionary from 'style-dictionary';
|
|
|
4
4
|
import formatHelpers from 'style-dictionary/lib/common/formatHelpers/index.js';
|
|
5
5
|
import _ from 'lodash';
|
|
6
6
|
import appRoot from 'app-root-path';
|
|
7
|
+
import deepEqual from 'deep-equal';
|
|
7
8
|
import glob from 'glob';
|
|
8
9
|
import fs from 'fs';
|
|
9
10
|
import path from 'path';
|
|
@@ -94,10 +95,13 @@ const analyze = async () => {
|
|
|
94
95
|
});
|
|
95
96
|
};
|
|
96
97
|
|
|
97
|
-
const createComponentElementsJson = async (
|
|
98
|
-
|
|
98
|
+
const createComponentElementsJson = async (files) => {
|
|
99
|
+
if (!files) {
|
|
100
|
+
files = await findComponents();
|
|
101
|
+
}
|
|
99
102
|
const config = await getConfig();
|
|
100
|
-
const destination =
|
|
103
|
+
const destination = config.destination || 'dist';
|
|
104
|
+
|
|
101
105
|
const results = await analyzeAndTransformGlobs(files, {
|
|
102
106
|
format: 'json'
|
|
103
107
|
});
|
|
@@ -112,7 +116,11 @@ const createComponentElementsJson = async (overrideDest) => {
|
|
|
112
116
|
process.exit(1);
|
|
113
117
|
}
|
|
114
118
|
|
|
115
|
-
fs.
|
|
119
|
+
const content = JSON.parse(fs.readFileSync(path.join(destination, 'custom-elements.json')));
|
|
120
|
+
|
|
121
|
+
if (!deepEqual(content, jsonResults)) {
|
|
122
|
+
fs.writeFileSync(path.join(destination, 'custom-elements.json'), results);
|
|
123
|
+
}
|
|
116
124
|
return results;
|
|
117
125
|
};
|
|
118
126
|
|
|
@@ -191,5 +199,6 @@ export {
|
|
|
191
199
|
styleDictionary,
|
|
192
200
|
createTokens,
|
|
193
201
|
componentDefiner,
|
|
202
|
+
findComponents,
|
|
194
203
|
runner
|
|
195
204
|
};
|