upgrade Acorn - fixes #1949

pull/1958/head
Richard Harris 6 years ago
parent dcad65b118
commit cf6b6d4dbf

27
package-lock.json generated

@ -1,6 +1,6 @@
{
"name": "svelte",
"version": "3.0.0-alpha13",
"version": "3.0.0-alpha16",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -217,19 +217,16 @@
"dev": true
},
"acorn": {
"version": "5.7.3",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
"integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.5.tgz",
"integrity": "sha512-i33Zgp3XWtmZBMNvCr4azvOFeWVw1Rk6p3hfi3LUDvIFraOMywb1kAtrbi+med14m4Xfpqm3zRZMT+c0FNE7kg==",
"dev": true
},
"acorn-dynamic-import": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz",
"integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==",
"dev": true,
"requires": {
"acorn": "^5.0.0"
}
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz",
"integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==",
"dev": true
},
"acorn-globals": {
"version": "4.3.0",
@ -2934,6 +2931,14 @@
"whatwg-url": "^6.4.1",
"ws": "^5.2.0",
"xml-name-validator": "^3.0.0"
},
"dependencies": {
"acorn": {
"version": "5.7.3",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
"integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
"dev": true
}
}
},
"jsesc": {

@ -1,6 +1,6 @@
{
"name": "svelte",
"version": "3.0.0-alpha15",
"version": "3.0.0-alpha16",
"description": "The magical disappearing UI framework",
"module": "index.mjs",
"main": "index.js",
@ -55,8 +55,8 @@
"devDependencies": {
"@types/mocha": "^5.2.0",
"@types/node": "^10.5.5",
"acorn": "^5.4.1",
"acorn-dynamic-import": "^3.0.0",
"acorn": "^6.0.5",
"acorn-dynamic-import": "^4.0.0",
"agadoo": "^1.0.1",
"codecov": "^3.0.0",
"css-tree": "1.0.0-alpha22",

@ -0,0 +1,15 @@
import * as acorn from 'acorn';
import dynamicImport from 'acorn-dynamic-import';
const Parser = acorn.Parser.extend(dynamicImport);
export const parse = (source: string, options: any) => Parser.parse(source, {
sourceType: 'module',
ecmaVersion: 9,
preserveParens: true
});
export const parseExpressionAt = (source: string, index: number, options: any) => Parser.parseExpressionAt(source, index, {
ecmaVersion: 9,
preserveParens: true
});

@ -1,4 +1,4 @@
import { parseExpressionAt } from 'acorn';
import { parseExpressionAt } from '../acorn';
import { Parser } from '../index';
const literals = new Map([['true', true], ['false', false], ['null', null]]);
@ -31,13 +31,7 @@ export default function readExpression(parser: Parser) {
parser.index = start;
try {
const node = parseExpressionAt(parser.template, parser.index, {
ecmaVersion: 9,
preserveParens: true,
plugins: {
dynamicImport: true
}
});
const node = parseExpressionAt(parser.template, parser.index);
parser.index = node.end;
return node;

@ -1,13 +1,10 @@
import * as acorn from 'acorn';
import injectDynamicImport from 'acorn-dynamic-import/src/inject';
import * as acorn from '../acorn';
import repeat from '../../utils/repeat';
import { Parser } from '../index';
import { Node } from '../../interfaces';
const scriptClosingTag = '</script>';
injectDynamicImport(acorn);
export default function readScript(parser: Parser, start: number, attributes: Node[]) {
const scriptStart = parser.index;
const scriptEnd = parser.template.indexOf(scriptClosingTag, scriptStart);
@ -24,13 +21,7 @@ export default function readScript(parser: Parser, start: number, attributes: No
let ast;
try {
ast = acorn.parse(source, {
ecmaVersion: 9,
sourceType: 'module',
plugins: {
dynamicImport: true
}
});
ast = acorn.parse(source);
} catch (err) {
parser.acornError(err);
}

Loading…
Cancel
Save