Socket
Socket
Sign inDemoInstall

cjs-module-lexer

Package Overview
Dependencies
Maintainers
1
Versions
41
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cjs-module-lexer - npm Package Compare versions

Comparing version 0.2.12 to 0.3.0

lexer.js

2

dist/lexer.js

@@ -1,1 +0,1 @@

"use strict";exports.parse=parse;exports.init=init;const A=WebAssembly.compile,B=WebAssembly.instantiate,Q=Uint8Array.from,E="undefined"!=typeof Buffer&&Buffer.from,I=Function.prototype.call.bind(String.prototype.charCodeAt),g=Function.prototype.call.bind(String.prototype.slice),C=Function.prototype.call.bind(String.prototype.split),k=Function.prototype.call.bind(String.prototype.lastIndexOf),w=Object.assign,J=JSON.parse,H=Math.ceil,c=Uint16Array,G=Error,D=Set,i=Function.prototype.call.bind(Set.prototype.has),S=Function.prototype.call.bind(Set.prototype.add),a=new Set(["implements","interface","let","package","private","protected","public","static","yield","enum"]);let F,q;function parse(A,B="@"){if(!F)throw new Error("Not initialized");const Q=(F.__heap_base.value||F.__heap_base)+4*A.length-F.memory.buffer.byteLength;if(Q>0&&F.memory.grow(H(Q/65536)),function(A,B){const Q=A.length;let E=0;for(;E<Q;)B[E]=I(A,E++)}(A,new c(F.memory.buffer,F.sa(A.length),A.length+1)),!F.parse())throw w(new G(`Parse error ${B}:${C(g(A,0,F.e()),"\n").length}:${F.e()-k(A,"\n",F.e()-1)}`),{idx:F.e()});let E=new D,q=new D;for(;F.rre();)S(q,J('"'+g(A,F.res()+1,F.ree()-1)+'"'));for(;F.re();){let B,Q=g(A,F.es(),F.ee());0!==Q.length?(B="'"===Q[0]||'"'===Q[0]?g(Q,1,-1):Q,i(a,B)||S(E,B)):(E=new D(["__esModule"]),q=new D)}return{exports:[...E],reexports:[...q]}}function init(){return q||(q=(async()=>{const g=await A((C="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AQEBAQEBAQEBAQEBAQILIABBoGpqQQJJDQELIABB7WlqQRZJDQACQAJAIABBj2lqIgFBM0sEQCAAQdZpaiIBQRNLQQEgAXRB//YjcUVyDQEMAwsgAUEBaw4xAQEBAQEBAQEBAQEBAQEBAQECAQICAgICAgEBAQICAgECAgICAQEBAgIBAgECAgEBAQILIABBpGlqIgFBBUsNACABQQJHDQELIABB2GhqQQNJIABB7mdqQRdJciAAQfJnakEDSSAAQftnakEISXJyIABB0BdGIABB0mhqQQxJciAAQb0YRiAAQdZnakEQSXJycg0AIABB1mZqQQpJIABB7mZqQRdJckEAIABBqGdqIgFBKUlCh4aAgIAgIAGtiEIBg1AbciAAQftmakEISSAAQfJmakEDSXJyDQAgAEH7ZWoiAUELTUEAIAFBCEcbDQAgAEHLZmoiAUEITUEAQQEgAXRBnwJxGw0AIABBvRpGIABB7mVqQSlJciAAQaJmaiIBQRRNQQBBASABdEGNgOAAcRtyIABBzhpGIABBzWRqQQlJciAAQeZkakEYSSAAQftkakESSXJyciAAQYZlakEGSSAAQaxlakEDSXIgAEGhZWpBA0lycg0AIARBsxxGIABB/2NqQTBJciAAQcNkaiIBQQpJQQBB+QcgAUH//wNxdkEBcRtyIABBwGNqQQdJcg0AIABB/2JqIgFBDE1BAEEBIAF0QcslcRsNACAAQXxxIgFBlB1GIABB52JqQQdJcg0AIABBgGBqQStJIABB+GBqQQVJckEAIABB32JqIgNBJklC1+ybgPkFIAOtiEIBg1AbciAAQbdhakEkSXINACAAQXhxIgJBwB5GIABBgB5GciABQdwdRnINACAAQZJfakEDSSAAQeBeakEmSXJBACAAQcFfaiIDQShJQoGA+MPHGCADrYhCAYNQG3IgAEGOIUYgAEGLX2pBDUlyIABBxyFGIABBzSFGcnJyIABBtltqQQRJIABBsF5qQStJciAAQYReakHNAklycg0AIABBzlpqQQRJIABB8FpqQSFJciAAQbBbaiIDQQlJQQBB/wIgA0H//wNxdkEBcRtyIABB9lpqQQRJIABBpltqQQRJciAAQaBbakEpSXJyDQAgAEGAUWpBNEkgAEGSUWpBA0lyIABByFpqIgNBCUlBAEH/AiADQf//A3F2QQFxG3Ig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","function"==typeof atob?Q(atob(C),A=>I(A,0)):E(C,"base64")));var C;const{exports:k}=await B(g);F=k})())}
"use strict";exports.parse=parse;exports.init=init;const A=new Set(["implements","interface","let","package","private","protected","public","static","yield","enum"]);let B,Q;function parse(Q,E="@"){if(!B)throw new Error("Not initialized");const g=(B.__heap_base.value||B.__heap_base)+4*Q.length-B.memory.buffer.byteLength;g>0&&B.memory.grow(Math.ceil(g/65536));const I=B.sa(Q.length);if(function(A,B){const Q=A.length;let E=0;for(;E<Q;)B[E]=A.charCodeAt(E++)}(Q,new Uint16Array(B.memory.buffer,I,Q.length+1)),!B.parseCJS(I,Q.length,0,0))throw Object.assign(new Error(`Parse error ${E}${B.e()}:${Q.slice(0,B.e()).split("\n").length}:${B.e()-Q.lastIndexOf("\n",B.e()-1)}`),{idx:B.e()});let C=new Set,S=new Set;for(;B.rre();)S.add(Q.slice(B.res(),B.ree()));for(;B.re();){let E=Q.slice(B.es(),B.ee());A.has(E)||C.add(E)}return{exports:[...C],reexports:[...S]}}function init(){return Q||(Q=(async()=>{const A=await WebAssembly.compile((Q="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IAYQOg0CQZygASAAIARBAXRqNgIAECFB2wBHDQJBnKABQZygASgCAEECajYCABAhGkGcoAEoAgAiACABIAIQOg0CQZygASAAIANBAXRqNgIAECFB3QBHDQIMAQsgAEHPAEcNAUGcoAEoAgAiAEECakHiAEHqAEHlAEHjAEH0ABAORQ0BQZygASAAQQxqNgIAECFBLkcNAUGcoAFBnKABKAIAQQJqNgIAECFB5ABHDQFBnKABKAIAIgBBAmoQM0UNAUGcoAEgAEEcajYCABAhQShHDQFBnKABQZygASgCAEECajYCABAhEDRFDQEQIUEsRw0BQZygAUGcoAEoAgBBAmo2AgAQIRpBnKABKAIAIgAgASACEDoNAUGcoAEgACADQQF0ajYCABAhQSxHDQFBnKABQZygASgCAEECajYCABAhQfsARw0BQZygAUGcoAEoAgBBAmo2AgAQIUHlAEcNAUGcoAEoAgAiAEECahA2RQ0BQZygASAAQRRqNgIAECFBOkcNAUGcoAFBnKABKAIAQQJqNgIAECFBnKABKAIAIQBB9ABHBEAgAC8BAkHyAEcNAiAALwEEQfUARw0CIAAvAQZB5QBHDQILQZygASAAQQhqNgIAECFBLEcNAUGcoAFBnKABKAIAQQJqNgIAECFB5wBHDQFBnKABKAIAIgAvAQJB5QBHDQEgAC8BBEH0AEcNAUGcoAEgAEEGajYCABAhQTpHDQFBnKABQZygASgCAEECajYCABAhQeYARw0BQZygASgCACIAQQJqQfUAQe4AQeMAQfQAQekAQe8AQe4AEBtFDQFBnKABIABBEGo2AgAQIUEoRw0BQZygAUGcoAEoAgBBAmo2AgAQIUEpRw0BQZygAUGcoAEoAgBBAmo2AgAQIUH7AEcNAUGcoAFBnKABKAIAQQJqNgIAECFB8gBHDQFBnKABKAIAIgBBAmpB5QBB9ABB9QBB8gBB7gAQDkUNAUGcoAEgAEEMajYCABAhGkGcoAEoAgAiACAHIAYQOg0BQZygASAAIARBAXRqNgIAECFB2wBHDQFBnKABQZygASgCAEECajYCABAhGkGcoAEoAgAiACABIAIQOg0BQZygASAAIANBAXRqNgIAECFB3QBHDQFBnKABQZygASgCAEECajYCABAhIgFBO0YEf0GcoAFBnKABKAIAQQJqNgIAECEFIAELQf0ARw0BQZygAUGcoAEoAgBBAmo2AgAQIUH9AEcNAUGcoAFBnKABKAIAQQJqNgIAECFBKUcNAQtBnKABQZygASgCAEECajYCABAhIgFBO0YEf0GcoAFBnKABKAIAQQJqNgIAECEFIAELQf0ARw0AQZygAUGcoAEoAgBBAmo2AgAQIUEpRw0AQZSgASgCACECQeAfIQEDQCABIAJGDQICQCAEIAFBDGooAgAgAUEIaigCACIDa0EBdUcNACAHIAMgBhA6DQAgASgCACABQQRqKAIAQaAfKAIAEQIADAILIAFBEGohAQwACwALQZygASAFNgIACwtUAQR/QZygASgCAEECaiEBQaCgASgCACECA0ACQCABIgBBfmogAk8NACAAQQJqIQEgAC8BAEF2aiIDQQNLDQEgA0EBaw4CAQEACwtBnKABIAA2AgALewECf0GcoAFBnKABKAIAIgBBAmo2AgAgAEEGaiEAQaCgASgCACEBA0ACQAJAIABBfGogAUkEQCAAQX5qLwEAQSpHDQIgAC8BAEEvRw0CQZygASAAQX5qNgIADAELIABBfmohAAtBnKABIAA2AgAPCyAAQQJqIQAMAAsAC3IBAX8CQCAAQSlHIABBWGpB//8DcUEHSXEgAEFGakH//wNxQQZJciAAQV9qIgFBBU1BAEEBIAF0QTFxG3INAAJAIABBpX9qIgFBA0sNACABQQFrDgIAAAELIABB/QBHIABBhX9qQf//A3FBBElxDwtBAQs9AQF/QQEhAQJAIABB9wBB6ABB6QBB7ABB5QAQKg0AIABB5gBB7wBB8gAQKw0AIABB6QBB5gAQKCEBCyABC68BAQN/QQEhAwJAAkACQAJAAkACQCAALwEAIgFBRWoiAkEDSwRAIAFBm39qIgJBA00NASABQSlGDQMgAUH5AEcNAiAAQX5qQeYAQekAQe4AQeEAQewAQewAECwPCyACQQFrDgMBAQUCCyACQQFrDgMAAAMCC0EAIQMLIAMPCyAAQX5qQeUAQewAQfMAECsPCyAAQX5qQeMAQeEAQfQAQeMAECkPCyAAQX5qLwEAQT1GC80DAQJ/AkAgAC8BAEGcf2oiAUETSw0AAkACQAJAAkACQAJAAkACQCABQQFrDhMBAggICAgICAgDBAgIBQgGCAgHAAsgAEF+ai8BAEGXf2oiAUEDSw0HAkACQCABQQFrDgMJCQEACyAAQXxqQfYAQe8AECgPCyAAQXxqQfkAQekAQeUAECsPCyAAQX5qLwEAQY1/aiIBQQFLDQYgAUEBawRAIABBfGovAQAiAUHhAEcEQCABQewARw0IIABBempB5QAQLQ8LIABBempB4wAQLQ8LIABBfGpB5ABB5QBB7ABB5QAQKQ8LIABBfmovAQBB7wBHDQUgAEF8ai8BAEHlAEcNBSAAQXpqLwEAIgFB8ABHBEAgAUHjAEcNBiAAQXhqQekAQe4AQfMAQfQAQeEAQe4AECwPCyAAQXhqQfQAQfkAECgPC0EBIQIgAEF+aiIAQekAEC0NBCAAQfIAQeUAQfQAQfUAQfIAECoPCyAAQX5qQeQAEC0PCyAAQX5qEC4PCyAAQX5qQeEAQfcAQeEAQekAECkPCyAAQX5qLwEAIgFB7wBHBEAgAUHlAEcNASAAQXxqQe4AEC0PCyAAQXxqQfQAQegAQfIAECshAgsgAguAAQEDfwNAQZygAUGcoAEoAgAiAEECaiIBNgIAAkACQAJAIABBoKABKAIATw0AIAEvAQAiAUGlf2oiAkEBTQ0CIAFBdmoiAEEDSwRAIAFBL0cNBAwCCyAAQQFrDgIDAwALEBoLDwsgAkEBawRAEDkFQZygASAAQQRqNgIACwwACwALkgEBBH9BnKABKAIAIQBBoKABKAIAIQMDQAJAIAAiAUECaiEAIAEgA08NACAALwEAIgJB3ABHBEAgAkF2aiIBQQNLBEAgAkEiRw0DQZygASAANgIADwsgAUEBaw4CAgIBCyABQQRqIQAgAS8BBEENRw0BIAFBBmogACABLwEGQQpGGyEADAELC0GcoAEgADYCABAaC5IBAQR/QZygASgCACEAQaCgASgCACEDA0ACQCAAIgFBAmohACABIANPDQAgAC8BACICQdwARwRAIAJBdmoiAUEDSwRAIAJBJ0cNA0GcoAEgADYCAA8LIAFBAWsOAgICAQsgAUEEaiEAIAEvAQRBDUcNASABQQZqIAAgAS8BBkEKRhshAAwBCwtBnKABIAA2AgAQGgvQAQEFf0GcoAEoAgAhAEGgoAEoAgAhAgNAIAAiAUECaiEAAkAgASACSQRAIAAvAQAiA0Gkf2oiBEEETQ0BIANBJEcNAiABLwEEQfsARw0CQeQ/QeQ/LwEAIgBBAWo7AQBBgOAAKAIAIABBAXRqQeg/LwEAOwEAQZygASABQQRqNgIAQeg/QeY/LwEAQQFqIgE7AQBB5j8gATsBAA8LQZygASAANgIAEBoPCwJAAkAgBEEBaw4EAgICAAELQZygASAANgIADwsgAUEEaiEADAALAAs4AQF/QdQfQQE6AABBnKABKAIAIQBBnKABQaCgASgCAEECajYCAEHQHyAAQZgfKAIAa0EBdTYCAAtPAQF/AkAgAC8BACABRw0AIAAvAQIgAkcNACAALwEEIANHDQAgAC8BBiAERw0AIAAvAQggBUcNACAALwEKIAZHDQAgAC8BDCAHRiEICyAIC2wBAX9BnKABQZygASgCACIAQQxqNgIAAkAQIUEuRw0AQZygAUGcoAEoAgBBAmo2AgAQIUHlAEcNAEGcoAEoAgBBAmpB+ABB8ABB7wBB8gBB9ABB8wAQJEUNAEEBEB4PC0GcoAEgAEEKajYCAAujAQEEf0GcoAFBnKABKAIAIgFBDGoiAjYCAAJAAkACQAJAECEiAEFZaiIDQQdLBEAgAEEiRiAAQfsARnINAgwBCwJAIANBAWsOBwABAgEBAQMCC0HmP0HmPy8BACIAQQFqOwEAQZCgASgCACAAQQJ0aiABNgIADwtBnKABKAIAIAJGDQILQeY/LwEARQ0AQZygAUGcoAEoAgBBfmo2AgAPCxAaCwu/AgEDf0GcoAFBnKABKAIAIgJBDmo2AgACQAJAECEiAUHbAEcEQCABQT1GDQEgAUEuRw0CQZygAUGcoAEoAgBBAmo2AgAQIUGcoAEoAgAhARAiRQ0CQZygASgCACEAECFBPUcNAiABIABBnB8oAgARAgAPC0GcoAFBnKABKAIAQQJqNgIAECEiAEEnR0EAIABBIkcbDQFBnKABQZygASgCACIBQQJqIgM2AgAgAS8BAhAiRQ0BIABBnKABKAIAIgEvAQBHDQFBnKABIAFBAmo2AgAQIUHdAEcNAUGcoAFBnKABKAIAQQJqNgIAECFBPUcNASADIAFBnB8oAgARAgAMAQsgAEUNAEGcoAFBnKABKAIAQQJqNgIAECEiAEHyAEcEQCAAQfsARw0BECMPC0EBEAsaC0GcoAEgAkEMajYCAAs0AQJ/QZygAUGcoAEoAgBBDGoiADYCABAhIQECQCAAQZygASgCAEYEQCABEDhFDQELEBoLCyoAIABBgAFyQaABRiAAQXdqQf//A3FBBUlyBH9BAQUgABA4IABBLkdxCwt2AQN/QZygASgCACEAA0ACQAJAIAAvAQAiAUF3akEFSSABQSBGciABQaABRnINACABQS9HDQEgAC8BAiIAQSpHBEAgAEEvRw0CEBAMAQsQEQtBnKABQZygASgCACICQQJqIgA2AgAgAkGgoAEoAgBJDQELCyABC3oBAX8gABA3IgAQJyEBAn8gAEHcAEcEQEEAIAFFDQEaC0GcoAEoAgBBAkEEIABBgIAESRtqIQACQANAQZygASAANgIAIAAvAQAQNyIBRQ0BIAEQJgRAIABBAkEEIAFBgIAESRtqIQAMAQsLQQAgAUHcAEYNARoLQQELC9YCAQR/QZygASgCACIAQX5qIQMDQAJAQZygASAAQQJqNgIAAkACQCAAQaCgASgCAE8NABAhIQBBnKABKAIAIQECQAJAIAAQIgRAQZygASgCACECAkAQISIAQTpGBEBBnKABQZygASgCAEECajYCABAhECJFDQFBnKABKAIALwEAIQALIAEgAkGcHygCABECAAwCCwwFCyAAQSdHQQAgAEEiRxsNAUGcoAFBnKABKAIAIgFBAmoiAjYCACABLwECECJFDQBBnKABKAIAIgEvAQAgAEcNAEGcoAEgAUECajYCABAhIgBBOkcNAEGcoAFBnKABKAIAQQJqNgIAECEQIkUNBEGcoAEoAgAvAQAhACACIAFBnB8oAgARAgALIABB//8DcSIAQSxGDQIgAEH9AEYNAQwDC0GcoAEgAzYCAAsPC0GcoAEoAgAhAAwBCwtBnKABIAM2AgALRQEBfwJAIAAvAQAgAUcNACAALwECIAJHDQAgAC8BBCADRw0AIAAvAQYgBEcNACAALwEIIAVHDQAgAC8BCiAGRiEHCyAHCzYBAX8gAC8BACIBQYD4A3FBgLgDRgR/IAFB/wdxIABBfmovAQBB/wdxQQp0ckGAgARqBSABCwtzAQF/IABBL00EQCAAQSRGDwsCQCAAQTpJDQACQCAAQcEASQ0AIABB2wBJDQEgAEHgAE0EQCAAQd8ARg8LIABB+wBJDQEgAEH//wNNBEAgAEGqAUkNASAAEC8PC0EBIQEgABAwDQAgABAxIQELIAEPC0EBC10BAX8gAEHAAE0EQCAAQSRGDwtBASEBAkAgAEHbAEkNACAAQeAATQRAIABB3wBGDwsgAEH7AEkNACAAQf//A00EQEEAIQEgAEGqAUkNASAAEDIPCyAAEDAhAQsgAQtGAQN/AkAgAEF+aiIDQZgfKAIAIgRJDQAgAy8BACABRw0AIAAvAQAgAkcNACADIARGBEBBAQ8LIABBfGovAQAQICEFCyAFC2ABA38CQCAAQXpqIgVBmB8oAgAiBkkNACAFLwEAIAFHDQAgAEF8ai8BACACRw0AIABBfmovAQAgA0cNACAALwEAIARHDQAgBSAGRgRAQQEPCyAAQXhqLwEAECAhBwsgBwtDAQN/AkAgAEF4aiIGQZgfKAIAIgdJDQAgBiABIAIgAyAEIAUQDkUNACAGIAdGBEBBAQ8LIABBdmovAQAQICEICyAIC1MBA38CQCAAQXxqIgRBmB8oAgAiBUkNACAELwEAIAFHDQAgAEF+ai8BACACRw0AIAAvAQAgA0cNACAEIAVGBEBBAQ8LIABBemovAQAQICEGCyAGC0UBA38CQCAAQXZqIgdBmB8oAgAiCEkNACAHIAEgAiADIAQgBSAGECRFDQAgByAIRgRAQQEPCyAAQXRqLwEAECAhCQsgCQs3AQJ/AkBBmB8oAgAiAiAASw0AIAAvAQAgAUcNACAAIAJGBEBBAQ8LIABBfmovAQAQICEDCyADC04BA38CQCAAQXRqIgFBmB8oAgAiAkkNACABQeQAQeUAQeIAQfUAQecAQecAQeUAEBtFDQAgASACRgRAQQEPCyAAQXJqLwEAECAhAwsgAwvNEQECfwJAIAAQMiAAQfS/f2pBAklyIABBtwFGIABBgHpqQfAASXJyIABBhwdGIABB/XZqQQVJciAAQe90akEtSXJyDQAgAEHwc2pBC0kgAEG1c2pBH0lyIABBwXRqIgFBCE1BAEEBIAF0Qe0CcRtyDQAgAEHwDEYgAEGWcmpBBElyIABBqnJqIgFBEk1BAEEBIAF0Qf/8GXEbciAAQcBwakEKSSAAQdpwakELSXIgAEGRDkYgAEHQcWpBG0lycnIgAEGQcmpBCkkgAEHCbWpBEklyIABBxm1qQQNJIABBnW5qQSFJcnIgAEGtbmpBD0kgAEGnb2pBA0lyIABB129qQQVJIABB229qQQNJcnJyciAAQeVvakEJSSAAQepvakEESXIgAEH9D0YgAEGVcGpBCUlycnINACAAQZptakEKSSAAQa9taiIBQRJNQQBBASABdEH/gBhxG3INAAJAIABBxGxqIgFBJ0sEQCAAQf9sakEDSQ0CDAELIAFBAWsOJQABAQEBAQEBAAABAQAAAQEBAAAAAAAAAAAAAQAAAAAAAAAAAAABCyAAQf4TRiAAQZpsakEKSXINACAAQfUURiAAQf9rakEDSXIgAEHEa2oiAUEVTUEAQQEgAXRB/bCOAXEbciAAQZprakEMSXINAAJAIABBxGpqIgFBJ0sEQCAAQf9qakEDSQ0CDAELIAFBAWsOJQABAQEBAQEBAQABAQEAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAABCyAAQZpqakEKSSAAQYZqakEGSXINAAJAIABBxGlqIgFBJ0sEQCAAQf9pakEDSQ0CDAELIAFBAWsOJQABAQEBAQEBAAABAQAAAQEBAAAAAAAAAAABAQAAAAAAAAAAAAABCyAAQZppakEKSQ0AIABBghdGIABBmmhqQQpJciAAQcJoaiIBQRlNQQBBASABdEGf7oMQcRtyDQACQCAAQcJnaiIBQSVLBEAgAEGAaGpBBUkNAgwBCyABQQdrDh0AAQEBAAEBAQEAAAAAAAAAAQEAAAAAAAAAAAAAAAELIABBmmdqQQpJDQACQCAAQcRmaiIBQSdLBEAgAEH/ZmpBA0kNAgwBCyABQQFrDiUAAQEBAQEBAQABAQEAAQEBAQAAAAAAAAABAQAAAAAAAAAAAAAAAQsgAEGaZmpBCkkNACAAQXxxIgFBgBpGDQACQCAAQcVlaiICQShLDQAgAkECaw4lAAEBAQEBAQEAAQEBAAEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAELIABBmmVqQQpJDQAgAEF4cUHYG0YgAEH+ZGpBAklyIABBtmRqIgJBDE1BAEEBIAJ0QeEvcRtyIABBmmRqQQpJcg0AIABBsR1GIABBjmRqQQJJciAAQc9jaiICQR1NQQBBASACdEH5h4D+A3EbciAAQbBjakEKSXINACAAQbhiakEGSSAAQeBhakEKSXIgAEHMYmoiAkEITUEAIAJBBkcbcg0AIABBAXIiAkGZHkYgAEGwYmpBCklyDQAgAkGHH0YgAEHzYGpBC0lyIABBy2FqIgJBCk1BAEEBIAJ0QZUMcRtyIABBj2FqQRRJIABB7lFqQQNJciAAQZdZakEJSSAAQaNZakEDSXJyciAAQfFeakEPSSAAQf5eakEMSXIgAEGPX2pBBEkgAEGZX2pBB0lyciAAQZ5fakEDSSAAQaJfakEDSXIgAEGqX2pBBEkgAEHAX2pBCklycnJyIABBxh9GIABB1V9qQRRJciAAQedgakEkSSAAQc5RakEDSXJyIABBrlFqQQJJIABBjlFqQQJJciAAQfVPakEDSSAAQaBQakEKSXJyciAAQd0vRiAAQcxQakEgSXIgAEGwRmpBA0kgAEGwR2pBCklyciAAQcBHakEKSSAAQdxHakEUSXIgAEGaSGpBDkkgAEHQSGpBCklycnJyciAAQd9IakENSSAAQYBJakEDSXIgAEGVSWpBCUkgAEGwSWpBCklyciAAQcxJakERSSAAQYBKakEFSXIgAEHQSmpBDkkgAEHwSmpBCklycnIgAEGBS2pBC0kgAEGgS2pBHUlyIABBq0tqQQpJIABB6UtqQQVJcnIgAEGwTGpBC0kgAEG6TWpBCklyIABB0E1qQQxJIABB4E1qQQxJcnJyciAAQakxRiAAQfBPakEKSXIgAEHARGpBOkkgAEGJRmpBA0lyciAAQe05RiAAQY5GakEDSXIgAEGsRmpBFUkgAEGFRGpBBUlycnJycg0AIABB4cEARiAAQZu+f2pBDElyIABBwb9/aiICQRVNQQBBASACdEGDgIABcRtyIABBsL5/akENSSAAQZGmf2pBA0lyIABB/9oARiAAQWBxQeDbAEZycnIgAEHWn39qQQZJIABB555/akECSXIgAEHvzAJGIABBjLN9akEKSXJyIABB4LN9akEKSXJyDQAgAEHisn1qQQJJIABBkLJ9akECSXIgAEH1r31qIgJBHE1BAEEBIAJ0QYGAgPgBcRtyDQACQCAAQf6vfWoiAkEESwRAIABBgK99akECSQ0CDAELIAJBAWsOAwAAAAELIAFBgNMCRiAAQc2sfWpBDklyIABBua19akENSSAAQdqtfWpBCElyciAAQYGufWpBC0kgAEGgrn1qQRJJciAAQcyufWpBEkkgAEGwrn1qQQpJcnJyIABB5dMCRiAAQderfWpBDklyIABBX3FBsKx9akEKSXJyDQAgAEGwq31qQQpJIABBvat9aiIBQQpNQQBBASABdEGBDHEbcg0AIABBnah9aiIBQQpNQQAgAUEIRxsNACAAQdCqfWoiAUERTUEA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i19qQQ1JciAAQcchRiAAQc0hRnJyciAAQbZbakEESSAAQbBeakErSXIgAEGEXmpBzQJJcnINACAAQc5aakEESSAAQfBaakEhSXIgAEGwW2oiA0EJSUEAQf8CIANB//8DcXZBAXEbciAAQfZaakEESSAAQaZbakEESXIgAEGgW2pBKUlycg0AIABBgFFqQTRJIABBklFqQQNJciAAQchaaiIDQQlJQQBB/wIgA0H//wNxdkEBcRtyIABBoFFqQQ1JIABBwFFqQRJJciAAQeBRakESSSAAQfJRakEESXJyciAAQYBSakENSSAAQZJSakELSXIgAEHgUmpBywBJIABB/1JqQRpJcnIgAEGRU2pBEUkgAEH/V2pB7ARJciAAQYhYakEGSSAAQeBYakHWAElycnJyDQAgAEFwcSIDQYAnRiAAQehZakHDAElyIABB7llqQQRJIABBqFpqQTlJcnIgAEG+WmpBBEkgAEG4WmpBD0lyIABB1y9GIABB3C9GcnJyIABB4E9qQdkASSAAQYBMakEXSXIgAEHQTGpBGkkgAEGATWpBLElyciAAQZBNakEFSSAAQbBNakEeSXIgAEGATmpBH0kgAEHQTmpBxgBJcnJycg0AIABBqjFGIABBgE9qQSlJciAAQbtJakEHSSAAQftJakEvSXJyIABBpzVGIABB4EtqQTVJciAAQZdGakEESSAAQcNGakEDSXJyciAAQfBGakErSSAAQYBHakEJSXIgAEGmR2pBJEkgAEGzR2pBA0lyciAAQYBIakEkSSAAQcZIakEsSXIgBEGvN0YgAEH9SGpBHklycnJyDQEgAEGSRmoiBUEJSUEAQY8DIAVB//8DcXZBAXEbDQAgAkHQPkYgAEG4QWpBBklyIABB4EFqQSZJIABB6EFqQQZJcnIgAEGARmpBwAFJIABBgERqQZYCSXJyDQEgAEGhQWpBH0kgAEGAQWpBNUlyIABBp0FqIgJBBE1BAEEBIAJ0QRVxG3INASAAQcpAaiICQQlJQQBB/wIgAkH//wNxdkEBcRsNACAAQY5AakEDSSAAQaBAakENSXIgAUHQP0YgAEGqQGpBBklyciAAQb5AakEDSSAAQbpAakEHSXIgAEHxwABGIABBikBqQQdJcnJyIABB/8AARiAAQfC+f2pBDUlyIABBgsIARiAAQYfCAEZyciAAQZXCAEYg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BQAAAAAAAABSAAAAEwAAAA0AAAAJAAAA1gAAAAYAAAADAAAACAAAABwAAAABAAAAUwAAABAAAAAQAAAACQAAAFIAAAAMAAAACQAAAAkAAABUAAAADgAAAAUAAAAJAAAA8wAAAA4AAACmAAAACQAAAEcAAAAFAAAAAgAAAAEAAAADAAAAAwAAAAIAAAAAAAAAAgAAAAEAAAANAAAACQAAAHgAAAAGAAAAAwAAAAYAAAAEAAAAAAAAAB0AAAAJAAAAKQAAAAYAAAACAAAAAwAAAAkAAAAAAAAACgAAAAoAAAAvAAAADwAAAJYBAAAHAAAAAgAAAAcAAAARAAAACQAAADkAAAAVAAAAAgAAAA0AAAB7AAAABQAAAAQAAAAAAAAAAgAAAAEAAAACAAAABgAAAAIAAAAAAAAACQAAAAkAAAAxAAAABAAAAAIAAAABAAAAAgAAAAQAAAAJAAAACQAAAEoBAAADAAAAaksAAAkAAACHAAAABAAAADwAAAAGAAAAGgAAAAkAAAD2AwAAAAAAAAIAAAA2AAAACAAAAAMAAABSAAAAAAAAAAwAAAABAAAArEwAAAEAAADHFAAABAAAAAQAAAAFAAAACQAAAAcAAAADAAAABgAAAB8AAAADAAAAlQAAAAIAAACKBQAAMQAAAAECAAA2AAAABQAAADEAAAAJAAAAAAAAAA8AAAAAAAAAFwAAAAQAAAACAAAADgAAAFEFAAAGAAAAAgAAABAAAAADAAAABgAAAAIAAAABAAAAAgAAAAQAAAAGAQAABgAAAAoAAAAJAAAAowEAAA0AAADXBQAABgAAAG4AAAAGAAAABgAAAAkAAACXEgAACQAAAAcFDADvAEGYHwsSMIwAAAEAAAACAAAAAAQAANAf","function"==typeof atob?Uint8Array.from(atob(Q),A=>A.charCodeAt(0)):Buffer.from(Q,"base64")));var Q;const{exports:E}=await WebAssembly.instantiate(A);B=E})())}
{
"name": "cjs-module-lexer",
"version": "0.2.12",
"version": "0.3.0",
"description": "Lexes CommonJS modules, returning their named exports metadata",
"main": "dist/lexer.js",
"module": "dist/lexer.mjs",
"main": "lexer.js",
"exports": {
"import": "./dist/lexer.mjs",
"default": "./lexer.js"
},
"scripts": {
"test": "NODE_OPTIONS=\"--experimental-modules\" mocha -b -u tdd test/*.cjs",
"build": "node --experimental-modules build.js && babel dist/lexer.mjs | terser -o dist/lexer.js",
"test-js": "mocha -b -u tdd test/*.js",
"test-wasm": "WASM=1 mocha -b -u tdd test/*.js",
"test": "npm run test-wasm && npm run test-js",
"bench": "node --expose-gc bench/index.mjs",
"build": "node build.js && babel dist/lexer.mjs | terser -o dist/lexer.js",
"build-wasm": "make lib/lexer.wasm && node build.js",
"bench": "node --experimental-modules --expose-gc bench/index.js",
"prepublishOnly": "make optimize && npm run build",

@@ -13,0 +18,0 @@ "footprint": "make optimize && npm run build && cat dist/lexer.js | gzip -9f | wc -c"

@@ -11,3 +11,3 @@ # CJS Module Lexer

_Comprehensively handles the JS language grammar while remaining small and fast. - ~10ms per MB of JS cold and ~5ms per MB of JS warm, [see benchmarks](#benchmarks) for more info._
_Comprehensively handles the JS language grammar while remaining small and fast. - ~90ms per MB of JS cold and ~15ms per MB of JS warm, [see benchmarks](#benchmarks) for more info._

@@ -23,33 +23,39 @@ ### Usage

```js
const { init, parse } = require('cjs-module-lexer');
const parse = require('cjs-module-lexer');
(async () => {
// Init must be called first.
await init();
const { exports, reexports } = parse(`
// named exports detection
module.exports.a = 'a';
(function () {
exports.b = 'b';
})();
Object.defineProperty(exports, 'c', { value: 'c' });
/* exports.d = 'not detected'; */
const { exports, reexports, esModule } = parse(`
// named exports detection
module.exports.a = 'a';
(function () {
exports.b = 'b';
})();
Object.defineProperty(exports, 'c', { value: 'c' });
/* exports.d = 'not detected'; */
// reexports detection
if (maybe) module.exports = require('./dep1.js');
if (another) module.exports = require('./dep2.js');
// reexports detection
if (maybe) module.exports = require('./dep1.js');
if (another) module.exports = require('./dep2.js');
// literal exports assignments
module.exports = { a, b: c, d, 'e': f }
// literal exports assignments
module.exports = { a, b: c, d, 'e': f }
// __esModule detection
Object.defineProperty(module.exports, '__esModule', { value: true })
`);
// __esModule detection
Object.defineProperty(module.exports, '__esModule', { value: true })
`);
// exports === ['a', 'b', 'c', '__esModule']
// reexports === ['./dep1.js', './dep2.js']
```
// exports === ['a', 'b', 'c', '__esModule']
// reexports === ['./dep1.js', './dep2.js']
})();
When using the ESM version, Wasm is supported instead:
```js
import { parse, init } from 'cjs-module-lexer';
// init needs to be called and waited upon
await init();
const { exports, reexports } = parse(source);
```
The Wasm build is around 1.5x faster.
### Grammar

@@ -87,7 +93,24 @@

EXPORTS_ASSIGN: MODULE_EXPORTS COMMENT_SPACE `=` COMMENT_SPACE `require` COMMENT_SPACE `(` STRING_LITERAL `)`
REQUIRE: `require` COMMENT_SPACE `(` COMMENT_SPACE STRING_LITERAL COMMENT_SPACE `)`
EXPORTS_ASSIGN: (`var` | `const` | `let`) IDENTIFIER `=` REQUIRE
MODULE_EXPORTS_ASSIGN: MODULE_EXPORTS COMMENT_SPACE `=` COMMENT_SPACE REQUIRE
EXPORT_STAR: (`__export` | `__exportStar`) `(` REQUIRE
EXPORT_STAR_LIB: `Object.keys(` IDENTIFIER$1 `).forEach(function (` IDENTIFIER$2 `) {`
(
`if (` IDENTIFIER$2 `===` ( `'default'` | `"default"` ) `||` IDENTIFIER$2 `===` ( '__esModule' | `"__esModule"` ) `) return` `;`? |
`if (` IDENTIFIER$2 `!==` ( `'default'` | `"default"` ) `)`
)
(
EXPORTS_IDENTIFIER `[` IDENTIFIER$2 `] =` IDENTIFIER$1 `[` IDENTIFIER$2 `]` `;`? |
`Object.defineProperty(` EXPORTS_IDENTIFIER `, ` IDENTIFIER$2 `, { enumerable: true, get: function () { return ` IDENTIFIER$1 `[` IDENTIFIER$2 `]` `;`? } })` `;`?
)
`})`
```
* The returned export names are the matched `IDENTIFIER` and `IDENTIFIER_STRING` slots for all `EXPORTS_MEMBER`, `EXPORTS_DEFINE` and `EXPORTS_LITERAL` matches.
* The reexport specifiers are taken to be the `STRING_LITERAL` slots of all `EXPORTS_ASSIGN` matches.
* The reexport specifiers are taken to be the `STRING_LITERAL` slots of all top-level `MODULE_EXPORTS_ASSIGN` and `EXPORT_STAR` `REQUIRE` matches as well as all `EXPORTS_ASSIGN` matches whose `IDENTIFIER` also matches the first `IDENTIFIER` in `EXPORT_STAR_LIB`

