1
1
const path = require ( "path" ) ;
2
- const { DefinePlugin } = require ( "webpack" ) ;
2
+ const { DefinePlugin, ProvidePlugin } = require ( "webpack" ) ;
3
3
const ForkTsCheckerWebpackPlugin = require ( "fork-ts-checker-webpack-plugin" ) ;
4
4
// Not used directly in playground, because it imports typescript
5
5
const { SyntaxKind : LuaSyntaxKind } = require ( "typescript-to-lua/dist/LuaAST" ) ;
@@ -10,7 +10,6 @@ const resolve = (query) => path.resolve(__dirname, query);
10
10
module . exports = ( ) => ( {
11
11
configureWebpack : ( config , isServer ) => {
12
12
return {
13
- node : { fs : "empty" } ,
14
13
resolveLoader : {
15
14
// Don't generate worker files in server build, because it overrides client files
16
15
alias : isServer ? { "worker-loader" : require . resolve ( "null-loader" ) } : { } ,
@@ -25,6 +24,17 @@ module.exports = () => ({
25
24
[ require . resolve ( "monaco-editor/esm/vs/language/typescript/lib/lib.js" ) ] : resolve (
26
25
"src/monaco-typescript-lib-stub.ts" ,
27
26
) ,
27
+
28
+ // Stub file resolution for playground
29
+ [ require . resolve ( "typescript-to-lua/dist/transpilation/resolve.js" ) ] :
30
+ resolve ( "src/resolve-stub.ts" ) ,
31
+ } ,
32
+ fallback : {
33
+ fs : false ,
34
+ buffer : require . resolve ( "buffer" ) ,
35
+ stream : require . resolve ( "stream-browserify" ) ,
36
+ zlib : require . resolve ( "browserify-zlib" ) ,
37
+ path : require . resolve ( "path-browserify" ) ,
28
38
} ,
29
39
} ,
30
40
module : {
@@ -45,6 +55,9 @@ module.exports = () => ({
45
55
] ,
46
56
} ,
47
57
plugins : [
58
+ new ProvidePlugin ( {
59
+ process : "process/browser" ,
60
+ } ) ,
48
61
new DefinePlugin ( { __LUA_SYNTAX_KIND__ : JSON . stringify ( LuaSyntaxKind ) } ) ,
49
62
...( isServer
50
63
? [ ]
0 commit comments