Skip to content

Commit 0147936

Browse files
committed
migrate webpack config to typescript
1 parent 8902b10 commit 0147936

File tree

6 files changed

+353
-134
lines changed

6 files changed

+353
-134
lines changed

package-lock.json

Lines changed: 204 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
"scripts": {
66
"test": "jest",
77
"clean": "rm -rf dist/*",
8-
"start": "node webpack.js serve",
9-
"build": "node webpack.js build && npm run prerender --",
10-
"build:dev": "node webpack.js build --mode=development && npm run prerender -- --api mock",
8+
"start": "ts-node webpack.ts serve",
9+
"build": "ts-node webpack.ts build && npm run prerender --",
10+
"build:dev": "ts-node webpack.ts build --mode=development && npm run prerender -- --api mock",
1111
"prerender": "node dist/prerender",
12-
"build:prerender": "node webpack.js build -e prerender",
13-
"build:prerender:dev": "node webpack.js build -e prerender -m development",
14-
"build:web": "node webpack.js build -e app",
15-
"build:web:dev": "node webpack.js build -e app -m development",
12+
"build:prerender": "ts-node webpack.ts build -e prerender",
13+
"build:prerender:dev": "ts-node webpack.ts build -e prerender -m development",
14+
"build:web": "ts-node webpack.ts build -e app",
15+
"build:web:dev": "ts-node webpack.ts build -e app -m development",
1616
"format": "prettier --write .",
1717
"lint": "eslint src"
1818
},
@@ -36,8 +36,10 @@
3636
},
3737
"devDependencies": {
3838
"@types/jest": "^29.4.0",
39+
"@types/loader-utils": "^2.0.3",
3940
"@types/react": "^18.0.28",
4041
"@types/react-dom": "^18.0.11",
42+
"@types/webpack-bundle-analyzer": "^4.6.0",
4143
"@typescript-eslint/eslint-plugin": "^5.52.0",
4244
"@typescript-eslint/parser": "^5.52.0",
4345
"clean-webpack-plugin": "^4.0.0",
@@ -59,6 +61,7 @@
5961
"style-loader": "^3.3.1",
6062
"ts-jest": "^29.0.5",
6163
"ts-loader": "^9.4.2",
64+
"ts-node": "^10.9.1",
6265
"typescript": "^4.9.5",
6366
"url-loader": "^4.1.1",
6467
"webpack": "^5.75.0",

scripts/css-module-identifiers.js renamed to scripts/css-module-identifiers.ts

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const loaderUtils = require("loader-utils");
1+
import loaderUtils from "loader-utils";
22

33
class ClassnameGenerator {
44
state = [0, 0];
@@ -19,11 +19,11 @@ class ClassnameGenerator {
1919
}
2020
}
2121

22-
function getReadableCSSModuleLocalIdent(
23-
context,
24-
localIdentName,
25-
localName,
26-
options
22+
export function getReadableCSSModuleLocalIdent(
23+
context: unknown,
24+
localIdentName: unknown,
25+
localName: string,
26+
options: unknown
2727
) {
2828
return loaderUtils
2929
.interpolateName(context, "[path][name]__" + localName, options)
@@ -32,11 +32,11 @@ function getReadableCSSModuleLocalIdent(
3232

3333
const nameGenerator = new ClassnameGenerator();
3434
const nameMap = new Map();
35-
function getMinimalCSSModuleLocalIdent(
36-
context,
37-
localIdentName,
38-
localName,
39-
options
35+
export function getMinimalCSSModuleLocalIdent(
36+
context: unknown,
37+
localIdentName: unknown,
38+
localName: string,
39+
options: unknown
4040
) {
4141
const codeName = loaderUtils.interpolateName(
4242
context,
@@ -48,8 +48,3 @@ function getMinimalCSSModuleLocalIdent(
4848
}
4949
return nameMap.get(codeName);
5050
}
51-
52-
module.exports = {
53-
getReadableCSSModuleLocalIdent,
54-
getMinimalCSSModuleLocalIdent,
55-
};

0 commit comments

Comments
 (0)