UNPKG

15.7 kBSource Map (JSON)View Raw
1{"version":3,"file":"bundlib-cli.js","sources":["../src/cli/one-by-one.ts","../src/cli/build.ts","../src/cli/watch.ts","../src/cli/bundlib.ts","../src/cli/console.ts","../src/cli/index.ts"],"sourcesContent":["type OneByOneNext = () => void;\ntype OneByOneCallback<T> = (item: T, next: OneByOneNext, index: number) => void;\n\nfunction createNext<T>(arr: ArrayLike<T>, callback: OneByOneCallback<T>): OneByOneNext {\n\n let index = 0;\n\n const next: OneByOneNext = () => {\n\n if (!(index in arr)) {\n return;\n }\n\n const currentIndex = index++;\n const item = arr[currentIndex];\n\n callback(item, next, currentIndex);\n\n };\n\n return next;\n\n}\n\nfunction oneByOne<T>(arr: ArrayLike<T>, callback: OneByOneCallback<T>): void {\n const next = createNext(arr, callback);\n next();\n}\n\nexport default oneByOne;\n","import { statSync } from \"fs\";\nimport { rollup } from \"rollup\";\n\nimport { BundlibRollupModuleOutputOptions, BundlibRollupOptions } from \"../api/types\";\n\nimport oneByOne from \"./one-by-one\";\nimport { BuildCallbackObject } from \"./types\";\n\nfunction build(\n configs: Array<BundlibRollupOptions<BundlibRollupModuleOutputOptions>>,\n callbacks: BuildCallbackObject,\n): void {\n\n if (callbacks.start) {\n callbacks.start();\n }\n\n const cache: Record<string, object | undefined> = {};\n\n oneByOne(configs, async (config, next, index) => {\n\n const { input, output } = config;\n const { file: outputFile, format } = output;\n\n const isModuleBuild = format === \"cjs\" || format === \"es\";\n const cacheKey = `${isModuleBuild ? \"module\" : \"browser\"}:${input}`;\n config.cache = cache[cacheKey];\n\n if (callbacks.buildStart) {\n callbacks.buildStart(input, outputFile);\n }\n\n try {\n\n const currentTime = Date.now();\n\n const buildResult = await rollup(config);\n config.cache = cache[cacheKey] = buildResult.cache;\n await buildResult.write(output);\n\n const { size } = statSync(outputFile);\n const totalTime = Date.now() - currentTime;\n\n if (callbacks.buildEnd) {\n callbacks.buildEnd(\n outputFile,\n size,\n totalTime,\n );\n }\n\n } catch (err) {\n\n if (callbacks.error) {\n callbacks.error(err);\n }\n\n }\n\n if (index + 1 >= configs.length) {\n if (callbacks.end) {\n callbacks.end();\n }\n }\n\n next();\n\n });\n\n}\n\nexport default build;\n","import { statSync } from \"fs\";\nimport { RollupOptions, watch as rollupWatch } from \"rollup\";\n\nimport { BuildCallbackObject } from \"./types\";\n\ninterface WatchEvent {\n code: string;\n duration: number;\n input: string;\n output: string[];\n error: Error;\n}\n\nfunction watch(configs: RollupOptions[], callbacks: BuildCallbackObject): void {\n\n const { start, end, buildStart, buildEnd, error } = callbacks;\n\n const ERROR = error && ((event: WatchEvent) => {\n error(event.error);\n });\n\n const table: Record<string, ((event: WatchEvent) => void) | null | undefined> = {\n\n START: start && (() => {\n start();\n }),\n\n END: end && (() => {\n end();\n }),\n\n BUNDLE_START: buildStart && ((event) => {\n const { output: out } = event;\n const { length: len } = out;\n for (let i = 0; i < len; i++) {\n buildStart(event.input, out[i]);\n }\n }),\n\n BUNDLE_END: buildEnd && ((event) => {\n const { output: out } = event;\n const { length: len } = out;\n for (let i = 0; i < len; i++) {\n const stats = statSync(out[i]);\n buildEnd(\n out[i],\n stats.size,\n event.duration || 0,\n );\n }\n }),\n\n ERROR,\n FATAL: ERROR,\n\n };\n\n const watcher = rollupWatch(configs);\n\n watcher.on(\"event\", (event: WatchEvent) => {\n\n const { code } = event;\n const handle = table[code];\n\n if (handle) {\n handle(event);\n }\n\n });\n\n}\n\nexport default watch;\n","import { BundlibPkgJson, configsFromPkg } from \"../api\";\n\nimport { RollupWarning } from \"rollup\";\nimport build from \"./build\";\nimport { BuildCallbackObject, BundlibOptions } from \"./types\";\nimport watch from \"./watch\";\n\nasync function bundlib(\n cwd: string,\n options: BundlibOptions,\n callbacks: BuildCallbackObject,\n pkg?: BundlibPkgJson,\n): Promise<void> {\n\n const configs = await configsFromPkg(cwd, options, pkg);\n\n const { warn } = callbacks;\n\n const onwarn = warn ? (warning: string | RollupWarning) => warn(warning) : (() => null);\n\n configs.forEach((config) => {\n config.onwarn = onwarn;\n });\n\n (options.watch ? watch : build)(\n configs,\n callbacks,\n );\n\n}\n\nexport default bundlib;\n","import chalk from \"chalk\";\n\nfunction create(name: Extract<keyof typeof console, \"log\" | \"error\">) {\n const method = console[name];\n return (msg: any) => (\n method(chalk.cyan(msg))\n );\n}\n\nexport const log = create(\"log\");\nexport const error = create(\"error\");\n\nexport function logError(err: Error) {\n if (err.stack) {\n error(err.stack);\n }\n const tag = chalk.bold.bgWhite.red.inverse(\" error \");\n error(`${tag} ${err.message || err}`);\n}\n","#!/usr/bin/env node\n\nimport chalk from \"chalk\";\nimport program from \"commander\";\nimport fileSize from \"filesize\";\nimport { relative } from \"path\";\nimport prettyMs from \"pretty-ms\";\nimport readPkg from \"read-pkg\";\n\nimport { version } from \"../../package.json\";\nimport { BundlibPkgJson } from \"../api/pkg\";\n\nimport slash from \"slash\";\nimport bundlib from \"./bundlib\";\nimport { log, logError } from \"./console\";\nimport { BuildCallbackObject } from \"./types.js\";\n\nasync function action() {\n\n if (!chalk.level && !chalk.enabled && process.platform === \"win32\" && process.env.MINGW_CHOST) {\n chalk.level = 3;\n chalk.enabled = true;\n }\n\n const cwd = process.cwd();\n const { dev, watch, silent } = program;\n\n let pkg: BundlibPkgJson | undefined;\n\n if (!silent) {\n\n const app = chalk.green(`Bundlib`);\n const msgVersion = chalk.yellow(`v${version}`);\n log(chalk.bold(`${app} ${msgVersion}\n`));\n\n const filename = chalk.bold.yellow(\"package.json\");\n log(`reading: ${filename}`);\n\n pkg = await readPkg({\n cwd,\n normalize: false,\n });\n\n const { name, version: ver } = pkg;\n\n if (name && ver) {\n\n const projName = chalk.bold.green(name);\n const projVer = chalk.bold.yellow(`v${ver}`);\n\n log(`building: ${projName} ${projVer}\n`);\n\n }\n\n }\n\n let buildIndex = 0;\n\n const callbacks: BuildCallbackObject = {\n\n error(err) {\n logError(err);\n },\n\n };\n\n if (!silent) {\n\n Object.assign(callbacks, {\n\n buildEnd(filename, size, duration) {\n const tag = chalk.bold.bgBlack.green.inverse(\" built \");\n const path = chalk.bold.yellow(slash(relative(cwd, filename)));\n const colorSize = chalk.bold.magenta(fileSize(size));\n const colorTime = chalk.bold.magenta(prettyMs(duration, { secondsDecimalDigits: 2 }));\n log(`${tag} ${path} ( ${colorSize} in ${colorTime} )`);\n },\n\n error(err) {\n logError(err);\n },\n\n warn(warning) {\n\n let message = warning;\n\n if (typeof message === \"object\") {\n\n const { plugin, message: msg } = message;\n\n message = msg;\n\n if (plugin) {\n message = `(plugin ${chalk.bold.magenta(plugin)}) ${message}`;\n }\n\n }\n\n const tag = chalk.bold.magenta(\"warning:\");\n\n log(`${tag} ${message}`);\n\n },\n\n } as BuildCallbackObject);\n\n if (watch) {\n\n Object.assign(callbacks, {\n\n start() {\n if (buildIndex) {\n log(`rebuilding...\n`);\n }\n buildIndex++;\n },\n\n end() {\n log(`\nwaiting for changes...`);\n },\n\n } as BuildCallbackObject);\n\n }\n\n }\n\n try {\n await bundlib(cwd, { dev, watch }, callbacks, pkg);\n } catch (err) {\n logError(err);\n }\n\n}\n\nprogram\n .version(version, \"-v, --version\")\n .option(\"-d, --dev\", \"create development builds\")\n .option(\"-w, --watch\", \"run bundlib in watch mode\")\n .option(\"-s, --silent\", \"prevent messages from showing in the console\")\n .action(action)\n .parse(process.argv);\n"],"names":["createNext","arr","callback","index","next","currentIndex","item","oneByOne","build","configs","callbacks","start","cache","config","length","end","input","output","outputFile","file","format","isModuleBuild","cacheKey","buildStart","currentTime","Date","now","rollup","buildResult","write","statSync","size","totalTime","buildEnd","err","error","watch","ERROR","event","table","START","END","BUNDLE_START","out","len","i","BUNDLE_END","stats","duration","FATAL","watcher","rollupWatch","on","code","handle","bundlib","cwd","options","pkg","configsFromPkg","warn","onwarn","warning","forEach","create","name","method","console","msg","chalk","cyan","log","logError","stack","tag","bold","bgWhite","red","inverse","message","action","buildIndex","silent","filename","bgBlack","green","path","yellow","slash","relative","colorSize","magenta","fileSize","colorTime","prettyMs","secondsDecimalDigits","plugin","dev","level","enabled","process","platform","env","MINGW_CHOST","program","app","msgVersion","version","readPkg","normalize","ver","projName","projVer","option","parse","argv"],"mappings":"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"}
\No newline at end of file