utquidem
Version:
The meta-framework suite designed from scratch for frontend-focused modern web development.
1 lines • 5.63 kB
JavaScript
(()=>{"use strict";var e={737:(e,t,r)=>{const s=r(188);const i=r(113);const o=r(147);const a=r(17);const c=r(144);const n=r(37);const l=Object.prototype.hasOwnProperty;class FileSystemBlobStore{constructor(e,t){const r=t?slashEscape(t+"."):"";this._blobFilename=a.join(e,r+"BLOB");this._mapFilename=a.join(e,r+"MAP");this._lockFilename=a.join(e,r+"LOCK");this._directory=e;this._load()}has(e,t){if(l.call(this._memoryBlobs,e)){return this._invalidationKeys[e]===t}else if(l.call(this._storedMap,e)){return this._storedMap[e][0]===t}return false}get(e,t){if(l.call(this._memoryBlobs,e)){if(this._invalidationKeys[e]===t){return this._memoryBlobs[e]}}else if(l.call(this._storedMap,e)){const r=this._storedMap[e];if(r[0]===t){return this._storedBlob.slice(r[1],r[2])}}}set(e,t,r){this._invalidationKeys[e]=t;this._memoryBlobs[e]=r;this._dirty=true}delete(e){if(l.call(this._memoryBlobs,e)){this._dirty=true;delete this._memoryBlobs[e]}if(l.call(this._invalidationKeys,e)){this._dirty=true;delete this._invalidationKeys[e]}if(l.call(this._storedMap,e)){this._dirty=true;delete this._storedMap[e]}}isDirty(){return this._dirty}save(){const e=this._getDump();const t=Buffer.concat(e[0]);const r=JSON.stringify(e[1]);try{mkdirpSync(this._directory);o.writeFileSync(this._lockFilename,"LOCK",{flag:"wx"})}catch(e){return false}try{o.writeFileSync(this._blobFilename,t);o.writeFileSync(this._mapFilename,r)}finally{o.unlinkSync(this._lockFilename)}return true}_load(){try{this._storedBlob=o.readFileSync(this._blobFilename);this._storedMap=JSON.parse(o.readFileSync(this._mapFilename))}catch(e){this._storedBlob=Buffer.alloc(0);this._storedMap={}}this._dirty=false;this._memoryBlobs={};this._invalidationKeys={}}_getDump(){const e=[];const t={};let r=0;function push(s,i,o){e.push(o);t[s]=[i,r,r+o.length];r+=o.length}for(const e of Object.keys(this._memoryBlobs)){const t=this._memoryBlobs[e];const r=this._invalidationKeys[e];push(e,r,t)}for(const e of Object.keys(this._storedMap)){if(l.call(t,e))continue;const r=this._storedMap[e];const s=this._storedBlob.slice(r[1],r[2]);push(e,r[0],s)}return[e,t]}}class NativeCompileCache{constructor(){this._cacheStore=null;this._previousModuleCompile=null}setCacheStore(e){this._cacheStore=e}install(){const e=this;const t=typeof require.resolve.paths==="function";this._previousModuleCompile=s.prototype._compile;s.prototype._compile=function(r,i){const o=this;function require(e){return o.require(e)}function resolve(e,t){return s._resolveFilename(e,o,false,t)}require.resolve=resolve;if(t){resolve.paths=function paths(e){return s._resolveLookupPaths(e,o,true)}}require.main=process.mainModule;require.extensions=s._extensions;require.cache=s._cache;const c=a.dirname(i);const n=e._moduleCompile(i,r);const l=[o.exports,require,o,i,c,process,global,Buffer];return n.apply(o.exports,l)}}uninstall(){s.prototype._compile=this._previousModuleCompile}_moduleCompile(e,t){var r=t.length;if(r>=2){if(t.charCodeAt(0)===35&&t.charCodeAt(1)===33/*!*/){if(r===2){t=""}else{var o=2;for(;o<r;++o){var a=t.charCodeAt(o);if(a===10||a===13)break}if(o===r){t=""}else{t=t.slice(o)}}}}var n=s.wrap(t);var l=i.createHash("sha1").update(t,"utf8").digest("hex");var h=this._cacheStore.get(e,l);var p=new c.Script(n,{filename:e,lineOffset:0,displayErrors:true,cachedData:h,produceCachedData:true});if(p.cachedDataProduced){this._cacheStore.set(e,l,p.cachedData)}else if(p.cachedDataRejected){this._cacheStore.delete(e)}var u=p.runInThisContext({filename:e,lineOffset:0,columnOffset:0,displayErrors:true});return u}}function mkdirpSync(e){_mkdirpSync(a.resolve(e),511)}function _mkdirpSync(e,t){try{o.mkdirSync(e,t)}catch(t){if(t.code==="ENOENT"){_mkdirpSync(a.dirname(e));_mkdirpSync(e)}else{try{const r=o.statSync(e);if(!r.isDirectory()){throw t}}catch(e){throw t}}}}function slashEscape(e){const t={"\\":"zB",":":"zC","/":"zS","\0":"z0",z:"zZ"};const r=/[\\:/\x00z]/g;return e.replace(r,(e=>t[e]))}function supportsCachedData(){const e=new c.Script('""',{produceCachedData:true});return e.cachedDataProduced===true}function getCacheDir(){const e=process.env.V8_COMPILE_CACHE_CACHE_DIR;if(e){return e}const t=typeof process.getuid==="function"?"v8-compile-cache-"+process.getuid():"v8-compile-cache";const r=typeof process.versions.v8==="string"?process.versions.v8:typeof process.versions.chakracore==="string"?"chakracore-"+process.versions.chakracore:"node-"+process.version;const s=a.join(n.tmpdir(),t,r);return s}function getMainName(){const e=require.main&&typeof require.main.filename==="string"?require.main.filename:process.cwd();return e}if(!process.env.DISABLE_V8_COMPILE_CACHE&&supportsCachedData()){const e=getCacheDir();const t=getMainName();const r=new FileSystemBlobStore(e,t);const s=new NativeCompileCache;s.setCacheStore(r);s.install();process.once("exit",(()=>{if(r.isDirty()){r.save()}s.uninstall()}))}e.exports.__TEST__={FileSystemBlobStore:FileSystemBlobStore,NativeCompileCache:NativeCompileCache,mkdirpSync:mkdirpSync,slashEscape:slashEscape,supportsCachedData:supportsCachedData,getCacheDir:getCacheDir,getMainName:getMainName}},113:e=>{e.exports=require("crypto")},147:e=>{e.exports=require("fs")},188:e=>{e.exports=require("module")},37:e=>{e.exports=require("os")},17:e=>{e.exports=require("path")},144:e=>{e.exports=require("vm")}};var t={};function __nccwpck_require__(r){var s=t[r];if(s!==undefined){return s.exports}var i=t[r]={exports:{}};var o=true;try{e[r](i,i.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return i.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r=__nccwpck_require__(737);module.exports=r})();