Skip to content

Commit cb5a1bb

Browse files
committed
feat(webpack): official support for webpack 4
1 parent df4db1b commit cb5a1bb

File tree

15 files changed

+5636
-2
lines changed

15 files changed

+5636
-2
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ npm-debug.log*
1111
*.js.map
1212
!/types/*.d.ts
1313
!/fix-types-for-back-compat.js
14+
!/test-projects/**/webpack.config.js
1415

1516
# macOS
1617
.DS_Store

index.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,13 @@ test.serial("backward-compatibility-pre-1.1.2-config-cjs", async t => {
3232
await buildTestProject("test-projects/backward-compatibility-pre-1.1.2-config-cjs");
3333
t.pass();
3434
});
35+
36+
test.serial("webpack-4-compatibility-type-module", async t => {
37+
await buildTestProject("test-projects/webpack-4-compatibility-type-module");
38+
t.pass();
39+
});
40+
41+
test.serial("webpack-4-compatibility-type-commonjs", async t => {
42+
await buildTestProject("test-projects/webpack-4-compatibility-type-commonjs");
43+
t.pass();
44+
});

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"tslib": "2.3.1"
3434
},
3535
"peerDependencies": {
36-
"webpack": "^5.0.0"
36+
"webpack": "^4.0.0 || ^5.0.0"
3737
},
3838
"devDependencies": {
3939
"@softwareventures/eslint-config": "5.1.1",
@@ -68,7 +68,7 @@
6868
"require": [
6969
"ts-node/register/files"
7070
],
71-
"timeout": "10m"
71+
"timeout": "20m"
7272
},
7373
"release": {
7474
"extends": "@softwareventures/semantic-release-config"
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import {test} from "./test.js";
2+
3+
test();
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"private": true,
3+
"name": "@softwareventures/resolve-typescript-plugin-webpack-4-compatibility-type-commonjs",
4+
"license": "ISC",
5+
"exports": {
6+
".": "./index.js"
7+
},
8+
"types": "index.d.ts",
9+
"scripts": {
10+
"build": "webpack"
11+
},
12+
"dependencies": {
13+
"tslib": "2.3.1"
14+
},
15+
"devDependencies": {
16+
"@softwareventures/tsconfig": "5.1.0",
17+
"resolve-typescript-plugin": "../..",
18+
"ts-loader": "8.3.0",
19+
"typescript": "4.5.5",
20+
"webpack": "4.46.0",
21+
"webpack-cli": "3.3.12"
22+
}
23+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export function test(): void {}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"extends": "@softwareventures/tsconfig",
3+
"compilerOptions": {
4+
"declaration": false,
5+
"module": "ES2020"
6+
}
7+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
const ResolveTypeScriptPlugin = require("resolve-typescript-plugin").default;
2+
3+
module.exports = {
4+
mode: "production",
5+
context: __dirname,
6+
entry: "./index.js",
7+
module: {
8+
rules: [
9+
{
10+
test: /\.tsx?$/,
11+
use: "ts-loader"
12+
}
13+
]
14+
},
15+
resolve: {
16+
plugins: [new ResolveTypeScriptPlugin()]
17+
}
18+
};

0 commit comments

Comments
 (0)