diff --git a/packages/api/src/console.ts b/packages/api/src/console.ts index 670d5d02..b4a3b9a6 100644 --- a/packages/api/src/console.ts +++ b/packages/api/src/console.ts @@ -20,6 +20,7 @@ enum LogLevel { export class MiaoScriptConsole implements Console { Console: NodeJS.ConsoleConstructor + memory: any private static sourceMaps: { [key: string]: SourceMapBuilder } = {} private static sourceFileMaps: { [key: string]: string } = {} @@ -195,6 +196,9 @@ export class MiaoScriptConsole implements Console { dirxml(...data: any[]): void { throw new Error("Method not implemented.") } + exception(message?: string, ...optionalParams: any[]): void { + throw new Error('Method not implemented.') + } group(...label: any[]): void { throw new Error("Method not implemented.") } diff --git a/packages/client/package.json b/packages/client/package.json index f969e850..258b06b2 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -25,6 +25,7 @@ "minecraft-protocol": "^1.24.1" }, "devDependencies": { + "@types/node": "^14.14.37", "rimraf": "^3.0.2", "typescript": "^4.2.3" } diff --git a/packages/common/src/http.ts b/packages/common/src/http.ts index 8ea16491..f415859f 100644 --- a/packages/common/src/http.ts +++ b/packages/common/src/http.ts @@ -23,7 +23,7 @@ interface RequestConfig { } function request(config: RequestConfig) { - // @ts-ignore + // @ts-ignore XMLHttpRequest class only exist nashorn polyfill let xhr = new XMLHttpRequest() xhr.open(config.method, config.url, false) for (const header in config.headers) { @@ -44,6 +44,7 @@ function request(config: RequestConfig) { if (xhr.getResponseHeader("Content-Type").indexOf('application/json') != -1) { xhr.responseType = "json" } + // @ts-ignore get only exist nashorn polyfill return xhr.get() } diff --git a/packages/i18n/src/index.ts b/packages/i18n/src/index.ts index d5a8b652..18fc84c5 100644 --- a/packages/i18n/src/index.ts +++ b/packages/i18n/src/index.ts @@ -50,7 +50,7 @@ export class Translate { readYamlFile(dir: string, name: string) { let langFile = this.concat(dir, 'languages', name + '.yml') - return this.exists(langFile) && yaml.safeLoad(base.read(langFile)) + return this.exists(langFile) && yaml.load(base.read(langFile)) } concat(...args: string[]) { diff --git a/packages/plugin/src/config.ts b/packages/plugin/src/config.ts index 532ccb84..70c287fe 100644 --- a/packages/plugin/src/config.ts +++ b/packages/plugin/src/config.ts @@ -13,10 +13,10 @@ export interface PluginConfigLoader { export class YamlPluginConfig implements PluginConfigLoader { load(content: string) { - return yaml.safeLoad(content) + return yaml.load(content) } dump(variable: any): string { - return yaml.safeDump(variable, { skipInvalid: true, lineWidth: 120 }) + return yaml.dump(variable, { skipInvalid: true, lineWidth: 120 }) } } diff --git a/packages/polyfill/package.json b/packages/polyfill/package.json index fd6768e7..813279c1 100644 --- a/packages/polyfill/package.json +++ b/packages/polyfill/package.json @@ -15,12 +15,11 @@ }, "dependencies": { "@ccms/i18n": "^0.14.0", - "@ccms/nashorn": "^0.14.0", "@ccms/nodejs": "^0.14.0", "core-js": "^3.9.1" }, "devDependencies": { - "@ccms/nashorn": "^0.13.0", + "@ccms/nashorn": "^0.14.0", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.2", "typescript": "^4.2.3" diff --git a/packages/polyfill/src/task.ts b/packages/polyfill/src/task.ts deleted file mode 100644 index 1dacb917..00000000 --- a/packages/polyfill/src/task.ts +++ /dev/null @@ -1,141 +0,0 @@ -(function nashornEventLoopMain(context) { - 'use strict'; - - var Thread = Java.type('java.lang.Thread'); - var Phaser = Java.type('java.util.concurrent.Phaser'); - var ArrayDeque = Java.type('java.util.ArrayDeque'); - var HashMap = Java.type('java.util.HashMap'); - var TimeUnit = Java.type("java.util.concurrent.TimeUnit"); - var Runnable = Java.type('java.lang.Runnable'); - - var globalTimerId; - var timerMap; - var eventLoop; - var phaser = new Phaser(); - - // __NASHORN_POLYFILL_TIMER__ type is ScheduledExecutorService - var scheduler = context.__NASHORN_POLYFILL_TIMER__; - - resetEventLoop(); - - // console.log('main javasript thread ' + Thread.currentThread().getName()); - - function resetEventLoop() { - globalTimerId = 1; - if (timerMap) { - timerMap.forEach(function(key, value) { - value.cancel(true); - }) - } - timerMap = new HashMap(); - eventLoop = new ArrayDeque(); - } - - function waitForMessages() { - phaser.register(); - var wait = !(eventLoop.size() === 0); - phaser.arriveAndDeregister(); - return wait; - } - - function processNextMessages() { - var remaining = 1; - while (remaining) { - phaser.register(); - var message = eventLoop.removeFirst(); - remaining = eventLoop.size(); - phaser.arriveAndDeregister(); - - var fn = message.fn; - var args = message.args; - - try { - fn.apply(context, args); - } catch (e) { - console.trace(e); - console.trace(fn); - console.trace(args); - } - } - } - - context.nashornEventLoop = { - process: function() { - while (waitForMessages()) { - processNextMessages() - } - }, - reset: resetEventLoop - }; - - - function createRunnable(fn, timerId, args, repeated) { - return new Runnable({ - run: function() { - try { - var phase = phaser.register(); - eventLoop.addLast({ - fn: fn, - args: args - }); - } catch (e) { - console.trace(e); - } finally { - if (!repeated) timerMap.remove(timerId); - phaser.arriveAndDeregister(); - } - } - }) - } - - var setTimeout = function(fn, millis /* [, args...] */) { - var args = [].slice.call(arguments, 2, arguments.length); - - var timerId = globalTimerId++; - var runnable = createRunnable(fn, timerId, args, false); - - var task = scheduler.schedule(runnable, millis, TimeUnit.MILLISECONDS); - timerMap.put(timerId, task); - - return timerId; - }; - - var setImmediate = function(fn /* [, args...] */) { - var args = [].slice.call(arguments, 1, arguments.length); - // @ts-ignore - return setTimeout(fn, 0, args); - } - - var clearImmediate = function(timerId) { - clearTimeout(timerId); - } - - var clearTimeout = function(timerId) { - var task = timerMap.get(timerId); - if (task) { - task.cancel(true); - timerMap.remove(timerId); - } - }; - - var setInterval = function(fn, delay /* [, args...] */) { - var args = [].slice.call(arguments, 2, arguments.length); - var timerId = globalTimerId++; - var runnable = createRunnable(fn, timerId, args, true); - var task = scheduler.scheduleWithFixedDelay(runnable, delay, delay, TimeUnit.MILLISECONDS); - timerMap.put(timerId, task); - return timerId; - }; - - var clearInterval = function(timerId) { - clearTimeout(timerId); - }; - - context.setTimeout = setTimeout; - context.clearTimeout = clearTimeout; - context.setImmediate = setImmediate; - context.clearImmediate = clearImmediate; - context.setInterval = setInterval; - context.clearInterval = clearInterval; - // @ts-ignore -})(typeof global !== "undefined" && global || typeof self !== "undefined" && self || this); \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 3987cbec..dbdedcbd 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,6 +5,7 @@ "outDir": "dist", "target": "es5", "module": "commonjs", + "moduleResolution": "node", "strict": true, "strictNullChecks": false, "importHelpers": true, @@ -18,4 +19,4 @@ "experimentalDecorators": true, "lib": [] } -} \ No newline at end of file +}