@pinnacle0/webpack-util 0.3.27 → 0.3.29
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/README.md +13 -13
- package/package.json +15 -11
- package/src/ProjectStructureChecker.d.ts +1 -2
- package/src/ProjectStructureChecker.js +3 -4
- package/src/ProjectStructureChecker.js.map +1 -1
- package/src/WebpackBuilder.d.ts +2 -1
- package/src/WebpackBuilder.js +5 -6
- package/src/WebpackBuilder.js.map +1 -1
- package/src/WebpackConfigGenerator/Plugin/index.d.ts +2 -0
- package/src/WebpackConfigGenerator/Plugin/index.js +2 -0
- package/src/WebpackConfigGenerator/Plugin/index.js.map +1 -1
- package/src/WebpackConfigGenerator/Plugin/type-checker.plugin.d.ts +10 -0
- package/src/WebpackConfigGenerator/Plugin/type-checker.plugin.js +20 -0
- package/src/WebpackConfigGenerator/Plugin/type-checker.plugin.js.map +1 -0
- package/src/WebpackConfigGenerator/Rule/core-fe-hmr-babel-plugin.d.ts +1 -1
- package/src/WebpackConfigGenerator/Rule/core-fe-hmr-babel-plugin.js +1 -1
- package/src/WebpackConfigGenerator/Rule/ts.rule.js +3 -16
- package/src/WebpackConfigGenerator/Rule/ts.rule.js.map +1 -1
- package/src/WebpackConfigGenerator/index.d.ts +1 -1
- package/src/WebpackConfigGenerator/index.js +8 -7
- package/src/WebpackConfigGenerator/index.js.map +1 -1
- package/src/WebpackServerStarter.d.ts +2 -2
- package/src/WebpackServerStarter.js +3 -1
- package/src/WebpackServerStarter.js.map +1 -1
- package/src/type.d.ts +18 -0
- package/src/TypescriptTypeChecker.d.ts +0 -11
- package/src/TypescriptTypeChecker.js +0 -32
- package/src/TypescriptTypeChecker.js.map +0 -1
package/README.md
CHANGED
|
@@ -14,8 +14,8 @@ new WebpackServerStarter({
|
|
|
14
14
|
}).run();
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
-
|
|
18
|
-
-
|
|
17
|
+
- Creates a `webpack` compiler instance (development mode) and runs it with `webpack-dev-server`.
|
|
18
|
+
- Starts a `localhost` https server in `1234` port.
|
|
19
19
|
|
|
20
20
|
## `WebpackBuilder`
|
|
21
21
|
|
|
@@ -25,20 +25,20 @@ new WebpackBuilder({
|
|
|
25
25
|
}).run();
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
28
|
+
- Checks if the project structure complies to convention described below.
|
|
29
|
+
- Optional `rootDirectory` key can be included in monorepo projects. This is used to check if [`canadyarn`](https://www.npmjs.com/package/canadyarn) script exists in root's `package.json` and check if specified dependencies have single resolved version in `yarn.lock`.
|
|
30
|
+
- Checks if source files complies with project `prettier` / `stylelint` / `eslint` rules.
|
|
31
|
+
- Run test if supported by `package.json` scripts.
|
|
32
|
+
- Creates a `webpack` compiler instance (production mode) and bundle into an `index.html` with related CSS/JS/images etc.
|
|
33
33
|
|
|
34
34
|
## Project Tech Stack Requirement
|
|
35
35
|
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
36
|
+
- yarn
|
|
37
|
+
- TypeScript/JavaScript
|
|
38
|
+
- CSS/LESS
|
|
39
|
+
- eslint
|
|
40
|
+
- stylelint
|
|
41
|
+
- prettier
|
|
42
42
|
|
|
43
43
|
Note: CSS/LESS only website also supported, without any JavaScript.
|
|
44
44
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pinnacle0/webpack-util",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.29",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -10,28 +10,32 @@
|
|
|
10
10
|
"test": "jest --config config/jest.config.ts"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@babel/core": "7.
|
|
13
|
+
"@babel/core": "7.19.0",
|
|
14
|
+
"@babel/plugin-proposal-decorators": "7.19.1",
|
|
15
|
+
"@babel/preset-env": "7.19.1",
|
|
16
|
+
"@babel/preset-react": "7.18.6",
|
|
17
|
+
"@babel/preset-typescript": "7.18.6",
|
|
14
18
|
"@pmmmwh/react-refresh-webpack-plugin": "0.5.7",
|
|
15
|
-
"@swc/core": "1.2.
|
|
16
|
-
"autoprefixer": "10.4.
|
|
19
|
+
"@swc/core": "1.2.249",
|
|
20
|
+
"autoprefixer": "10.4.8",
|
|
17
21
|
"babel-loader": "8.2.5",
|
|
18
22
|
"css-loader": "6.7.1",
|
|
19
23
|
"css-minimizer-webpack-plugin": "4.0.0",
|
|
24
|
+
"fork-ts-checker-webpack-plugin": "7.2.13",
|
|
20
25
|
"fs-extra": "10.1.0",
|
|
21
26
|
"html-webpack-plugin": "5.5.0",
|
|
22
27
|
"less": "4.1.3",
|
|
23
28
|
"less-loader": "11.0.0",
|
|
24
29
|
"mini-css-extract-plugin": "2.6.1",
|
|
25
|
-
"postcss": "8.4.
|
|
26
|
-
"postcss-loader": "7.0.
|
|
27
|
-
"pretty-format": "
|
|
30
|
+
"postcss": "8.4.16",
|
|
31
|
+
"postcss-loader": "7.0.1",
|
|
32
|
+
"pretty-format": "29.0.2",
|
|
28
33
|
"react-refresh": "0.14.0",
|
|
29
34
|
"style-loader": "3.3.1",
|
|
30
35
|
"swc-loader": "0.2.3",
|
|
31
|
-
"terser-webpack-plugin": "5.3.
|
|
32
|
-
"
|
|
33
|
-
"webpack": "
|
|
34
|
-
"webpack-dev-server": "4.9.3",
|
|
36
|
+
"terser-webpack-plugin": "5.3.6",
|
|
37
|
+
"webpack": "5.74.0",
|
|
38
|
+
"webpack-dev-server": "4.11.0",
|
|
35
39
|
"yargs": "17.5.1"
|
|
36
40
|
},
|
|
37
41
|
"peerDependencies": {
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { InternalCheckerOptions } from "./type";
|
|
2
2
|
export declare class ProjectStructureChecker {
|
|
3
|
-
private readonly options;
|
|
4
3
|
private readonly projectDirectory;
|
|
5
4
|
private readonly extraCheckDirectories;
|
|
6
5
|
private readonly packageJSONPath;
|
|
7
|
-
private readonly
|
|
6
|
+
private readonly tsConfigFilePath;
|
|
8
7
|
constructor(options: InternalCheckerOptions);
|
|
9
8
|
run(): void;
|
|
10
9
|
private checkMainProjectDirectory;
|
|
@@ -10,11 +10,10 @@ const Constant_1 = require("./Constant");
|
|
|
10
10
|
class ProjectStructureChecker {
|
|
11
11
|
constructor(options) {
|
|
12
12
|
var _a;
|
|
13
|
-
this.options = options;
|
|
14
13
|
this.projectDirectory = options.projectDirectory;
|
|
15
14
|
this.extraCheckDirectories = (_a = options.extraCheckDirectories) !== null && _a !== void 0 ? _a : [];
|
|
16
15
|
this.packageJSONPath = path_1.default.join(options.projectDirectory, "package.json");
|
|
17
|
-
this.
|
|
16
|
+
this.tsConfigFilePath = options.tsconfigFilePath;
|
|
18
17
|
}
|
|
19
18
|
run() {
|
|
20
19
|
this.checkMainProjectDirectory();
|
|
@@ -79,9 +78,9 @@ class ProjectStructureChecker {
|
|
|
79
78
|
const mainProjectSrcDirectory = path_1.default.join(this.projectDirectory, "src");
|
|
80
79
|
// Checking the first-level of src/* is enough here
|
|
81
80
|
const hasTSFiles = fs_1.default.readdirSync(mainProjectSrcDirectory).some(fileName => fileName.endsWith(".ts") || fileName.endsWith(".tsx"));
|
|
82
|
-
const hasTSConfigFile = fs_1.default.existsSync(this.
|
|
81
|
+
const hasTSConfigFile = fs_1.default.existsSync(this.tsConfigFilePath) && fs_1.default.statSync(this.tsConfigFilePath).isFile();
|
|
83
82
|
if (hasTSFiles && !hasTSConfigFile) {
|
|
84
|
-
throw new Error(`Cannot find tsconfig.json
|
|
83
|
+
throw new Error(`Cannot find tsconfig.json: "${this.tsConfigFilePath}".`);
|
|
85
84
|
}
|
|
86
85
|
}
|
|
87
86
|
checkPrettierInstallation() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectStructureChecker.js","sourceRoot":"","sources":["../../src/ProjectStructureChecker.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,yCAAoC;AAGpC,MAAa,uBAAuB;IAMhC,
|
|
1
|
+
{"version":3,"file":"ProjectStructureChecker.js","sourceRoot":"","sources":["../../src/ProjectStructureChecker.ts"],"names":[],"mappings":"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"}
|
package/src/WebpackBuilder.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { InternalCheckerOptions } from "./type";
|
|
2
2
|
import type { WebpackConfigGeneratorOptions } from "./WebpackConfigGenerator";
|
|
3
|
-
export interface WebpackBuilderOptions extends WebpackConfigGeneratorOptions, InternalCheckerOptions {
|
|
3
|
+
export interface WebpackBuilderOptions extends WebpackConfigGeneratorOptions, Omit<InternalCheckerOptions, "tsconfigFilePath"> {
|
|
4
4
|
onSuccess?: () => void;
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
@@ -25,6 +25,7 @@ export declare class WebpackBuilder {
|
|
|
25
25
|
private readonly projectProfilingJSONOutputPath;
|
|
26
26
|
private readonly outputDirectory;
|
|
27
27
|
private readonly webpackConfig;
|
|
28
|
+
private readonly tsconfigFilePath;
|
|
28
29
|
private readonly isFastMode;
|
|
29
30
|
private readonly enableProfiling;
|
|
30
31
|
private readonly onSuccess?;
|
package/src/WebpackBuilder.js
CHANGED
|
@@ -12,7 +12,6 @@ const CoreUtil_1 = require("./CoreUtil");
|
|
|
12
12
|
const WebpackConfigGenerator_1 = require("./WebpackConfigGenerator");
|
|
13
13
|
const CanadyarnRunner_1 = require("./CanadyarnRunner");
|
|
14
14
|
const ProjectStructureChecker_1 = require("./ProjectStructureChecker");
|
|
15
|
-
const TypescriptTypeChecker_1 = require("./TypescriptTypeChecker");
|
|
16
15
|
const TestRunner_1 = require("./TestRunner");
|
|
17
16
|
const CodeStyleChecker_1 = require("./CodeStyleChecker");
|
|
18
17
|
/**
|
|
@@ -31,7 +30,7 @@ const CodeStyleChecker_1 = require("./CodeStyleChecker");
|
|
|
31
30
|
*/
|
|
32
31
|
class WebpackBuilder {
|
|
33
32
|
constructor(options) {
|
|
34
|
-
var _a;
|
|
33
|
+
var _a, _b;
|
|
35
34
|
this.logger = devtool_util_1.Utility.createConsoleLogger("WebpackBuilder");
|
|
36
35
|
const webpackConfigGenerator = new WebpackConfigGenerator_1.WebpackConfigGenerator(options);
|
|
37
36
|
this.projectDirectory = options.projectDirectory;
|
|
@@ -40,6 +39,7 @@ class WebpackBuilder {
|
|
|
40
39
|
this.projectStaticDirectory = path_1.default.join(this.projectDirectory, "static");
|
|
41
40
|
this.projectProfilingJSONOutputPath = path_1.default.join(this.projectDirectory, "profile.json");
|
|
42
41
|
this.outputDirectory = path_1.default.join(this.projectDirectory, "build/dist");
|
|
42
|
+
this.tsconfigFilePath = options.tsconfigFilePath ? options.tsconfigFilePath : path_1.default.join(options.projectDirectory, (_b = options.tsconfigFilename) !== null && _b !== void 0 ? _b : "tsconfig.json");
|
|
43
43
|
this.isFastMode = CoreUtil_1.CoreUtil.isFastMode();
|
|
44
44
|
this.enableProfiling = CoreUtil_1.CoreUtil.profilingEnabled();
|
|
45
45
|
this.onSuccess = options.onSuccess;
|
|
@@ -53,18 +53,17 @@ class WebpackBuilder {
|
|
|
53
53
|
new ProjectStructureChecker_1.ProjectStructureChecker({
|
|
54
54
|
projectDirectory: this.projectDirectory,
|
|
55
55
|
extraCheckDirectories: this.extraCheckDirectories,
|
|
56
|
-
|
|
57
|
-
new TypescriptTypeChecker_1.TypescriptTypeChecker({
|
|
58
|
-
projectDirectory: this.projectDirectory,
|
|
59
|
-
extraCheckDirectories: this.extraCheckDirectories,
|
|
56
|
+
tsconfigFilePath: this.tsconfigFilePath,
|
|
60
57
|
}).run();
|
|
61
58
|
new TestRunner_1.TestRunner({
|
|
62
59
|
projectDirectory: this.projectDirectory,
|
|
63
60
|
extraCheckDirectories: this.extraCheckDirectories,
|
|
61
|
+
tsconfigFilePath: this.tsconfigFilePath,
|
|
64
62
|
}).run();
|
|
65
63
|
new CodeStyleChecker_1.CodeStyleChecker({
|
|
66
64
|
projectDirectory: this.projectDirectory,
|
|
67
65
|
extraCheckDirectories: this.extraCheckDirectories,
|
|
66
|
+
tsconfigFilePath: this.tsconfigFilePath,
|
|
68
67
|
}).run();
|
|
69
68
|
}
|
|
70
69
|
this.cleanDistFolder();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebpackBuilder.js","sourceRoot":"","sources":["../../src/WebpackBuilder.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAgD;AAChD,wDAA0B;AAC1B,gDAAwB;AACxB,sDAA8B;AAC9B,yCAAoC;AACpC,qEAAgE;AAChE,uDAAkD;AAClD,uEAAkE;AAClE,
|
|
1
|
+
{"version":3,"file":"WebpackBuilder.js","sourceRoot":"","sources":["../../src/WebpackBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { cssMinimizerPlugin, miniCssExtractPlugin } from "./css.plugin";
|
|
|
2
2
|
import { scriptTagCrossOriginPlugin, htmlPlugin } from "./html.plugin";
|
|
3
3
|
import { ignoreMomentLocalePlugin } from "./moment.plugin";
|
|
4
4
|
import { reactRefreshPlugin, terserPlugin } from "./ts.plugin";
|
|
5
|
+
import { typeCheckerPlugin } from "./type-checker.plugin";
|
|
5
6
|
import { webpackDefinePlugin, webpackProgressPlugin } from "./webpack.plugin";
|
|
6
7
|
/**
|
|
7
8
|
* Static factories to create \`webpack.config#plugins\` items.
|
|
@@ -12,6 +13,7 @@ export declare class Plugin {
|
|
|
12
13
|
static readonly scriptTagCrossOriginPlugin: typeof scriptTagCrossOriginPlugin;
|
|
13
14
|
static readonly ignoreMomentLocale: typeof ignoreMomentLocalePlugin;
|
|
14
15
|
static readonly reactRefresh: typeof reactRefreshPlugin;
|
|
16
|
+
static readonly typeChecker: typeof typeCheckerPlugin;
|
|
15
17
|
static readonly fileOutput: {
|
|
16
18
|
html: typeof htmlPlugin;
|
|
17
19
|
miniCssExtract: typeof miniCssExtractPlugin;
|
|
@@ -5,6 +5,7 @@ const css_plugin_1 = require("./css.plugin");
|
|
|
5
5
|
const html_plugin_1 = require("./html.plugin");
|
|
6
6
|
const moment_plugin_1 = require("./moment.plugin");
|
|
7
7
|
const ts_plugin_1 = require("./ts.plugin");
|
|
8
|
+
const type_checker_plugin_1 = require("./type-checker.plugin");
|
|
8
9
|
const webpack_plugin_1 = require("./webpack.plugin");
|
|
9
10
|
/**
|
|
10
11
|
* Static factories to create \`webpack.config#plugins\` items.
|
|
@@ -17,6 +18,7 @@ exports.Plugin = Plugin;
|
|
|
17
18
|
Plugin.scriptTagCrossOriginPlugin = html_plugin_1.scriptTagCrossOriginPlugin;
|
|
18
19
|
Plugin.ignoreMomentLocale = moment_plugin_1.ignoreMomentLocalePlugin;
|
|
19
20
|
Plugin.reactRefresh = ts_plugin_1.reactRefreshPlugin;
|
|
21
|
+
Plugin.typeChecker = type_checker_plugin_1.typeCheckerPlugin;
|
|
20
22
|
Plugin.fileOutput = {
|
|
21
23
|
html: html_plugin_1.htmlPlugin,
|
|
22
24
|
miniCssExtract: css_plugin_1.miniCssExtractPlugin,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/WebpackConfigGenerator/Plugin/index.ts"],"names":[],"mappings":";;;AAAA,6CAAsE;AACtE,+CAAqE;AACrE,mDAAyD;AACzD,2CAA6D;AAC7D,qDAA4E;AAE5E;;;;GAIG;AACH,MAAa,MAAM;;AAAnB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/WebpackConfigGenerator/Plugin/index.ts"],"names":[],"mappings":";;;AAAA,6CAAsE;AACtE,+CAAqE;AACrE,mDAAyD;AACzD,2CAA6D;AAC7D,+DAAwD;AACxD,qDAA4E;AAE5E;;;;GAIG;AACH,MAAa,MAAM;;AAAnB,wBAuBC;AAtBmB,iCAA0B,GAAG,wCAA0B,CAAC;AAExD,yBAAkB,GAAG,wCAAwB,CAAC;AAE9C,mBAAY,GAAG,8BAAkB,CAAC;AAElC,kBAAW,GAAG,uCAAiB,CAAC;AAEhC,iBAAU,GAAG;IACzB,IAAI,EAAE,wBAAU;IAChB,cAAc,EAAE,iCAAoB;CACvC,CAAC;AAEc,gBAAS,GAAG;IACxB,MAAM,EAAE,wBAAY;IACpB,GAAG,EAAE,+BAAkB;CAC1B,CAAC;AAEc,cAAO,GAAG;IACtB,QAAQ,EAAE,sCAAqB;IAC/B,MAAM,EAAE,oCAAmB;CAC9B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type webpack from "webpack";
|
|
2
|
+
interface Options {
|
|
3
|
+
tsconfigFilePath: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Process type checking in another process
|
|
7
|
+
* Support project references.
|
|
8
|
+
*/
|
|
9
|
+
export declare function typeCheckerPlugin({ tsconfigFilePath }: Options): webpack.WebpackPluginInstance;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.typeCheckerPlugin = void 0;
|
|
7
|
+
const fork_ts_checker_webpack_plugin_1 = __importDefault(require("fork-ts-checker-webpack-plugin"));
|
|
8
|
+
const WebpackConfigSerializationUtil_1 = require("../WebpackConfigSerializationUtil");
|
|
9
|
+
/**
|
|
10
|
+
* Process type checking in another process
|
|
11
|
+
* Support project references.
|
|
12
|
+
*/
|
|
13
|
+
function typeCheckerPlugin({ tsconfigFilePath }) {
|
|
14
|
+
return WebpackConfigSerializationUtil_1.WebpackConfigSerializationUtil.serializablePlugin("TerserWebpackPlugin", fork_ts_checker_webpack_plugin_1.default, {
|
|
15
|
+
devServer: false,
|
|
16
|
+
typescript: { build: true, mode: "readonly", configFile: tsconfigFilePath },
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
exports.typeCheckerPlugin = typeCheckerPlugin;
|
|
20
|
+
//# sourceMappingURL=type-checker.plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-checker.plugin.js","sourceRoot":"","sources":["../../../../src/WebpackConfigGenerator/Plugin/type-checker.plugin.ts"],"names":[],"mappings":";;;;;;AAAA,oGAAwE;AACxE,sFAAiF;AAOjF;;;GAGG;AACH,SAAgB,iBAAiB,CAAC,EAAC,gBAAgB,EAAU;IACzD,OAAO,+DAA8B,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,wCAA0B,EAAE;QACxG,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAC;KAC5E,CAAC,CAAC;AACP,CAAC;AALD,8CAKC"}
|
|
@@ -6,7 +6,7 @@ interface State extends Pick<babel.PluginPass, "file" | "key" | "opts" | "cwd" |
|
|
|
6
6
|
* Injects `if (module.hot) module.hot.decline()` code snippet in files that contains "core-fe" Module classes.
|
|
7
7
|
*
|
|
8
8
|
* This tells webpack HMR to force refresh the browser when a file containing "core-fe" Module classes is changed,
|
|
9
|
-
* otherwise react loses
|
|
9
|
+
* otherwise react loses reference of the MainComponent created by `ModuleProxy` in "core-fe"
|
|
10
10
|
* and throws a runtime error during development (which is bad for developer experience).
|
|
11
11
|
*/
|
|
12
12
|
export default function ({ types: t }: typeof babel): babel.PluginObj<State>;
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
* Injects `if (module.hot) module.hot.decline()` code snippet in files that contains "core-fe" Module classes.
|
|
5
5
|
*
|
|
6
6
|
* This tells webpack HMR to force refresh the browser when a file containing "core-fe" Module classes is changed,
|
|
7
|
-
* otherwise react loses
|
|
7
|
+
* otherwise react loses reference of the MainComponent created by `ModuleProxy` in "core-fe"
|
|
8
8
|
* and throws a runtime error during development (which is bad for developer experience).
|
|
9
9
|
*/
|
|
10
10
|
function default_1({ types: t }) {
|
|
@@ -21,21 +21,8 @@ function tsRule({ tsconfigFilepath, fastRefresh }) {
|
|
|
21
21
|
const babelLoader = {
|
|
22
22
|
loader: require.resolve("babel-loader"),
|
|
23
23
|
options: {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
};
|
|
27
|
-
// TODO/Alvis: Check whether ts-loader can be replaced by babel loader
|
|
28
|
-
const tsLoader = {
|
|
29
|
-
loader: require.resolve("ts-loader"),
|
|
30
|
-
options: {
|
|
31
|
-
colors: false,
|
|
32
|
-
configFile: tsconfigFilepath,
|
|
33
|
-
compilerOptions: {
|
|
34
|
-
module: "ESNext",
|
|
35
|
-
target: "ES5",
|
|
36
|
-
noEmit: false,
|
|
37
|
-
},
|
|
38
|
-
transpileOnly: true,
|
|
24
|
+
presets: ["@babel/preset-env", "@babel/preset-react", "@babel/preset-typescript"],
|
|
25
|
+
plugins: [["@babel/plugin-proposal-decorators", { version: "legacy" }], require.resolve(path_1.default.join(__dirname, "./core-fe-hmr-babel-plugin")), require.resolve("react-refresh/babel")],
|
|
39
26
|
},
|
|
40
27
|
};
|
|
41
28
|
const swcLoader = {
|
|
@@ -59,7 +46,7 @@ function tsRule({ tsconfigFilepath, fastRefresh }) {
|
|
|
59
46
|
};
|
|
60
47
|
return {
|
|
61
48
|
test: RegExpUtil_1.RegExpUtil.fileExtension(".ts", ".tsx"),
|
|
62
|
-
use: fastRefresh ? [babelLoader
|
|
49
|
+
use: fastRefresh ? [babelLoader] : [swcLoader],
|
|
63
50
|
};
|
|
64
51
|
}
|
|
65
52
|
exports.tsRule = tsRule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts.rule.js","sourceRoot":"","sources":["../../../../src/WebpackConfigGenerator/Rule/ts.rule.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,6CAAwC;AAOxC;;;;;;;;;;GAUG;AACH,SAAgB,MAAM,CAAC,EAAC,gBAAgB,EAAE,WAAW,EAAO;IACxD,MAAM,WAAW,GAA2B;QACxC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;QACvC,OAAO,EAAE;YACL,OAAO,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"ts.rule.js","sourceRoot":"","sources":["../../../../src/WebpackConfigGenerator/Rule/ts.rule.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,6CAAwC;AAOxC;;;;;;;;;;GAUG;AACH,SAAgB,MAAM,CAAC,EAAC,gBAAgB,EAAE,WAAW,EAAO;IACxD,MAAM,WAAW,GAA2B;QACxC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;QACvC,OAAO,EAAE;YACL,OAAO,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,0BAA0B,CAAC;YACjF,OAAO,EAAE,CAAC,CAAC,mCAAmC,EAAE,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;SACrL;KACJ,CAAC;IAEF,MAAM,SAAS,GAA2B;QACtC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;QACrC,OAAO,EAAE;YACL,GAAG,EAAE;gBACD,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE;oBACJ,MAAM,EAAE,YAAY;oBACpB,UAAU,EAAE,IAAI;iBACnB;gBACD,SAAS,EAAE;oBACP,KAAK,EAAE;wBACH,OAAO,EAAE,SAAS;qBACrB;oBACD,eAAe,EAAE,IAAI;oBACrB,iBAAiB,EAAE,IAAI;iBAC1B;aACJ;SACJ;KACJ,CAAC;IAEF,OAAO;QACH,IAAI,EAAE,uBAAU,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC;QAC7C,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACjD,CAAC;AACN,CAAC;AAjCD,wBAiCC"}
|
|
@@ -8,7 +8,7 @@ export declare class WebpackConfigGenerator {
|
|
|
8
8
|
private readonly env;
|
|
9
9
|
private readonly projectDirectory;
|
|
10
10
|
private readonly projectSrcDirectory;
|
|
11
|
-
private readonly
|
|
11
|
+
private readonly tsconfigFilePath;
|
|
12
12
|
private readonly enableProfiling;
|
|
13
13
|
private readonly maxEntryPointKiloByte;
|
|
14
14
|
private readonly maxAssetKiloByte;
|
|
@@ -23,17 +23,17 @@ const Rule_1 = require("./Rule");
|
|
|
23
23
|
*/
|
|
24
24
|
class WebpackConfigGenerator {
|
|
25
25
|
constructor(options) {
|
|
26
|
-
var _a, _b, _c;
|
|
26
|
+
var _a, _b, _c, _d;
|
|
27
27
|
this.options = options;
|
|
28
28
|
this.logger = devtool_util_1.Utility.createConsoleLogger("WebpackConfigGenerator");
|
|
29
29
|
this.env = CoreUtil_1.CoreUtil.currentEnv();
|
|
30
30
|
this.projectDirectory = options.projectDirectory;
|
|
31
31
|
this.projectSrcDirectory = path_1.default.join(options.projectDirectory, "src");
|
|
32
|
-
this.
|
|
32
|
+
this.tsconfigFilePath = options.tsconfigFilePath ? options.tsconfigFilePath : path_1.default.join(options.projectDirectory, (_a = options.tsconfigFilename) !== null && _a !== void 0 ? _a : "tsconfig.json");
|
|
33
33
|
this.enableProfiling = CoreUtil_1.CoreUtil.profilingEnabled();
|
|
34
34
|
this.isFastMode = CoreUtil_1.CoreUtil.isFastMode();
|
|
35
|
-
this.maxEntryPointKiloByte = (
|
|
36
|
-
this.maxAssetKiloByte = (
|
|
35
|
+
this.maxEntryPointKiloByte = (_b = options.maxEntryPointKiloByte) !== null && _b !== void 0 ? _b : Constant_1.Constant.maxEntryPointKiloByte;
|
|
36
|
+
this.maxAssetKiloByte = (_c = options.maxAssetKiloByte) !== null && _c !== void 0 ? _c : Constant_1.Constant.maxAssetKiloByte;
|
|
37
37
|
this.verbose = options.verbose || false;
|
|
38
38
|
this.defineVars = options.defineVars || {};
|
|
39
39
|
this.extraExtensionsForOtherRule = options.extraExtensionsForOtherRule || [];
|
|
@@ -60,7 +60,7 @@ class WebpackConfigGenerator {
|
|
|
60
60
|
});
|
|
61
61
|
this.resolveAliases = WebpackResolveAliasFactory_1.WebpackResolveAliasFactory.generate({
|
|
62
62
|
env: this.env,
|
|
63
|
-
resolvers: (
|
|
63
|
+
resolvers: (_d = options.dynamicPathResolvers) !== null && _d !== void 0 ? _d : [],
|
|
64
64
|
});
|
|
65
65
|
this.logger.info("Config constructed:");
|
|
66
66
|
for (const info of [
|
|
@@ -99,7 +99,7 @@ class WebpackConfigGenerator {
|
|
|
99
99
|
},
|
|
100
100
|
module: {
|
|
101
101
|
rules: [
|
|
102
|
-
Rule_1.Rule.ts({ tsconfigFilepath: this.
|
|
102
|
+
Rule_1.Rule.ts({ tsconfigFilepath: this.tsconfigFilePath, fastRefresh: true }),
|
|
103
103
|
Rule_1.Rule.stylesheet({ minimize: false }),
|
|
104
104
|
Rule_1.Rule.image(),
|
|
105
105
|
Rule_1.Rule.other({ extraExtensionsForOtherRule: this.extraExtensionsForOtherRule }),
|
|
@@ -163,7 +163,7 @@ class WebpackConfigGenerator {
|
|
|
163
163
|
},
|
|
164
164
|
module: {
|
|
165
165
|
rules: [
|
|
166
|
-
Rule_1.Rule.ts({ tsconfigFilepath: this.
|
|
166
|
+
Rule_1.Rule.ts({ tsconfigFilepath: this.tsconfigFilePath, fastRefresh: false }),
|
|
167
167
|
Rule_1.Rule.stylesheet({ minimize: true }),
|
|
168
168
|
Rule_1.Rule.image(),
|
|
169
169
|
Rule_1.Rule.other({ extraExtensionsForOtherRule: this.extraExtensionsForOtherRule }),
|
|
@@ -174,6 +174,7 @@ class WebpackConfigGenerator {
|
|
|
174
174
|
...this.htmlWebpackPluginInstances,
|
|
175
175
|
Plugin_1.Plugin.scriptTagCrossOriginPlugin(),
|
|
176
176
|
Plugin_1.Plugin.ignoreMomentLocale(),
|
|
177
|
+
Plugin_1.Plugin.typeChecker({ tsconfigFilePath: this.tsconfigFilePath }),
|
|
177
178
|
Plugin_1.Plugin.fileOutput.miniCssExtract({ enableProfiling: this.enableProfiling }),
|
|
178
179
|
...(this.enableProfiling ? [Plugin_1.Plugin.webpack.progress({ enableProfiling: true })] : []),
|
|
179
180
|
Plugin_1.Plugin.webpack.define(this.defineVars),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/WebpackConfigGenerator/index.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAgD;AAChD,gDAAwB;AAExB,0CAAqC;AACrC,0CAAqC;AAErC,mFAA8E;AAC9E,2EAAsE;AACtE,qFAAgF;AAChF,+DAA0D;AAC1D,mFAA8E;AAC9E,6EAAwE;AACxE,uFAAkF;AAClF,iFAA4E;AAC5E,qCAAgC;AAChC,iCAA4B;AAE5B;;GAEG;AACH,MAAa,sBAAsB;IAuB/B,YAA6B,OAAsC;;QAAtC,YAAO,GAAP,OAAO,CAA+B;QAFlD,WAAM,GAAG,sBAAO,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;QAG5E,IAAI,CAAC,GAAG,GAAG,mBAAQ,CAAC,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,mBAAmB,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/WebpackConfigGenerator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Application as ExpressApplication } from "express";
|
|
2
2
|
import type { WebpackConfigGeneratorOptions } from "./WebpackConfigGenerator";
|
|
3
|
-
export interface WebpackServerStarterOptions extends Pick<WebpackConfigGeneratorOptions, "projectDirectory" | "dynamicPathResolvers" | "extraEntries" | "prioritizedExtensionPrefixes" | "defineVars" | "extraExtensionsForOtherRule"> {
|
|
3
|
+
export interface WebpackServerStarterOptions extends Pick<WebpackConfigGeneratorOptions, "projectDirectory" | "dynamicPathResolvers" | "extraEntries" | "prioritizedExtensionPrefixes" | "defineVars" | "extraExtensionsForOtherRule" | "tsconfigFilePath" | "tsconfigFilename"> {
|
|
4
4
|
port: number;
|
|
5
5
|
apiProxy?: {
|
|
6
6
|
target: string;
|
|
@@ -22,7 +22,7 @@ export declare class WebpackServerStarter {
|
|
|
22
22
|
private readonly apiProxy;
|
|
23
23
|
private readonly logger;
|
|
24
24
|
private readonly webpackConfig;
|
|
25
|
-
constructor({ projectDirectory, port, apiProxy, interceptExpressApp, dynamicPathResolvers, extraEntries, prioritizedExtensionPrefixes, defineVars, extraExtensionsForOtherRule, }: WebpackServerStarterOptions);
|
|
25
|
+
constructor({ projectDirectory, port, apiProxy, interceptExpressApp, dynamicPathResolvers, extraEntries, prioritizedExtensionPrefixes, defineVars, extraExtensionsForOtherRule, tsconfigFilePath, tsconfigFilename, }: WebpackServerStarterOptions);
|
|
26
26
|
run(): Promise<void>;
|
|
27
27
|
private createDevServerInstance;
|
|
28
28
|
}
|
|
@@ -26,7 +26,7 @@ const WebpackConfigGenerator_1 = require("./WebpackConfigGenerator");
|
|
|
26
26
|
* Add "--env envName" to command line, if you want to switch config folder dynamically.
|
|
27
27
|
*/
|
|
28
28
|
class WebpackServerStarter {
|
|
29
|
-
constructor({ projectDirectory, port, apiProxy, interceptExpressApp, dynamicPathResolvers, extraEntries, prioritizedExtensionPrefixes, defineVars, extraExtensionsForOtherRule, }) {
|
|
29
|
+
constructor({ projectDirectory, port, apiProxy, interceptExpressApp, dynamicPathResolvers, extraEntries, prioritizedExtensionPrefixes, defineVars, extraExtensionsForOtherRule, tsconfigFilePath, tsconfigFilename, }) {
|
|
30
30
|
this.logger = devtool_util_1.Utility.createConsoleLogger("WebpackServerStarter");
|
|
31
31
|
this.devServerConfigContentBase = path_1.default.join(projectDirectory, "static");
|
|
32
32
|
this.port = port;
|
|
@@ -48,6 +48,8 @@ class WebpackServerStarter {
|
|
|
48
48
|
prioritizedExtensionPrefixes,
|
|
49
49
|
defineVars,
|
|
50
50
|
extraExtensionsForOtherRule,
|
|
51
|
+
tsconfigFilePath,
|
|
52
|
+
tsconfigFilename,
|
|
51
53
|
}).development();
|
|
52
54
|
}
|
|
53
55
|
run() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebpackServerStarter.js","sourceRoot":"","sources":["../../src/WebpackServerStarter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAAgD;AAChD,gDAAwB;AACxB,sDAA8B;AAC9B,4EAA2C;AAG3C,qEAAgE;AAiBhE;;;;;;GAMG;AAEH,MAAa,oBAAoB;IAe7B,YAAY,EACR,gBAAgB,EAChB,IAAI,EACJ,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,4BAA4B,EAC5B,UAAU,EACV,2BAA2B,
|
|
1
|
+
{"version":3,"file":"WebpackServerStarter.js","sourceRoot":"","sources":["../../src/WebpackServerStarter.ts"],"names":[],"mappings":"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"}
|
package/src/type.d.ts
CHANGED
|
@@ -58,6 +58,18 @@ export interface WebpackConfigGeneratorOptions {
|
|
|
58
58
|
* Option to set or dynamically compute `output.publicUrl`.
|
|
59
59
|
*/
|
|
60
60
|
webpackPublicPath?: string | ((env: string) => string);
|
|
61
|
+
/**
|
|
62
|
+
* Name of tsconfig.json under project directory
|
|
63
|
+
* Set this if your tsconfig has another name from the original `tsconfig.json`
|
|
64
|
+
* The path of tsconfig will be: <projectDirectory>/<tsconfigFileName>
|
|
65
|
+
*/
|
|
66
|
+
tsconfigFilename?: string | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Path of tsconfig.json.
|
|
69
|
+
* Set this if your tsconfig has another relative location from the project directory,
|
|
70
|
+
* Default: <projectDirectory>/tsconfig.json
|
|
71
|
+
*/
|
|
72
|
+
tsconfigFilePath?: string | undefined;
|
|
61
73
|
/**
|
|
62
74
|
* Name of main entry output.
|
|
63
75
|
* Defaults to "index".
|
|
@@ -148,6 +160,12 @@ export interface InternalCheckerOptions {
|
|
|
148
160
|
* Should contains `package.json`, `tsconfig.json`, `src/`, `index.html` and a main entry.
|
|
149
161
|
*/
|
|
150
162
|
projectDirectory: string;
|
|
163
|
+
/**
|
|
164
|
+
* Full path of tsconfig.json.
|
|
165
|
+
* Set this if your tsconfig has another name or relative location from the project directory,
|
|
166
|
+
* Default: <projectDirectory>/tsconfig.json
|
|
167
|
+
*/
|
|
168
|
+
tsconfigFilePath: string;
|
|
151
169
|
/**
|
|
152
170
|
* Root Directory of monorepo. Will be used for checking single version dependencies.
|
|
153
171
|
* Should contains `package.json`.
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { InternalCheckerOptions } from "./type";
|
|
2
|
-
/**
|
|
3
|
-
* Check typescript type for both projectDirectory src, extraCheckDirectories src using their own tsconfig inside their directory
|
|
4
|
-
*/
|
|
5
|
-
export declare class TypescriptTypeChecker {
|
|
6
|
-
private readonly logger;
|
|
7
|
-
private tsconfigPaths;
|
|
8
|
-
constructor({ projectDirectory, extraCheckDirectories }: InternalCheckerOptions);
|
|
9
|
-
run(): void;
|
|
10
|
-
private checkTypeScriptTyping;
|
|
11
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TypescriptTypeChecker = void 0;
|
|
7
|
-
const devtool_util_1 = require("@pinnacle0/devtool-util");
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
/**
|
|
10
|
-
* Check typescript type for both projectDirectory src, extraCheckDirectories src using their own tsconfig inside their directory
|
|
11
|
-
*/
|
|
12
|
-
class TypescriptTypeChecker {
|
|
13
|
-
constructor({ projectDirectory, extraCheckDirectories }) {
|
|
14
|
-
this.logger = devtool_util_1.Utility.createConsoleLogger("TypescriptTypeChecker");
|
|
15
|
-
this.tsconfigPaths = [];
|
|
16
|
-
const checkableDirectories = [projectDirectory, ...(extraCheckDirectories !== null && extraCheckDirectories !== void 0 ? extraCheckDirectories : [])];
|
|
17
|
-
for (const directory of checkableDirectories) {
|
|
18
|
-
this.tsconfigPaths.push(path_1.default.join(directory, "tsconfig.json"));
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
run() {
|
|
22
|
-
this.checkTypeScriptTyping();
|
|
23
|
-
}
|
|
24
|
-
checkTypeScriptTyping() {
|
|
25
|
-
this.logger.task("Checking TypeScript");
|
|
26
|
-
for (const tsconfigPath of this.tsconfigPaths) {
|
|
27
|
-
devtool_util_1.Utility.runCommand("tsc", ["--noEmit", "--emitDeclarationOnly", "false", "-P", tsconfigPath]);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.TypescriptTypeChecker = TypescriptTypeChecker;
|
|
32
|
-
//# sourceMappingURL=TypescriptTypeChecker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TypescriptTypeChecker.js","sourceRoot":"","sources":["../../src/TypescriptTypeChecker.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAgD;AAChD,gDAAwB;AAGxB;;GAEG;AACH,MAAa,qBAAqB;IAI9B,YAAY,EAAC,gBAAgB,EAAE,qBAAqB,EAAyB;QAH5D,WAAM,GAAG,sBAAO,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;QACvE,kBAAa,GAAa,EAAE,CAAC;QAGjC,MAAM,oBAAoB,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,qBAAqB,aAArB,qBAAqB,cAArB,qBAAqB,GAAI,EAAE,CAAC,CAAC,CAAC;QAClF,KAAK,MAAM,SAAS,IAAI,oBAAoB,EAAE;YAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;SAClE;IACL,CAAC;IAED,GAAG;QACC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAEO,qBAAqB;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACxC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;YAC3C,sBAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,uBAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;SACjG;IACL,CAAC;CACJ;AArBD,sDAqBC"}
|