From 6929bc820f5fb88924ee622ab95ad79aafa78ff0 Mon Sep 17 00:00:00 2001 From: Kushagra Gour Date: Tue, 7 May 2024 14:09:10 +0530 Subject: [PATCH] upgrade esprima to latest version fixes #252 --- package-lock.json | 27 +++++++++++++++++++++++---- package.json | 2 +- src/computes.js | 16 ++++++++-------- src/utils.js | 2 +- 4 files changed, 33 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9cad349..889260e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "web-maker", - "version": "5.3.0", + "version": "6.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "web-maker", - "version": "5.3.0", + "version": "6.1.0", "license": "MIT", "dependencies": { "@emmetio/codemirror-plugin": "^0.5.4", @@ -15,7 +15,7 @@ "code-blast-codemirror": "chinchang/code-blast-codemirror#web-maker", "codemirror": "^5.65.16", "copy-webpack-plugin": "^4.5.1", - "esprima": "^4.0.0", + "esprima-next": "^6.0.3", "firebase": "^8.10.0", "jszip": "^3.1.5", "preact": "^10.17.0", @@ -11407,6 +11407,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -11415,6 +11416,18 @@ "node": ">=4" } }, + "node_modules/esprima-next": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/esprima-next/-/esprima-next-6.0.3.tgz", + "integrity": "sha512-fVfE+9qIOJSbS3AR7roIuL0gCeS+tC86bJV9GlJtwXCRoo67q6tsGGUjThW+JtR5IQSShnHqaDqX8D0IYDfRGA==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/esquery": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", @@ -37402,7 +37415,13 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esprima-next": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/esprima-next/-/esprima-next-6.0.3.tgz", + "integrity": "sha512-fVfE+9qIOJSbS3AR7roIuL0gCeS+tC86bJV9GlJtwXCRoo67q6tsGGUjThW+JtR5IQSShnHqaDqX8D0IYDfRGA==" }, "esquery": { "version": "1.4.0", diff --git a/package.json b/package.json index e22f8e2..75956cb 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "code-blast-codemirror": "chinchang/code-blast-codemirror#web-maker", "codemirror": "^5.65.16", "copy-webpack-plugin": "^4.5.1", - "esprima": "^4.0.0", + "esprima-next": "^6.0.3", "firebase": "^8.10.0", "jszip": "^3.1.5", "preact": "^10.17.0", diff --git a/src/computes.js b/src/computes.js index 144bb64..9e28c73 100644 --- a/src/computes.js +++ b/src/computes.js @@ -2,7 +2,7 @@ import { deferred } from './deferred'; import { addInfiniteLoopProtection } from './utils'; import { HtmlModes, CssModes, JsModes } from './codeModes'; -const esprima = require('esprima'); +const esprima = require('esprima-next'); // computeHtml, computeCss & computeJs evaluate the final code according // to whatever mode is selected and resolve the returned promise with the code. @@ -18,20 +18,20 @@ export function computeHtml(userCode, mode) { window.marked ? { code: marked(code) - } + } : { code - } + } ); } else if (mode === HtmlModes.JADE) { d.resolve( window.jade ? { code: jade.render(code) - } + } : { code - } + } ); } @@ -198,7 +198,7 @@ export function computeJs( ? code : addInfiniteLoopProtection(code, { timeout: infiniteLoopTimeout - }); + }); } d.resolve({ @@ -231,7 +231,7 @@ export function computeJs( ? code : addInfiniteLoopProtection(code, { timeout: infiniteLoopTimeout - }); + }); } d.resolve({ code, @@ -267,7 +267,7 @@ export function computeJs( ? code : addInfiniteLoopProtection(code, { timeout: infiniteLoopTimeout - }); + }); } d.resolve({ code, diff --git a/src/utils.js b/src/utils.js index 0d85f17..382b01f 100644 --- a/src/utils.js +++ b/src/utils.js @@ -4,7 +4,7 @@ import { modes, HtmlModes, CssModes, JsModes } from './codeModes'; import { deferred } from './deferred'; import { getExtensionFromFileName } from './fileUtils'; import confetti from 'canvas-confetti'; -const esprima = require('esprima'); +const esprima = require('esprima-next'); window.DEBUG = document.cookie.indexOf('wmdebug') > -1; window.$ = document.querySelector.bind(document);