Skip to content

Commit d5dea5c

Browse files
authored
feat: drop support for webpack 4 (#28)
Webpack 5 is currently a standard, and AssemblyScript targets modern stack.
1 parent 59abc56 commit d5dea5c

File tree

6 files changed

+291
-368
lines changed

6 files changed

+291
-368
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
## Installation
1515

1616
This loader requires [AssemblyScript ~0.18](https://github.com/AssemblyScript/assemblyscript),
17-
Node.js >= 12 and [webpack 4 or webpack 5](https://github.com/webpack/webpack)
17+
Node.js >= 12 and [webpack 5](https://github.com/webpack/webpack)
1818

1919
```sh
2020
# with npm

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
],
2727
"peerDependencies": {
2828
"assemblyscript": "^0.19.0",
29-
"webpack": "^4.0.0 || ^5.0.0"
29+
"webpack": "^5.0.0"
3030
},
3131
"dependencies": {
3232
"@assemblyscript/loader": "^0.19.0",

src/loader/index.ts

+3-8
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,7 @@ import { createCompilerHost } from "./compiler-host";
88
import { mapAscOptionsToArgs, Options } from "./options";
99
import { AssemblyScriptError } from "./error";
1010
import * as schema from "./schema.json";
11-
import {
12-
addErrorToModule,
13-
addWarningToModule,
14-
isModuleCompiledToWasm,
15-
markModuleAsCompiledToWasm,
16-
} from "./webpack";
11+
import { isModuleCompiledToWasm, markModuleAsCompiledToWasm } from "./webpack";
1712

1813
const SUPPORTED_EXTENSIONS = [".wasm", ".js"];
1914

@@ -151,9 +146,9 @@ function loader(this: any, content: string, map?: any, meta?: any) {
151146
);
152147

153148
if (diagnostic.category === DiagnosticCategory.ERROR) {
154-
addErrorToModule(module, error);
149+
module.addError(error);
155150
} else {
156-
addWarningToModule(module, error);
151+
module.addWarning(error);
157152
}
158153
});
159154
const errorDiagnostics = diagnostics.filter(

src/loader/webpack.ts

+1-37
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,5 @@
11
import * as webpack from "webpack";
22

3-
interface CompatibleWebpackModule {
4-
addWarning?(warning: Error): void;
5-
addError?(error: Error): void;
6-
warnings: Error[];
7-
errors: Error[];
8-
}
9-
10-
/**
11-
* Add warning to module.
12-
* Supports webpack 4 and webpack 5.
13-
*/
14-
function addWarningToModule(module: CompatibleWebpackModule, error: Error) {
15-
if (typeof module.addWarning === "function") {
16-
module.addWarning(error);
17-
} else {
18-
module.warnings.push(error);
19-
}
20-
}
21-
22-
/**
23-
* Add error to module.
24-
* Supports webpack 4 and webpack 5.
25-
*/
26-
function addErrorToModule(module: CompatibleWebpackModule, error: Error) {
27-
if (typeof module.addError === "function") {
28-
module.addError(error);
29-
} else {
30-
module.errors.push(error);
31-
}
32-
}
33-
343
function markModuleAsCompiledToWasm(module: webpack.Module) {
354
module.buildMeta.asLoaderCompiledToWasm = true;
365
}
@@ -42,9 +11,4 @@ function isModuleCompiledToWasm(module: webpack.Module): boolean {
4211
);
4312
}
4413

45-
export {
46-
addWarningToModule,
47-
addErrorToModule,
48-
markModuleAsCompiledToWasm,
49-
isModuleCompiledToWasm,
50-
};
14+
export { markModuleAsCompiledToWasm, isModuleCompiledToWasm };

test/e2e/fixtures/main/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"assemblyscript": "0.19.10",
1414
"ts-loader": "8.0.17",
1515
"typescript": "4.2.2",
16-
"webpack": "4.46.0",
16+
"webpack": "5.24.2",
1717
"webpack-cli": "4.5.0"
1818
},
1919
"engines": {

0 commit comments

Comments
 (0)