add quickjs eval engine for macros
This commit is contained in:
parent
35b76802d1
commit
209f5cae9c
9 changed files with 404 additions and 10 deletions
28
bin/webpack-quickjs-bundle.js
Normal file
28
bin/webpack-quickjs-bundle.js
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
import * as QuickJSModule from "../node_modules/quickjs-emscripten/dist/index.js";
|
||||
|
||||
// Re-export all the named exports
|
||||
export const getQuickJS = QuickJSModule.getQuickJS;
|
||||
export const getQuickJSSync = QuickJSModule.getQuickJSSync;
|
||||
export const newQuickJSWASMModule = QuickJSModule.newQuickJSWASMModule;
|
||||
export const newQuickJSAsyncWASMModule = QuickJSModule.newQuickJSAsyncWASMModule;
|
||||
export const newAsyncRuntime = QuickJSModule.newAsyncRuntime;
|
||||
export const newAsyncContext = QuickJSModule.newAsyncContext;
|
||||
export const DEBUG_SYNC = QuickJSModule.DEBUG_SYNC;
|
||||
export const DEBUG_ASYNC = QuickJSModule.DEBUG_ASYNC;
|
||||
export const RELEASE_SYNC = QuickJSModule.RELEASE_SYNC;
|
||||
export const RELEASE_ASYNC = QuickJSModule.RELEASE_ASYNC;
|
||||
export const errors = QuickJSModule.errors;
|
||||
export const memoizePromiseFactory = QuickJSModule.memoizePromiseFactory;
|
||||
export const Lifetime = QuickJSModule.Lifetime;
|
||||
export const Scope = QuickJSModule.Scope;
|
||||
export const WeakLifetime = QuickJSModule.WeakLifetime;
|
||||
export const StaticLifetime = QuickJSModule.StaticLifetime;
|
||||
export const TestQuickJSWASMModule = QuickJSModule.TestQuickJSWASMModule;
|
||||
export const isFail = QuickJSModule.isFail;
|
||||
export const isSuccess = QuickJSModule.isSuccess;
|
||||
export const assertSync = QuickJSModule.assertSync;
|
||||
export const DeferredPromise = QuickJSModule.DeferredPromise;
|
||||
export const shouldInterruptAfterDeadline = QuickJSModule.shouldInterruptAfterDeadline;
|
||||
|
||||
// Default export
|
||||
export default QuickJSModule;
|
||||
50
bin/webpack-quickjs-esm.js
Normal file
50
bin/webpack-quickjs-esm.js
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
const path = require('path');
|
||||
const webpack = require('webpack');
|
||||
|
||||
module.exports = {
|
||||
mode: 'production',
|
||||
entry: path.resolve(__dirname, './webpack-quickjs-bundle.js'),
|
||||
output: {
|
||||
path: path.resolve(__dirname, '../src/ext'),
|
||||
filename: 'quickjs.js',
|
||||
library: {
|
||||
type: 'module'
|
||||
},
|
||||
module: true
|
||||
},
|
||||
experiments: {
|
||||
outputModule: true
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.mjs', '.js'],
|
||||
fallback: {
|
||||
'path': false,
|
||||
'fs': false,
|
||||
'crypto': false
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
'process.env.QTS_DEBUG': JSON.stringify(false),
|
||||
'process.env.NODE_ENV': JSON.stringify('production')
|
||||
})
|
||||
],
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.m?js$/,
|
||||
resolve: {
|
||||
fullySpecified: false,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
optimization: {
|
||||
minimize: false
|
||||
},
|
||||
performance: {
|
||||
hints: false,
|
||||
maxAssetSize: 2 * 1024 * 1024,
|
||||
maxEntrypointSize: 2 * 1024 * 1024,
|
||||
},
|
||||
};
|
||||
Loading…
Reference in a new issue