@lipemat/js-boilerplate 10.15.0-beta.1 → 10.15.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/bin/lipemat-js-boilerplate.js +0 -0
- package/config/dev-server.config.js +5 -0
- package/config/dev-server.config.js.map +1 -1
- package/config/dev-server.config.ts +5 -1
- package/package.json +2 -3
- package/scripts/analyze.js +49 -0
- package/scripts/analyze.js.map +1 -0
- package/scripts/browserslist.js.map +1 -0
- package/scripts/dist.js +20 -0
- package/scripts/dist.js.map +1 -0
- package/scripts/fix-pnp.js.map +1 -0
- package/scripts/lint.js +54 -0
- package/scripts/lint.js.map +1 -0
- package/scripts/start.js.map +1 -0
- package/scripts/validate-css-modules.js +66 -0
- package/scripts/validate-css-modules.js.map +1 -0
- package/types/wordpress__browserslist-config.js.map +1 -0
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-server.config.js","sourceRoot":"","sources":["dev-server.config.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,8DAA2D;AAG3D,MAAM,aAAa,GAAG,IAAA,iCAAgB,GAAE,CAAC;AAEzC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAE,aAAa,CAAC,GAAG,CAAE,CAAC;AAEzC,IAAI,MAAM,GAA4B,QAAQ,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACnF,wDAAwD;AACxD,IAAK,QAAQ,KAAK,OAAO,CAAE,aAAa,CAAC,YAAY,CAAE,EAAG,CAAC;IAC1D,MAAM,GAAG;QACR,IAAI,EAAE,OAAO;QACb,OAAO,EAAE;YACR,IAAI,EAAE,YAAE,CAAC,YAAY,CAAE,aAAa,CAAC,YAAY,CAAC,IAAI,CAAE;YACxD,GAAG,EAAE,YAAE,CAAC,YAAY,CAAE,aAAa,CAAC,YAAY,CAAC,GAAG,CAAE;SACtD;KACD,CAAC;AACH,CAAC;
|
|
1
|
+
{"version":3,"file":"dev-server.config.js","sourceRoot":"","sources":["dev-server.config.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,8DAA2D;AAG3D,MAAM,aAAa,GAAG,IAAA,iCAAgB,GAAE,CAAC;AAEzC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAE,aAAa,CAAC,GAAG,CAAE,CAAC;AAEzC,IAAI,MAAM,GAA4B,QAAQ,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACnF,wDAAwD;AACxD,IAAK,QAAQ,KAAK,OAAO,CAAE,aAAa,CAAC,YAAY,CAAE,EAAG,CAAC;IAC1D,MAAM,GAAG;QACR,IAAI,EAAE,OAAO;QACb,OAAO,EAAE;YACR,IAAI,EAAE,YAAE,CAAC,YAAY,CAAE,aAAa,CAAC,YAAY,CAAC,IAAI,CAAE;YACxD,GAAG,EAAE,YAAE,CAAC,YAAY,CAAE,aAAa,CAAC,YAAY,CAAC,GAAG,CAAE;SACtD;KACD,CAAC;AACH,CAAC;AAED,MAAM,MAAM,GAAkB;IAC7B,YAAY,EAAE,KAAK;IACnB,MAAM,EAAE;QACP,OAAO,EAAE,MAAM;QACf,OAAO,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,KAAK;SACf;QACD,YAAY,EAAE;YACb,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,KAAK;SACf;KACD;IACD,OAAO,EAAE;QACR,6BAA6B,EAAE,GAAG;QAClC,8BAA8B,EAAE,GAAG;QACnC,8BAA8B,EAAE,GAAG;KACnC;IACD,IAAI,EAAE,SAAS,EAAE,iCAAiC;IAClD,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;IACV,MAAM;IACN,MAAM,EAAE,KAAK;CACb,CAAA;AAED,kBAAe,MAAM,CAAC;AACtB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC"}
|
|
@@ -18,7 +18,6 @@ if ( 'object' === typeof ( packageConfig.certificates ) ) {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
|
|
22
21
|
const config: Configuration = {
|
|
23
22
|
allowedHosts: 'all',
|
|
24
23
|
client: {
|
|
@@ -27,6 +26,11 @@ const config: Configuration = {
|
|
|
27
26
|
errors: true,
|
|
28
27
|
warnings: false,
|
|
29
28
|
},
|
|
29
|
+
webSocketURL: {
|
|
30
|
+
hostname: url.hostname,
|
|
31
|
+
port: 3000,
|
|
32
|
+
protocol: 'wss',
|
|
33
|
+
},
|
|
30
34
|
},
|
|
31
35
|
headers: {
|
|
32
36
|
'Access-Control-Allow-Origin': '*',
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lipemat/js-boilerplate",
|
|
3
|
-
"version": "10.15.0
|
|
3
|
+
"version": "10.15.0",
|
|
4
4
|
"description": "Dependencies and scripts for a no config JavaScript app",
|
|
5
5
|
"author": "Mat Lipe",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"engines": {
|
|
8
|
-
"node": ">=
|
|
8
|
+
"node": ">=20.11.0"
|
|
9
9
|
},
|
|
10
10
|
"bugs": {
|
|
11
11
|
"url": "https://github.com/lipemat/js-boilerplate/issues"
|
|
@@ -51,7 +51,6 @@
|
|
|
51
51
|
"@statoscope/webpack-plugin": "^5.29.0",
|
|
52
52
|
"@types/babel__preset-env": "^7.9.6",
|
|
53
53
|
"@types/clean-css": "^4.2.11",
|
|
54
|
-
"@types/node": "^22.19.3",
|
|
55
54
|
"@types/postcss-load-config": "^3.0.1",
|
|
56
55
|
"@types/postcss-preset-env": "^7.7.0",
|
|
57
56
|
"@wordpress/browserslist-config": "^6.19.0",
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { getConfig } from '../helpers/config.js';
|
|
2
|
+
import webpack from 'webpack';
|
|
3
|
+
import Statoscope from '@statoscope/webpack-plugin';
|
|
4
|
+
import fs from 'fs';
|
|
5
|
+
import minimist from 'minimist';
|
|
6
|
+
const help = `
|
|
7
|
+
Uses Statoscope to visualize the size of the project's output files.
|
|
8
|
+
|
|
9
|
+
Usage: lipemat-js-boilerplate analyze [--stats-only|--help]
|
|
10
|
+
|
|
11
|
+
--help, -h : Show the help menu.
|
|
12
|
+
--stats-only: Generate a stats.json file for use with
|
|
13
|
+
https://statoscope.tech for comparing diffs between builds.
|
|
14
|
+
|
|
15
|
+
`;
|
|
16
|
+
// Command line arguments.
|
|
17
|
+
const flags = minimist(process.argv.slice(2));
|
|
18
|
+
const workingDirectory = fs.realpathSync(process.cwd());
|
|
19
|
+
const statsDir = workingDirectory + '/node_modules/.cache/statoscope';
|
|
20
|
+
const webpackConfig = await getConfig('webpack.dist.js');
|
|
21
|
+
// @ts-expect-error TS2339 ESM imports of Statscrope resuire translation of `.default.
|
|
22
|
+
const StatoscopeWebpackPlugin = Statoscope.default;
|
|
23
|
+
if (true === flags.h || true === flags.help) {
|
|
24
|
+
console.debug(help);
|
|
25
|
+
process.exit(0);
|
|
26
|
+
}
|
|
27
|
+
function analyze() {
|
|
28
|
+
const statsOnly = true === (flags['stats-only'] ?? false);
|
|
29
|
+
webpackConfig.plugins?.push(new StatoscopeWebpackPlugin({
|
|
30
|
+
saveOnlyStats: statsOnly,
|
|
31
|
+
saveStatsTo: statsOnly ? workingDirectory + '/stats-[hash].json' : statsDir + '/stats-[hash].json',
|
|
32
|
+
saveReportTo: statsDir + '/stats-[hash].html',
|
|
33
|
+
}));
|
|
34
|
+
// Use the default webpack stats configuration.
|
|
35
|
+
delete webpackConfig.stats;
|
|
36
|
+
webpack(webpackConfig)?.run((err, stats) => {
|
|
37
|
+
if (err) {
|
|
38
|
+
throw err;
|
|
39
|
+
}
|
|
40
|
+
if ('undefined' === typeof stats) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (stats.hasErrors()) {
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
analyze();
|
|
49
|
+
//# sourceMappingURL=analyze.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyze.js","sourceRoot":"","sources":["analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,UAAU,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,MAAM,IAAI,GAAG;;;;;;;;;CASZ,CAAC;AAEF,0BAA0B;AAC1B,MAAM,KAAK,GAAG,QAAQ,CAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAE,CAAE,CAAC;AAClD,MAAM,gBAAgB,GAAG,EAAE,CAAC,YAAY,CAAE,OAAO,CAAC,GAAG,EAAE,CAAE,CAAC;AAC1D,MAAM,QAAQ,GAAG,gBAAgB,GAAG,iCAAiC,CAAC;AACtE,MAAM,aAAa,GAAG,MAAM,SAAS,CAAE,iBAAiB,CAAE,CAAC;AAC3D,sFAAsF;AACtF,MAAM,uBAAuB,GAAsB,UAAU,CAAC,OAAO,CAAC;AAEtE,IAAK,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,EAAG,CAAC;IAC/C,OAAO,CAAC,KAAK,CAAE,IAAI,CAAE,CAAC;IACtB,OAAO,CAAC,IAAI,CAAE,CAAC,CAAE,CAAC;AACnB,CAAC;AAGD,SAAS,OAAO;IACf,MAAM,SAAS,GAAY,IAAI,KAAK,CAAE,KAAK,CAAE,YAAY,CAAE,IAAI,KAAK,CAAE,CAAC;IAEvE,aAAa,CAAC,OAAO,EAAE,IAAI,CAAE,IAAI,uBAAuB,CAAE;QACzD,aAAa,EAAE,SAAS;QACxB,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,CAAC,CAAC,QAAQ,GAAG,oBAAoB;QAClG,YAAY,EAAE,QAAQ,GAAG,oBAAoB;KAC7C,CAAE,CAAE,CAAC;IAEN,+CAA+C;IAC/C,OAAO,aAAa,CAAC,KAAK,CAAC;IAE3B,OAAO,CAAE,aAAa,CAAE,EAAE,GAAG,CAAE,CAAE,GAAG,EAAE,KAAK,EAAG,EAAE;QAC/C,IAAK,GAAG,EAAG,CAAC;YACX,MAAM,GAAG,CAAC;QACX,CAAC;QACD,IAAK,WAAW,KAAK,OAAO,KAAK,EAAG,CAAC;YACpC,OAAO;QACR,CAAC;QACD,IAAK,KAAK,CAAC,SAAS,EAAE,EAAG,CAAC;YACzB,OAAO,CAAC,IAAI,CAAE,CAAC,CAAE,CAAC;QACnB,CAAC;IACF,CAAC,CAAE,CAAC;AACL,CAAC;AAED,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browserslist.js","sourceRoot":"","sources":["browserslist.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,eAAe,EAAC,MAAM,wDAAwD,CAAC;AAEvF,MAAM,IAAI,GAAG;;;;;;;;kCAQqB,CAAC;AAEnC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAE,CAAC;AACrC,IAAK,IAAI,CAAE,CAAC,CAAE,IAAI,CAAE,IAAI,KAAK,IAAI,CAAE,CAAC,CAAE,IAAI,QAAQ,KAAK,IAAI,CAAE,CAAC,CAAE,CAAE,EAAG,CAAC;IACrE,OAAO,CAAC,KAAK,CAAE,IAAI,CAAE,CAAC;IACtB,OAAO,CAAC,IAAI,CAAE,CAAC,CAAE,CAAC;AACnB,CAAC;AAGD,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;AAEnC,OAAO,CAAC,KAAK,CAAE,EAAE,CAAE,CAAC;AACpB,OAAO,CAAC,KAAK,CAAE,0BAA0B,CAAE,CAAC;AAC5C,OAAO,CAAC,KAAK,CAAE,QAAQ,CAAE,CAAC;AAE1B,OAAO,CAAC,KAAK,CAAE,EAAE,CAAE,CAAC;AACpB,OAAO,CAAC,KAAK,CAAE,sBAAsB,CAAE,CAAC;AACxC,OAAO,CAAC,KAAK,CAAE,YAAY,CAAE,QAAQ,EAAE;IACtC,GAAG,EAAE,YAAY;CACjB,CAAE,CAAE,CAAC;AAEN,OAAO,CAAC,KAAK,CAAE,EAAE,CAAE,CAAC;AACpB,OAAO,CAAC,KAAK,CAAE,qBAAqB,CAAE,CAAC;AACvC,OAAO,CAAC,KAAK,CAAE,YAAY,CAAC,QAAQ,CAAE,YAAY,CAAE,QAAQ,EAAE;IAC7D,GAAG,EAAE,YAAY;CACjB,CAAE,CAAE,CAAE,CAAC"}
|
package/scripts/dist.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { getConfig } from '../helpers/config.js';
|
|
2
|
+
import webpack from 'webpack';
|
|
3
|
+
const config = await getConfig('webpack.dist.js');
|
|
4
|
+
const compiler = webpack(config);
|
|
5
|
+
if (null === compiler) {
|
|
6
|
+
throw new Error('Failed to create the webpack compiler.');
|
|
7
|
+
}
|
|
8
|
+
compiler.run((err, stats) => {
|
|
9
|
+
if (err || 'undefined' === typeof stats) {
|
|
10
|
+
throw err;
|
|
11
|
+
}
|
|
12
|
+
if (stats.hasErrors()) {
|
|
13
|
+
console.error(stats.toString(config.stats));
|
|
14
|
+
process.exit(1);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
console.debug(stats.toString(config.stats));
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=dist.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dist.js","sourceRoot":"","sources":["dist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,OAAwD,MAAM,SAAS,CAAC;AAE/E,MAAM,MAAM,GAAkB,MAAM,SAAS,CAAE,iBAAiB,CAAE,CAAC;AAEnE,MAAM,QAAQ,GAAoB,OAAO,CAAE,MAAM,CAAE,CAAC;AACpD,IAAK,IAAI,KAAK,QAAQ,EAAG,CAAC;IACzB,MAAM,IAAI,KAAK,CAAE,wCAAwC,CAAE,CAAC;AAC7D,CAAC;AACD,QAAQ,CAAC,GAAG,CAAE,CAAE,GAAiB,EAAE,KAAwB,EAAG,EAAE;IAC/D,IAAK,GAAG,IAAI,WAAW,KAAK,OAAO,KAAK,EAAG,CAAC;QAC3C,MAAM,GAAG,CAAC;IACX,CAAC;IAED,IAAK,KAAK,CAAC,SAAS,EAAE,EAAG,CAAC;QACzB,OAAO,CAAC,KAAK,CAAE,KAAK,CAAC,QAAQ,CAAE,MAAM,CAAC,KAAK,CAAE,CAAE,CAAC;QAChD,OAAO,CAAC,IAAI,CAAE,CAAC,CAAE,CAAC;IACnB,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAE,KAAK,CAAC,QAAQ,CAAE,MAAM,CAAC,KAAK,CAAE,CAAE,CAAC;IACjD,CAAC;AACF,CAAC,CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fix-pnp.js","sourceRoot":"","sources":["fix-pnp.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,SAAS,GAAG;IACjB,WAAW;IACX,YAAY;IACZ,YAAY;CACZ,CAAC;AAEF,SAAS,CAAC,OAAO,CAAE,QAAQ,CAAC,EAAE;IAC7B,IAAK,EAAE,CAAC,UAAU,CAAE,QAAQ,CAAE,EAAG,CAAC;QACjC,EAAE,CAAC,QAAQ,CAAE,QAAQ,EAAE,MAAM,EAAE,CAAE,SAAS,EAAE,IAAI,EAAG,EAAE;YACpD,IAAK,SAAS,EAAG,CAAC;gBACjB,OAAO,OAAO,CAAC,KAAK,CAAE,SAAS,CAAE,CAAC;YACnC,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAE,4BAA4B,EAAE,yEAAyE;gBACnI,uDAAuD;gBACvD,qCAAqC;gBACrC,yDAAyD,CAAE,CAAC;YAE7D,EAAE,CAAC,SAAS,CAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;gBACpD,IAAK,UAAU,EAAG,CAAC;oBAClB,OAAO,OAAO,CAAC,KAAK,CAAE,UAAU,CAAE,CAAC;gBACpC,CAAC;gBACD,OAAO,CAAC,KAAK,CAAE,OAAO,QAAQ,0EAA0E,CAAE,CAAC;YAC5G,CAAC,CAAE,CAAC;QACL,CAAC,CAAE,CAAC;IACL,CAAC;AACF,CAAC,CAAE,CAAC"}
|
package/scripts/lint.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ESLint } from 'eslint';
|
|
2
|
+
import minimist from 'minimist';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { getPackageConfig } from '@lipemat/js-boilerplate-shared/helpers/package-config.js';
|
|
5
|
+
// Command line arguments.
|
|
6
|
+
const flags = minimist(process.argv.slice(2));
|
|
7
|
+
/**
|
|
8
|
+
* ESLint does not have a utility method for detecting if
|
|
9
|
+
* any error has occurred, nor does it set the exit code.
|
|
10
|
+
*
|
|
11
|
+
* We can use this function to determine if any error has
|
|
12
|
+
* occurred and set the exit code accordingly.
|
|
13
|
+
*/
|
|
14
|
+
function errorOccurred(results) {
|
|
15
|
+
return results.some(result => result.errorCount > 0 || result.warningCount > 0);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Use the public API to run the eslint commands.
|
|
19
|
+
*
|
|
20
|
+
* @link https://eslint.org/docs/developer-guide/nodejs-api
|
|
21
|
+
*/
|
|
22
|
+
(async function main() {
|
|
23
|
+
// 1. Create an instance with the `fix` and `cache` options.
|
|
24
|
+
const eslint = new ESLint({
|
|
25
|
+
fix: (flags.fix ?? true) !== 'false',
|
|
26
|
+
cache: true,
|
|
27
|
+
cacheStrategy: 'content',
|
|
28
|
+
});
|
|
29
|
+
console.debug(chalk.underline('Running "js-boilerplate:lint" (eslint) task'));
|
|
30
|
+
// 2. Lint files. This doesn't modify target files.
|
|
31
|
+
const results = await eslint.lintFiles([
|
|
32
|
+
getPackageConfig().workingDirectory + '/src/**/*.{js,jsx,ts,tsx,svelte}',
|
|
33
|
+
]);
|
|
34
|
+
// 3. Modify the files with the fixed code.
|
|
35
|
+
await ESLint.outputFixes(results);
|
|
36
|
+
// 4. Format the results.
|
|
37
|
+
const formatter = await eslint.loadFormatter('stylish');
|
|
38
|
+
const resultText = formatter.format(results);
|
|
39
|
+
// 5. Output it.
|
|
40
|
+
if ('' === resultText) {
|
|
41
|
+
console.debug(`>> Linted ${results.length} files without errors`);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
console.debug(resultText);
|
|
45
|
+
if (errorOccurred(results)) {
|
|
46
|
+
process.exitCode = 1;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
console.debug('');
|
|
50
|
+
}()).catch(error => {
|
|
51
|
+
process.exitCode = 1;
|
|
52
|
+
console.error(error);
|
|
53
|
+
});
|
|
54
|
+
//# sourceMappingURL=lint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["lint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAC9B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,gBAAgB,EAAC,MAAM,0DAA0D,CAAC;AAE1F,0BAA0B;AAC1B,MAAM,KAAK,GAAG,QAAQ,CAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,CAAE,CAAE,CAAC;AAElD;;;;;;GAMG;AACH,SAAS,aAAa,CAAE,OAA4B;IACnD,OAAO,OAAO,CAAC,IAAI,CAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,CAAE,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,CAAE,KAAK,UAAU,IAAI;IACpB,4DAA4D;IAC5D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAE;QAC1B,GAAG,EAAE,CAAE,KAAK,CAAC,GAAG,IAAI,IAAI,CAAE,KAAK,OAAO;QACtC,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,SAAS;KACxB,CAAE,CAAC;IAEJ,OAAO,CAAC,KAAK,CAAE,KAAK,CAAC,SAAS,CAAE,6CAA6C,CAAE,CAAE,CAAC;IAElF,mDAAmD;IACnD,MAAM,OAAO,GAAwB,MAAM,MAAM,CAAC,SAAS,CAAE;QAC5D,gBAAgB,EAAE,CAAC,gBAAgB,GAAG,kCAAkC;KACxE,CAAE,CAAC;IAEJ,2CAA2C;IAC3C,MAAM,MAAM,CAAC,WAAW,CAAE,OAAO,CAAE,CAAC;IAEpC,yBAAyB;IACzB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,aAAa,CAAE,SAAS,CAAE,CAAC;IAC1D,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAE,OAAO,CAAE,CAAC;IAE/C,gBAAgB;IAChB,IAAK,EAAE,KAAK,UAAU,EAAG,CAAC;QACzB,OAAO,CAAC,KAAK,CAAE,aAAa,OAAO,CAAC,MAAM,uBAAuB,CAAE,CAAC;IACrE,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAE,UAAU,CAAE,CAAC;QAC5B,IAAK,aAAa,CAAE,OAAO,CAAE,EAAG,CAAC;YAChC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACtB,CAAC;IACF,CAAC;IACD,OAAO,CAAC,KAAK,CAAE,EAAE,CAAE,CAAC;AACrB,CAAC,EAAE,CAAE,CAAC,KAAK,CAAE,KAAK,CAAC,EAAE;IACpB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrB,OAAO,CAAC,KAAK,CAAE,KAAK,CAAE,CAAC;AACxB,CAAC,CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["start.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,aAAa,CAAC;AACtC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC;AAErC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,gBAAgB,EAAC,MAAM,0DAA0D,CAAC;AAC1F,OAAO,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,IAAI,CAAC;AACzC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,aAAa,GAAG,MAAM,SAAS,CAAE,gBAAgB,CAAE,CAAC;AAC1D,MAAM,eAAe,GAAG,MAAM,SAAS,CAAE,sBAAsB,CAAE,CAAC;AAElE,MAAM,QAAQ,GAAG,OAAO,CAAE,aAAa,CAAE,CAAC;AAC1C,IAAK,IAAI,KAAK,QAAQ,EAAG,CAAC;IACzB,MAAM,IAAI,KAAK,CAAE,wCAAwC,CAAE,CAAC;AAC7D,CAAC;AACD,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAE,eAAe,EAAE,QAAQ,CAAE,CAAC;AAEjE;;;GAGG;AACH,SAAS,CAAE,IAAI,CAAC,OAAO,CAAE,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAE,EAAE,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,GAAG,IAAI,GAAG,uCAAuC,EAAE,GAAG,CAAC,EAAE;IACpK,IAAK,GAAG,EAAG,CAAC;QACX,MAAM,GAAG,CAAC;IACX,CAAC;IACD,OAAO,CAAC,EAAE,CAAE,MAAM,EAAE,GAAG,EAAE;QACxB,UAAU,CAAE,IAAI,CAAC,OAAO,CAAE,gBAAgB,EAAE,CAAC,gBAAgB,EAAE,eAAe,CAAE,CAAE,CAAC;IACpF,CAAC,CAAE,CAAC;AACL,CAAC,CAAE,CAAC;AAEJ,CAAE,KAAK,IAAG,EAAE;IACX,IAAI,CAAC;QACJ,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAAC,OAAQ,GAAG,EAAG,CAAC;QAChB,OAAO,OAAO,CAAC,KAAK,CAAE,GAAG,CAAE,CAAC;IAC7B,CAAC;AACF,CAAC,CAAE,EAAE,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import webpack from 'webpack';
|
|
2
|
+
import { getConfig } from '../helpers/config.js';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
5
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
6
|
+
const help = `
|
|
7
|
+
Validate CSS modules using .d.ts definition files for each CSS module.
|
|
8
|
+
|
|
9
|
+
- Generates .d.ts files for each CSS module.
|
|
10
|
+
- Runs \`dist\` to validate compilation using TS.
|
|
11
|
+
|
|
12
|
+
@deprecated Not needed anymore now PHPStorm supports .d.ts files for CSS modules.
|
|
13
|
+
|
|
14
|
+
@see .github/workflows/pull-request-lint-action.yml
|
|
15
|
+
|
|
16
|
+
Usage: lipemat-js-boilerplate validate-css-modules
|
|
17
|
+
|
|
18
|
+
--help, -h Show the help menu.`;
|
|
19
|
+
const args = process.argv.slice(3);
|
|
20
|
+
if ('-h' === args[0] || '--help' === args[0]) {
|
|
21
|
+
console.debug(help);
|
|
22
|
+
process.exit(0);
|
|
23
|
+
}
|
|
24
|
+
async function validate() {
|
|
25
|
+
let webpackConfig = await getConfig('webpack.dist.js');
|
|
26
|
+
webpackConfig.stats = 'errors-warnings';
|
|
27
|
+
// Add CSS module typings generation to webpack config.
|
|
28
|
+
webpackConfig.module?.rules?.map(rule => {
|
|
29
|
+
if (rule && 'object' === typeof rule && 'test' in rule && rule.test?.toString() === /\.pcss$/.toString()) {
|
|
30
|
+
// @ts-expect-error
|
|
31
|
+
rule.use?.splice(1, 0, {
|
|
32
|
+
loader: path.resolve(__dirname, '../lib/css-module-types.js'),
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return rule;
|
|
36
|
+
});
|
|
37
|
+
// Wait for the generation to finish before continuing.
|
|
38
|
+
await new Promise((resolve, reject) => {
|
|
39
|
+
webpack(webpackConfig)?.run((err, stats) => {
|
|
40
|
+
if (err) {
|
|
41
|
+
reject(err);
|
|
42
|
+
}
|
|
43
|
+
if (stats && stats.hasErrors()) {
|
|
44
|
+
console.error(stats.toString(webpackConfig.stats));
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
47
|
+
resolve(stats);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
console.debug('>>> CSS Module definitions generated.');
|
|
51
|
+
// A fresh config for CSS validation.
|
|
52
|
+
webpackConfig = await getConfig('webpack.dist.js');
|
|
53
|
+
webpackConfig.stats = 'errors-warnings';
|
|
54
|
+
webpack(webpackConfig)?.run((err, stats) => {
|
|
55
|
+
if (err) {
|
|
56
|
+
throw err;
|
|
57
|
+
}
|
|
58
|
+
if (stats && stats.hasErrors()) {
|
|
59
|
+
console.error(stats.toString(webpackConfig.stats));
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
console.debug('>>> CSS validation completed.');
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
await validate();
|
|
66
|
+
//# sourceMappingURL=validate-css-modules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-css-modules.js","sourceRoot":"","sources":["validate-css-modules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wordpress__browserslist-config.js","sourceRoot":"","sources":["wordpress__browserslist-config.ts"],"names":[],"mappings":""}
|