@energy8platform/game-engine 0.10.1 → 0.10.2
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/dist/vite.cjs.js +20 -0
- package/dist/vite.cjs.js.map +1 -1
- package/dist/vite.esm.js +20 -0
- package/dist/vite.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/vite/index.ts +22 -0
package/dist/vite.cjs.js
CHANGED
|
@@ -68,11 +68,30 @@ await import('${entrySrc}');
|
|
|
68
68
|
/**
|
|
69
69
|
* Vite plugin that enables importing `.lua` files as raw strings
|
|
70
70
|
* and triggers a full page reload on `.lua` file changes.
|
|
71
|
+
*
|
|
72
|
+
* Also shims Node.js built-in modules (`os`, `child_process`, etc.) that
|
|
73
|
+
* `fengari` references at the top level so the library can be pre-bundled
|
|
74
|
+
* by esbuild and run in the browser without errors.
|
|
71
75
|
*/
|
|
76
|
+
const FENGARI_NODE_SHIMS = {
|
|
77
|
+
os: 'export function platform() { return "browser"; } export default { platform };',
|
|
78
|
+
child_process: 'export default {};',
|
|
79
|
+
fs: 'export default {};',
|
|
80
|
+
};
|
|
72
81
|
function luaPlugin() {
|
|
73
82
|
return {
|
|
74
83
|
name: 'game-engine:lua',
|
|
75
84
|
apply: 'serve',
|
|
85
|
+
resolveId(id) {
|
|
86
|
+
if (id in FENGARI_NODE_SHIMS)
|
|
87
|
+
return `\0fengari-shim:${id}`;
|
|
88
|
+
},
|
|
89
|
+
load(id) {
|
|
90
|
+
if (id.startsWith('\0fengari-shim:')) {
|
|
91
|
+
const mod = id.slice('\0fengari-shim:'.length);
|
|
92
|
+
return FENGARI_NODE_SHIMS[mod];
|
|
93
|
+
}
|
|
94
|
+
},
|
|
76
95
|
transform(code, id) {
|
|
77
96
|
if (id.endsWith('.lua')) {
|
|
78
97
|
return {
|
|
@@ -176,6 +195,7 @@ function defineGameConfig(config = {}) {
|
|
|
176
195
|
'yoga-layout/load',
|
|
177
196
|
'react',
|
|
178
197
|
'react-dom',
|
|
198
|
+
...(config.devBridge ? ['fengari'] : []),
|
|
179
199
|
],
|
|
180
200
|
exclude: [
|
|
181
201
|
'yoga-layout',
|
package/dist/vite.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.cjs.js","sources":["../src/vite/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAkBA;AAEA;;;;AAIG;AACH,MAAM,UAAU,GAAG,uBAAuB;AAE1C,SAAS,eAAe,CAAC,UAAkB,EAAA;IACzC,IAAI,QAAQ,GAAG,EAAE;IACjB,IAAI,QAAQ,GAAG,EAAE;IACjB,IAAI,kBAAkB,GAAG,UAAU;IAEnC,OAAO;AACL,QAAA,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,OAAO;AACd,QAAA,OAAO,EAAE,KAAK;AAEd,QAAA,cAAc,CAAC,MAAM,EAAA;AACnB,YAAA,QAAQ,GAAG,MAAM,CAAC,IAAI;;;AAGtB,YAAA,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC9B,gBAAA,kBAAkB,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1E;QACF,CAAC;AAED,QAAA,SAAS,CAAC,EAAE,EAAA;YACV,IAAI,EAAE,KAAK,UAAU;AAAE,gBAAA,OAAO,EAAE;QAClC,CAAC;AAED,QAAA,IAAI,CAAC,EAAE,EAAA;AACL,YAAA,IAAI,EAAE,KAAK,UAAU,EAAE;;gBAErB,OAAO;;;;8BAIe,kBAAkB,CAAA;;;;;;;gBAOhC,QAAQ,CAAA;CACvB;YACK;QACF,CAAC;AAED,QAAA,kBAAkB,CAAC,IAAI,EAAA;;YAErB,MAAM,WAAW,GAAG,iEAAiE;YACrF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAErC,IAAI,CAAC,KAAK,EAAE;AACV,gBAAA,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC;AAC5E,gBAAA,OAAO,IAAI;YACb;AAEA,YAAA,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;AACnB,YAAA,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC5B,gBAAA,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D;AAAO,iBAAA,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACnC,gBAAA,QAAQ,GAAG,QAAQ,GAAG,QAAQ;YAChC;AACA,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA,2BAAA,EAA8B,UAAU,CAAA,WAAA,CAAa,CAAC;QACtF,CAAC;KACF;AACH;AAEA;AAEA
|
|
1
|
+
{"version":3,"file":"vite.cjs.js","sources":["../src/vite/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/vite.esm.js
CHANGED
|
@@ -66,11 +66,30 @@ await import('${entrySrc}');
|
|
|
66
66
|
/**
|
|
67
67
|
* Vite plugin that enables importing `.lua` files as raw strings
|
|
68
68
|
* and triggers a full page reload on `.lua` file changes.
|
|
69
|
+
*
|
|
70
|
+
* Also shims Node.js built-in modules (`os`, `child_process`, etc.) that
|
|
71
|
+
* `fengari` references at the top level so the library can be pre-bundled
|
|
72
|
+
* by esbuild and run in the browser without errors.
|
|
69
73
|
*/
|
|
74
|
+
const FENGARI_NODE_SHIMS = {
|
|
75
|
+
os: 'export function platform() { return "browser"; } export default { platform };',
|
|
76
|
+
child_process: 'export default {};',
|
|
77
|
+
fs: 'export default {};',
|
|
78
|
+
};
|
|
70
79
|
function luaPlugin() {
|
|
71
80
|
return {
|
|
72
81
|
name: 'game-engine:lua',
|
|
73
82
|
apply: 'serve',
|
|
83
|
+
resolveId(id) {
|
|
84
|
+
if (id in FENGARI_NODE_SHIMS)
|
|
85
|
+
return `\0fengari-shim:${id}`;
|
|
86
|
+
},
|
|
87
|
+
load(id) {
|
|
88
|
+
if (id.startsWith('\0fengari-shim:')) {
|
|
89
|
+
const mod = id.slice('\0fengari-shim:'.length);
|
|
90
|
+
return FENGARI_NODE_SHIMS[mod];
|
|
91
|
+
}
|
|
92
|
+
},
|
|
74
93
|
transform(code, id) {
|
|
75
94
|
if (id.endsWith('.lua')) {
|
|
76
95
|
return {
|
|
@@ -174,6 +193,7 @@ function defineGameConfig(config = {}) {
|
|
|
174
193
|
'yoga-layout/load',
|
|
175
194
|
'react',
|
|
176
195
|
'react-dom',
|
|
196
|
+
...(config.devBridge ? ['fengari'] : []),
|
|
177
197
|
],
|
|
178
198
|
exclude: [
|
|
179
199
|
'yoga-layout',
|
package/dist/vite.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.esm.js","sources":["../src/vite/index.ts"],"sourcesContent":[null],"names":[],"mappings":"AAkBA;AAEA;;;;AAIG;AACH,MAAM,UAAU,GAAG,uBAAuB;AAE1C,SAAS,eAAe,CAAC,UAAkB,EAAA;IACzC,IAAI,QAAQ,GAAG,EAAE;IACjB,IAAI,QAAQ,GAAG,EAAE;IACjB,IAAI,kBAAkB,GAAG,UAAU;IAEnC,OAAO;AACL,QAAA,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,OAAO;AACd,QAAA,OAAO,EAAE,KAAK;AAEd,QAAA,cAAc,CAAC,MAAM,EAAA;AACnB,YAAA,QAAQ,GAAG,MAAM,CAAC,IAAI;;;AAGtB,YAAA,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC9B,gBAAA,kBAAkB,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1E;QACF,CAAC;AAED,QAAA,SAAS,CAAC,EAAE,EAAA;YACV,IAAI,EAAE,KAAK,UAAU;AAAE,gBAAA,OAAO,EAAE;QAClC,CAAC;AAED,QAAA,IAAI,CAAC,EAAE,EAAA;AACL,YAAA,IAAI,EAAE,KAAK,UAAU,EAAE;;gBAErB,OAAO;;;;8BAIe,kBAAkB,CAAA;;;;;;;gBAOhC,QAAQ,CAAA;CACvB;YACK;QACF,CAAC;AAED,QAAA,kBAAkB,CAAC,IAAI,EAAA;;YAErB,MAAM,WAAW,GAAG,iEAAiE;YACrF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAErC,IAAI,CAAC,KAAK,EAAE;AACV,gBAAA,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC;AAC5E,gBAAA,OAAO,IAAI;YACb;AAEA,YAAA,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;AACnB,YAAA,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC5B,gBAAA,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D;AAAO,iBAAA,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACnC,gBAAA,QAAQ,GAAG,QAAQ,GAAG,QAAQ;YAChC;AACA,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA,2BAAA,EAA8B,UAAU,CAAA,WAAA,CAAa,CAAC;QACtF,CAAC;KACF;AACH;AAEA;AAEA
|
|
1
|
+
{"version":3,"file":"vite.esm.js","sources":["../src/vite/index.ts"],"sourcesContent":[null],"names":[],"mappings":"AAkBA;AAEA;;;;AAIG;AACH,MAAM,UAAU,GAAG,uBAAuB;AAE1C,SAAS,eAAe,CAAC,UAAkB,EAAA;IACzC,IAAI,QAAQ,GAAG,EAAE;IACjB,IAAI,QAAQ,GAAG,EAAE;IACjB,IAAI,kBAAkB,GAAG,UAAU;IAEnC,OAAO;AACL,QAAA,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,OAAO;AACd,QAAA,OAAO,EAAE,KAAK;AAEd,QAAA,cAAc,CAAC,MAAM,EAAA;AACnB,YAAA,QAAQ,GAAG,MAAM,CAAC,IAAI;;;AAGtB,YAAA,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC9B,gBAAA,kBAAkB,GAAG,MAAM,CAAC,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1E;QACF,CAAC;AAED,QAAA,SAAS,CAAC,EAAE,EAAA;YACV,IAAI,EAAE,KAAK,UAAU;AAAE,gBAAA,OAAO,EAAE;QAClC,CAAC;AAED,QAAA,IAAI,CAAC,EAAE,EAAA;AACL,YAAA,IAAI,EAAE,KAAK,UAAU,EAAE;;gBAErB,OAAO;;;;8BAIe,kBAAkB,CAAA;;;;;;;gBAOhC,QAAQ,CAAA;CACvB;YACK;QACF,CAAC;AAED,QAAA,kBAAkB,CAAC,IAAI,EAAA;;YAErB,MAAM,WAAW,GAAG,iEAAiE;YACrF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAErC,IAAI,CAAC,KAAK,EAAE;AACV,gBAAA,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC;AAC5E,gBAAA,OAAO,IAAI;YACb;AAEA,YAAA,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;AACnB,YAAA,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC5B,gBAAA,QAAQ,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D;AAAO,iBAAA,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACnC,gBAAA,QAAQ,GAAG,QAAQ,GAAG,QAAQ;YAChC;AACA,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA,2BAAA,EAA8B,UAAU,CAAA,WAAA,CAAa,CAAC;QACtF,CAAC;KACF;AACH;AAEA;AAEA;;;;;;;AAOG;AACH,MAAM,kBAAkB,GAA2B;AACjD,IAAA,EAAE,EAAE,+EAA+E;AACnF,IAAA,aAAa,EAAE,oBAAoB;AACnC,IAAA,EAAE,EAAE,oBAAoB;CACzB;AAED,SAAS,SAAS,GAAA;IAChB,OAAO;AACL,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,KAAK,EAAE,OAAO;AAEd,QAAA,SAAS,CAAC,EAAU,EAAA;YAClB,IAAI,EAAE,IAAI,kBAAkB;gBAAE,OAAO,CAAA,eAAA,EAAkB,EAAE,CAAA,CAAE;QAC7D,CAAC;AAED,QAAA,IAAI,CAAC,EAAU,EAAA;AACb,YAAA,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;gBACpC,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC;AAC9C,gBAAA,OAAO,kBAAkB,CAAC,GAAG,CAAC;YAChC;QACF,CAAC;QAED,SAAS,CAAC,IAAY,EAAE,EAAU,EAAA;AAChC,YAAA,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACvB,OAAO;oBACL,IAAI,EAAE,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG;AAC/C,oBAAA,GAAG,EAAE,IAAI;iBACV;YACH;QACF,CAAC;AAED,QAAA,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAiC,EAAA;AAC7D,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACzB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AACvC,gBAAA,OAAO,EAAE;YACX;QACF,CAAC;KACF;AACH;AAEA;AAEA;;;;;;;;;;;;;;;;;;;AAmBG;AACG,SAAU,gBAAgB,CAAC,MAAA,GAAqB,EAAE,EAAA;IACtD,MAAM,OAAO,GAAa,EAAE;AAE5B,IAAA,IAAI,MAAM,CAAC,SAAS,EAAE;AACpB,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,IAAI,cAAc;QAC3D,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;AACzC,QAAA,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IAC3B;AAEA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE;;;AAIlC,IAAA,MAAM,YAAY,GAA2B,MAAM,CAAC,SAAS,GAAG;AAC9D,QAAA,uBAAuB,EAAE,WAAW;AACpC,QAAA,aAAa,EAAE,MAAM;AACrB,QAAA,kBAAkB,EAAE,WAAW;KAChC,GAAG,EAAE;IAEN,OAAO;AACL,QAAA,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG;AAExB,QAAA,OAAO,EAAE;AACP,YAAA,GAAG,OAAO;AACV,YAAA,IAAK,QAAQ,CAAC,OAAoB,IAAI,EAAE,CAAC;AAC1C,SAAA;AAED,QAAA,MAAM,EAAE;AACN,YAAA,GAAG,YAAY;YACf,GAAI,QAAgC,CAAC,MAAM;AAC5C,SAAA;AAED,QAAA,KAAK,EAAE;AACL,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,aAAa,EAAE;AACb,gBAAA,MAAM,EAAE;AACN,oBAAA,YAAY,EAAE;wBACZ,IAAI,EAAE,CAAC,SAAS,CAAC;AAClB,qBAAA;AACF,iBAAA;AACF,aAAA;YACD,GAAG,QAAQ,CAAC,KAAK;AAClB,SAAA;AAED,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAE,IAAI;YACV,GAAG,QAAQ,CAAC,MAAM;AACnB,SAAA;AAED,QAAA,OAAO,EAAE;AACP,YAAA,MAAM,EAAE;gBACN,SAAS;gBACT,cAAc;gBACd,yBAAyB;gBACzB,UAAU;gBACV,aAAa;gBACb,kBAAkB;gBAClB,OAAO;gBACP,WAAW;gBACX,kBAAkB;AACnB,aAAA;YACD,GAAG,QAAQ,CAAC,OAAO;AACpB,SAAA;AAED,QAAA,YAAY,EAAE;AACZ,YAAA,OAAO,EAAE;gBACP,SAAS;gBACT,cAAc;gBACd,yBAAyB;gBACzB,UAAU;gBACV,kBAAkB;gBAClB,OAAO;gBACP,WAAW;AACX,gBAAA,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;AACzC,aAAA;AACD,YAAA,OAAO,EAAE;gBACP,aAAa;AACd,aAAA;AACD,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA;YACD,GAAG,QAAQ,CAAC,YAAY;AACzB,SAAA;KACF;AACH;;;;"}
|
package/package.json
CHANGED
package/src/vite/index.ts
CHANGED
|
@@ -93,12 +93,33 @@ await import('${entrySrc}');
|
|
|
93
93
|
/**
|
|
94
94
|
* Vite plugin that enables importing `.lua` files as raw strings
|
|
95
95
|
* and triggers a full page reload on `.lua` file changes.
|
|
96
|
+
*
|
|
97
|
+
* Also shims Node.js built-in modules (`os`, `child_process`, etc.) that
|
|
98
|
+
* `fengari` references at the top level so the library can be pre-bundled
|
|
99
|
+
* by esbuild and run in the browser without errors.
|
|
96
100
|
*/
|
|
101
|
+
const FENGARI_NODE_SHIMS: Record<string, string> = {
|
|
102
|
+
os: 'export function platform() { return "browser"; } export default { platform };',
|
|
103
|
+
child_process: 'export default {};',
|
|
104
|
+
fs: 'export default {};',
|
|
105
|
+
};
|
|
106
|
+
|
|
97
107
|
function luaPlugin(): Plugin {
|
|
98
108
|
return {
|
|
99
109
|
name: 'game-engine:lua',
|
|
100
110
|
apply: 'serve',
|
|
101
111
|
|
|
112
|
+
resolveId(id: string) {
|
|
113
|
+
if (id in FENGARI_NODE_SHIMS) return `\0fengari-shim:${id}`;
|
|
114
|
+
},
|
|
115
|
+
|
|
116
|
+
load(id: string) {
|
|
117
|
+
if (id.startsWith('\0fengari-shim:')) {
|
|
118
|
+
const mod = id.slice('\0fengari-shim:'.length);
|
|
119
|
+
return FENGARI_NODE_SHIMS[mod];
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
|
|
102
123
|
transform(code: string, id: string) {
|
|
103
124
|
if (id.endsWith('.lua')) {
|
|
104
125
|
return {
|
|
@@ -215,6 +236,7 @@ export function defineGameConfig(config: GameConfig = {}): UserConfig {
|
|
|
215
236
|
'yoga-layout/load',
|
|
216
237
|
'react',
|
|
217
238
|
'react-dom',
|
|
239
|
+
...(config.devBridge ? ['fengari'] : []),
|
|
218
240
|
],
|
|
219
241
|
exclude: [
|
|
220
242
|
'yoga-layout',
|