js • Lines: 29/*
MIT License http://www.opensource.org/licenses/mit-license.php
Author Alexander Akait @alexander-akait
*/
"use strict";
const memoize = require("./memoize");
const getVm = memoize(() => require("vm"));
module.exports.CompilerHintNotationRegExp = Object.freeze({
Pure: /^\s*(?:#|@)__PURE__\s*$/,
NoSideEffects: /^\s*[#@]__NO_SIDE_EFFECTS__\s*$/
});
/**
* regexp to match at least one "magic comment"
* @returns {import("vm").Context} magic comment context
*/
module.exports.createMagicCommentContext = () =>
getVm().createContext(undefined, {
name: "Webpack Magic Comment Parser",
codeGeneration: { strings: false, wasm: false }
});
module.exports.webpackCommentRegExp = new RegExp(
/(^|\W)webpack[A-Z][A-Za-z]+:/
);