@@ -153,2 +176,31 @@ ### Not Supported

#### Only specific transpiler-style star export patterns match
```js
// './x' detected as star export
var x = require('./x');
Object.keys(x).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return x[k];
}
});
});
// './y' detected as star export
let y = require('./y');
Object.keys(y).forEach(function (kk) {
if (kk !== 'default') exports[kk] = y[kk];
});
// './z' NOT detected as star export
let z = require('./z');
for (const key of Object.keys(x)) {
exports[key] = x[key];
}
```
These patterns can be updated over time to match modern transpiler outputs.
### Environment Support

@@ -171,34 +223,36 @@

```
Module load time
> 2ms
Cold Run, All Samples
test/samples/*.js (3057 KiB)
> 24ms
test/samples/*.js (3635 KiB)
> 318ms
Warm Runs (average of 25 runs)
test/samples/angular.js (719 KiB)
> 5.12ms
test/samples/angular.min.js (188 KiB)
> 3.04ms
test/samples/d3.js (491 KiB)
> 4.08ms
test/samples/d3.min.js (274 KiB)
> 2.04ms
test/samples/angular.js (1410 KiB)
> 18.64ms
test/samples/angular.min.js (303 KiB)
> 5.96ms
test/samples/d3.js (553 KiB)
> 8.88ms
test/samples/d3.min.js (250 KiB)
> 4.88ms
test/samples/magic-string.js (34 KiB)
> 0ms
> 1ms
test/samples/magic-string.min.js (20 KiB)
> 0ms
test/samples/rollup.js (902 KiB)
> 5.92ms
test/samples/rollup.min.js (429 KiB)
> 3.08ms
> 0.32ms
test/samples/rollup.js (698 KiB)
> 11.68ms
test/samples/rollup.min.js (367 KiB)
> 7.84ms
Warm Runs, All Samples (average of 25 runs)
test/samples/*.js (3057 KiB)
> 17.4ms
test/samples/*.js (3635 KiB)
> 54.48ms
```
### Building
### Wasm Build
To build download the WASI SDK from https://github.com/CraneStation/wasi-sdk/releases.
The Makefile assumes that the `clang` in PATH corresponds to LLVM 8 (provided by WASI SDK as well, or a standard clang 8 install can be used as well), and that `../wasi-sdk-6` contains the SDK as extracted above, which is important to locate the WASI sysroot.
The Makefile assumes the existence of "wasi-sdk-10.0", "binaryen" and "wabt" (both optional) as sibling folders to this project.

@@ -205,0 +259,0 @@ The build through the Makefile is then run via `make lib/lexer.wasm`, which can also be triggered via `npm run build-wasm` to create `dist/lexer.js`.

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc