es-module-lexer
Advanced tools
Comparing version 0.3.4 to 0.3.5
@@ -0,1 +1,4 @@ | ||
0.3.5 | ||
* Fix Node.js 10 memory grow support for globals without a value getter (https://github.com/guybedford/es-module-lexer/issues/14) | ||
0.3.4 | ||
@@ -2,0 +5,0 @@ * Use UTF16 encoding for better performance, and removing reliance on TextEncoder (https://github.com/guybedford/es-module-lexer/pull/15) |
@@ -1,2 +0,2 @@ | ||
/* es-module-lexer 0.3.4 */ | ||
export function parse(A){if(!B)return init.then(()=>parse(A));const Q=2*A.length-(B.memory.buffer.byteLength-B.__heap_base.value);Q>0&&B.memory.grow(Math.ceil(Q/1024/64));const C=new Uint16Array(B.memory.buffer,B.salloc(A.length),A.length+1);if(function(A,Q){const B=A.length;for(let C=0;C<B;C++)Q[C]=A.charCodeAt(C)}(A,C),!B.parse()){const A=B.e(),Q=new Error(`Parse error at ${A}.`);throw Q.loc=A,Q}const E=[],I=[];for(;B.ri();)E.push({s:B.is(),e:B.ie(),d:B.id()});for(;B.re();)I.push(A.slice(B.es(),B.ee()));return[E,I]}const A="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";let Q,B;if("undefined"!=typeof Buffer)Q=Buffer.from(A,"base64");else{const B=atob(A),C=B.length;Q=new Uint8Array(C);for(let A=0;A<C;A++)Q[A]=B.charCodeAt(A)}export const init=WebAssembly.compile(Q).then(WebAssembly.instantiate).then(({exports:A})=>{B=A}); | ||
/* es-module-lexer 0.3.5 */ | ||
export function parse(A){if(!B)return init.then(()=>parse(A));const Q=2*A.length-(B.memory.buffer.byteLength-(B.__heap_base.value||B.__heap_base));Q>0&&B.memory.grow(Math.ceil(Q/1024/64));const C=new Uint16Array(B.memory.buffer,B.salloc(A.length),A.length+1);if(function(A,Q){const B=A.length;for(let C=0;C<B;C++)Q[C]=A.charCodeAt(C)}(A,C),!B.parse()){const A=B.e(),Q=new Error(`Parse error at ${A}.`);throw Q.loc=A,Q}const E=[],I=[];for(;B.ri();)E.push({s:B.is(),e:B.ie(),d:B.id()});for(;B.re();)I.push(A.slice(B.es(),B.ee()));return[E,I]}const A="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";let Q,B;if("undefined"!=typeof Buffer)Q=Buffer.from(A,"base64");else{const B=atob(A),C=B.length;Q=new Uint8Array(C);for(let A=0;A<C;A++)Q[A]=B.charCodeAt(A)}export const init=WebAssembly.compile(Q).then(WebAssembly.instantiate).then(({exports:A})=>{B=A}); |
{ | ||
"name": "es-module-lexer", | ||
"version": "0.3.4", | ||
"version": "0.3.5", | ||
"description": "Lexes ES modules returning their import/export metadata", | ||
@@ -5,0 +5,0 @@ "main": "dist/lexer.cjs", |
@@ -9,3 +9,3 @@ # ES Module Lexer | ||
_Comprehensively handles the JS language grammar while remaining small and fast - can parse 2MB of JavaScript in under 30ms from a completely cold start, and in just 20ms after a few runs, [see benchmarks](#benchmarks) for more info._ | ||
_Comprehensively handles the JS language grammar while remaining small and fast - can parse 2MB of JavaScript in ~22ms from a completely cold start, and in ~14ms after a few runs, [see benchmarks](#benchmarks) for more info._ | ||
@@ -22,53 +22,61 @@ ### Environment Support | ||
For use in CommonJS: | ||
```js | ||
import { init, parse } from 'es-module-lexer'; | ||
const { init, parse } = require('es-module-lexer'); | ||
// Wait for WebAssembly to load. Alternatively use parse asynchronously. | ||
await init(); | ||
(async () => { | ||
// either await init, or call parse asynchronously | ||
// this is necessary for the Web Assembly boot | ||
await init; | ||
// Note: Parsing error messages thrown are not user friendly | ||
// and only provide stack information in the lexer itself. | ||
// It is recommended to always catch and fall back to an alternative | ||
// parser for proper error output. | ||
const [imports, exports] = parse('export var p = 5'); | ||
exports[0] === 'p'; | ||
})(); | ||
``` | ||
const source = ` | ||
import { a } from 'asdf'; | ||
export var p = 5; | ||
export function q () { | ||
An ES module version is also available from `dist/es-module-lexer.js`: | ||
}; | ||
```js | ||
import { init, parse } from 'es-module-lexer/dist/es-module-lexer.js'; | ||
// Comments provided to demonstrate edge cases | ||
import /*comment!*/ ('asdf'); | ||
import /*comment!*/.meta.asdf; | ||
`; | ||
(async () => { | ||
await init; | ||
try { | ||
var [imports, exports] = parse(source); | ||
} | ||
catch (e) { | ||
console.log('Parsing failure'); | ||
} | ||
const source = ` | ||
import { a } from 'asdf'; | ||
export var p = 5; | ||
export function q () { | ||
// Returns "asdf" | ||
source.substring(imports[0].s, imports[0].e); | ||
}; | ||
// Returns "p,q" | ||
exports.toString(); | ||
// Comments provided to demonstrate edge cases | ||
import /*comment!*/ ('asdf'); | ||
import /*comment!*/.meta.asdf; | ||
`; | ||
// Dynamic imports are indicated by imports[1].d > -1 | ||
// In this case the "d" index is the start of the dynamic import | ||
// Returns true | ||
imports[1].d > -1; | ||
const [imports, exports] = parse(source); | ||
// Returns "'asdf'" | ||
source.substring(imports[1].s, imports[1].e); | ||
// Returns "import /*comment!*/ (" | ||
source.substring(imports[1].d, imports[1].s); | ||
// Returns "asdf" | ||
source.substring(imports[0].s, imports[0].e); | ||
// import.meta is indicated by imports[2].d === -2 | ||
// Returns true | ||
imports[2].d === -2; | ||
// Returns "import /*comment!*/.meta" | ||
source.substring(imports[2].s, imports[2].e); | ||
// Returns "p,q" | ||
exports.toString(); | ||
// Dynamic imports are indicated by imports[1].d > -1 | ||
// In this case the "d" index is the start of the dynamic import | ||
// Returns true | ||
imports[1].d > -1; | ||
// Returns "'asdf'" | ||
source.substring(imports[1].s, imports[1].e); | ||
// Returns "import /*comment!*/ (" | ||
source.substring(imports[1].d, imports[1].s); | ||
// import.meta is indicated by imports[2].d === -2 | ||
// Returns true | ||
imports[2].d === -2; | ||
// Returns "import /*comment!*/.meta" | ||
source.substring(imports[2].s, imports[2].e); | ||
})(); | ||
``` | ||
@@ -75,0 +83,0 @@ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
24728
145