
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
{"version":3,"names":["chmod","src","dest","fs","chmodSync","statSync","mode","err","console","warn","readdir","dirname","includeDotfiles","filter","readdirRecursive","filename","index","currentDirectory","stat","path","join","isDirectory","readdirForCompilable","altExts","isCompilableExtension","exts","babel","DEFAULT_EXTENSIONS","ext","extname","includes","addSourceMappingUrl","code","loc","basename","hasDataSourcemap","pos","lastIndexOf","length","CALLER","name","transformRepl","opts","caller","Promise","resolve","reject","transform","result","compile","transformFile","externalDependencies","watcher","updateExternalDependencies","deleteDir","existsSync","readdirSync","forEach","file","curPath","lstatSync","unlinkSync","rmdirSync","process","on","error","exitCode","withExtension","newBasename","debounce","fn","time","timer","debounced","clearTimeout","setTimeout","flush"],"sources":["../../src/babel/util.ts"],"sourcesContent":["import readdirRecursive from \"fs-readdir-recursive\";\nimport * as babel from \"@babel/core\";\nimport path from \"path\";\nimport fs from \"fs\";\n\nimport * as watcher from \"./watcher\";\n\nimport type { FileResult, InputOptions } from \"@babel/core\";\n\nexport function chmod(src: string, dest: string): void {\n try {\n fs.chmodSync(dest, fs.statSync(src).mode);\n } catch (err) {\n console.warn(`Cannot change permissions of ${dest}`);\n }\n}\n\ntype ReaddirFilter = (filename: string) => boolean;\n\nexport function readdir(\n dirname: string,\n includeDotfiles: boolean,\n filter?: ReaddirFilter,\n): Array<string> {\n return readdirRecursive(dirname, (filename, index, currentDirectory) => {\n const stat = fs.statSync(path.join(currentDirectory, filename));\n\n if (stat.isDirectory()) return true;\n\n return (\n (includeDotfiles || filename[0] !== \".\") && (!filter || filter(filename))\n );\n });\n}\n\nexport function readdirForCompilable(\n dirname: string,\n includeDotfiles: boolean,\n altExts?: Array<string>,\n): Array<string> {\n return readdir(dirname, includeDotfiles, function (filename) {\n return isCompilableExtension(filename, altExts);\n });\n}\n\n/**\n * Test if a filename ends with a compilable extension.\n */\nexport function isCompilableExtension(\n filename: string,\n altExts?: readonly string[],\n): boolean {\n const exts = altExts || babel.DEFAULT_EXTENSIONS;\n const ext = path.extname(filename);\n return exts.includes(ext);\n}\n\nexport function addSourceMappingUrl(code: string, loc: string): string {\n return code + \"\\n//# sourceMappingURL=\" + path.basename(loc);\n}\n\nexport function hasDataSourcemap(code: string): boolean {\n const pos = code.lastIndexOf(\"\\n\", code.length - 2);\n return pos != -1 && code.lastIndexOf(\"//# sourceMappingURL\") < pos;\n}\n\nconst CALLER = {\n name: \"@babel/cli\",\n};\n\nexport function transformRepl(filename: string, code: string, opts: any) {\n opts = {\n ...opts,\n caller: CALLER,\n filename,\n };\n\n return new Promise<FileResult>((resolve, reject) => {\n babel.transform(code, opts, (err, result) => {\n if (err) reject(err);\n else resolve(result);\n });\n });\n}\n\nexport async function compile(filename: string, opts: InputOptions) {\n opts = {\n ...opts,\n caller: CALLER,\n };\n\n // TODO (Babel 8): Use `babel.transformFileAsync`\n const result = await new Promise<FileResult>((resolve, reject) => {\n babel.transformFile(filename, opts, (err, result) => {\n if (err) reject(err);\n else resolve(result);\n });\n });\n\n if (result) {\n if (!process.env.BABEL_8_BREAKING) {\n if (!result.externalDependencies) return result;\n }\n watcher.updateExternalDependencies(filename, result.externalDependencies);\n }\n\n return result;\n}\n\nexport function deleteDir(path: string): void {\n if (fs.existsSync(path)) {\n fs.readdirSync(path).forEach(function (file) {\n const curPath = path + \"/\" + file;\n if (fs.lstatSync(curPath).isDirectory()) {\n // recurse\n deleteDir(curPath);\n } else {\n // delete file\n fs.unlinkSync(curPath);\n }\n });\n fs.rmdirSync(path);\n }\n}\n\nprocess.on(\"uncaughtException\", function (err) {\n console.error(err);\n process.exitCode = 1;\n});\n\nexport function withExtension(filename: string, ext: string = \".js\") {\n const newBasename = path.basename(filename, path.extname(filename)) + ext;\n return path.join(path.dirname(filename), newBasename);\n}\n\nexport function debounce(fn: () => void, time: number) {\n let timer: NodeJS.Timeout;\n function debounced() {\n clearTimeout(timer);\n timer = setTimeout(fn, time);\n }\n debounced.flush = () => {\n clearTimeout(timer);\n fn();\n };\n return debounced;\n}\n"],"mappings":"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"}