UNPKG

66.1 kBSource Map (JSON)View Raw
1{"version":3,"file":"bundlib.es.js","sources":["../src/api/errors.ts","../src/api/helpers.ts","../src/api/keys-or-null.ts","../src/api/type-check.ts","../src/api/option-flag.ts","../src/api/option-format.ts","../src/api/option-globals.ts","../src/api/option-min.ts","../src/api/option-module.ts","../src/api/option-name.ts","../src/api/options-sourcemap.ts","../src/api/validate-keys.ts","../src/api/analize-pkg.ts","../src/api/api-plugin.ts","../src/api/array-to-external.ts","../src/api/create-output.ts","../src/api/create-config.ts","../src/api/ext-match.ts","../src/api/rename.ts","../src/api/pkg-to-configs.ts","../src/api/configs-from-pkg.ts"],"sourcesContent":["export function error(msg: string): TypeError {\n return new TypeError(msg);\n}\n\nexport function invalidPkgField(field: string, type: string): TypeError {\n return error(`Invalid package.json \"${field}\" field. It has to be of type ${type}`);\n}\n\nexport function invalidOption(option: string, type: string): TypeError {\n return error(`Invalid \"${option}\" option. It has to be ${type}`);\n}\n","export const keys: (\n <K extends keyof any>(\n object: Partial<Record<K, any>>,\n ) => Array<K extends string ? K : string>\n) = Object.keys;\n\nexport function setProp<V>(name: string, value: V, target: Record<string, V>): Record<string, V> {\n target[name] = value;\n return target;\n}\n\nexport function createObject<K extends string, V>(names: K[], value: V): Record<K, V> {\n return names.reduce((result, key) => (\n setProp(key, value, result)\n ), {} as Record<K, V>);\n}\n","import { keys } from \"./helpers\";\nimport { Nullable } from \"./types\";\n\nfunction keysOrNull(deps: Nullable<Record<string, any>>): string[] | null {\n return deps ? keys(deps) : null;\n}\n\nexport default keysOrNull;\n","export function isNull(value: any): value is (null | undefined) {\n return value == null;\n}\n\nexport function isObject<T = any>(value: any): value is (Record<string | symbol, T> | T[]) {\n return !!value && typeof value === \"object\";\n}\n\nexport function isString(value: any): value is string {\n return typeof value === \"string\";\n}\n\nexport function isBool(value: any): value is boolean {\n return value === true || value === false;\n}\n\nexport const isArray: <T = any>(value: any) => value is T[] = Array.isArray;\n\nexport function isDictionary<T = any>(value: any): value is Record<string | symbol, T> {\n return isObject(value) && !isArray(value);\n}\n\nexport function isStringOrNull(value: any): value is (string | null | undefined) {\n return isNull(value) || isString(value);\n}\n\nexport function isDictionaryOrNull<T = any>(value: any): value is (Record<string | symbol, T> | null | undefined) {\n return isNull(value) || isDictionary<T>(value);\n}\n","import { isNull } from \"./type-check\";\nimport { Nullable } from \"./types\";\n\nexport function normalizeBuildFlag<K extends string>(\n build: Nullable<Partial<Record<K, any>>>,\n key: K,\n def: boolean,\n): boolean {\n return !build || isNull(build[key]) ? def : !!build[key];\n}\n","import { isNull } from \"./type-check\";\nimport { BrowserBuildFormat, Nullable } from \"./types\";\n\nexport function isBrowserFormat(value: any): value is Nullable<BrowserBuildFormat> {\n return isNull(value) || (\n value === \"iife\" || value === \"amd\" || value === \"umd\"\n );\n}\n","import { GlobalsOptions } from \"./bundlib-options\";\nimport { keys, setProp } from \"./helpers\";\nimport { isArray, isNull, isObject, isString } from \"./type-check\";\nimport { Nullable } from \"./types\";\n\nexport function isValidGlobals(value: unknown): value is GlobalsOptions {\n return isNull(value) || (\n isObject(value) && (\n isArray(value) ? value.every((item) => isString(item)) : keys(value).every((key) => (\n isString(key) && isString(value[key])\n ))\n )\n );\n}\n\nexport function normalizeGlobals(globals: GlobalsOptions): Record<string, string> | null {\n return !globals ? null\n : isArray(globals) ? globals.reduce<Record<string, string>>((result, value) => setProp(value, value, result), {})\n : globals;\n}\n\nexport function normalizeBuildGlobals(\n build: Nullable<{ globals?: GlobalsOptions }>,\n def: Record<string, string> | null,\n): Record<string, string> | null {\n return (!build || isNull(build.globals)) ? def : normalizeGlobals(build.globals);\n}\n","import { PerBuildMinOptions } from \"./bundlib-options\";\nimport { createObject, setProp } from \"./helpers\";\nimport { isArray, isBool, isNull } from \"./type-check\";\nimport { Nullable } from \"./types\";\n\nexport type MinString = \"main\" | \"module\" | \"browser\" | \"bin\";\nexport type MinOption = Nullable<MinString | MinString[] | boolean>;\n\nexport type MinGlobal = Record<MinString, boolean>;\n\nexport function isMinString(value: any): value is MinString {\n return value === \"main\" || value === \"module\" || value === \"browser\" || value === \"bin\";\n}\n\nexport function isValidMinOption(value: any): value is MinOption {\n return isNull(value) || isBool(value) || isMinString(value) || (\n isArray<MinString>(value) && value.every((item) => (\n isMinString(item)\n ))\n );\n}\n\nexport function normalizeMinOption(min: MinOption): MinGlobal {\n const keys: MinString[] = [\"main\", \"module\", \"browser\", \"bin\"];\n return !min ? createObject(keys, false)\n : min === true ? createObject(keys, true)\n : isArray(min) ? min.reduce((result, field) => setProp(field, true, result), createObject(keys, false))\n : setProp(min, true, createObject(keys, false));\n}\n\nexport function normalizeBuildMin(\n build: Nullable<PerBuildMinOptions>,\n field: MinString,\n def: MinGlobal,\n): boolean {\n return (!build || isNull(build.min)) ? def[field] : build.min;\n}\n","import { PerBuildModuleOptions } from \"./bundlib-options\";\nimport { createObject, setProp } from \"./helpers\";\nimport { isArray, isBool, isNull } from \"./type-check\";\nimport { Nullable } from \"./types\";\n\nexport type ModuleString = \"main\" | \"browser\" | \"bin\";\nexport type ModuleOption = Nullable<ModuleString | ModuleString[] | boolean>;\n\nexport type ModuleGlobal = Record<ModuleString, boolean>;\n\nexport function isModuleString(value: unknown): value is ModuleString {\n return value === \"main\" || value === \"browser\" || value === \"bin\";\n}\n\nexport function isModuleOption(value: unknown): value is ModuleOption {\n return isNull(value) || isBool(value) || isModuleString(value) || (\n isArray<unknown>(value) && value.every((item) => (\n isModuleString(item)\n ))\n );\n}\n\nexport function normalizeModuleOption(option: ModuleOption): ModuleGlobal {\n const keys: ModuleString[] = [\"main\", \"browser\", \"bin\"];\n return !option ? createObject(keys, false)\n : option === true ? createObject(keys, true)\n : isArray(option) ? option.reduce((result, field) => setProp(field, true, result), createObject(keys, false))\n : setProp(option, true, createObject(keys, false));\n}\n\nexport function normalizeBuildModule(\n build: Nullable<PerBuildModuleOptions>,\n key: keyof PerBuildModuleOptions,\n field: ModuleString,\n def: ModuleGlobal,\n): boolean {\n return (!build || isNull(build[key])) ? def[field] : build[key] as boolean;\n}\n","import camelcase from \"camelcase\";\nimport { basename } from \"path\";\nimport { Nullable } from \"./types\";\n\nfunction normalizeBuildName(\n cwd: string,\n browserName: Nullable<string>,\n nameOption: Nullable<string>,\n pkgName: Nullable<string>,\n): string | null {\n return browserName || nameOption || (\n pkgName && camelcase(basename(pkgName))\n ) || camelcase(basename(cwd)) || null;\n}\n\nexport default normalizeBuildName;\n","import { SourceMapOptions } from \"./bundlib-options\";\nimport { isNull } from \"./type-check\";\nimport { Nullable, RollupSourcemap } from \"./types\";\n\nexport function normalizeSourcemap(sourcemap: any): RollupSourcemap {\n return sourcemap === \"inline\" ? \"inline\" : (sourcemap !== false);\n}\n\nexport function normalizeBuildSourcemap(\n build: Nullable<SourceMapOptions>,\n def: RollupSourcemap,\n): RollupSourcemap {\n return !build || isNull(build.sourcemap)\n ? def\n : normalizeSourcemap(build.sourcemap);\n}\n","import { keys } from \"./helpers\";\n\nexport function invalidKeys(object: Record<string, any>, list: string[]): string[] | null {\n const invalid = keys(object).filter((key) => (\n list.indexOf(key) === -1\n ));\n return invalid.length ? invalid : null;\n}\n\nexport function listInList<T extends string>(input: string[], model: T[]): input is T[] {\n return input.every((str) => (\n (model as string[]).indexOf(str) >= 0\n ));\n}\n\nexport function allKeysInList<K extends string>(\n object: Record<string, any>,\n model: K[],\n): boolean {\n return listInList<K>(\n keys(object),\n model,\n );\n}\n","\nimport { resolve } from \"path\";\nimport readPkg from \"read-pkg\";\n\nimport { BundlibOptions } from \"./bundlib-options\";\nimport { error, invalidOption, invalidPkgField } from \"./errors\";\nimport { keys } from \"./helpers\";\nimport keysOrNull from \"./keys-or-null\";\nimport { normalizeBuildFlag } from \"./option-flag\";\nimport { isBrowserFormat } from \"./option-format\";\nimport { isValidGlobals, normalizeBuildGlobals, normalizeGlobals } from \"./option-globals\";\nimport { isValidMinOption, MinGlobal, normalizeBuildMin, normalizeMinOption } from \"./option-min\";\nimport { isModuleOption, normalizeBuildModule, normalizeModuleOption } from \"./option-module\";\nimport normalizeBuildName from \"./option-name\";\nimport { normalizeBuildSourcemap, normalizeSourcemap } from \"./options-sourcemap\";\nimport { BundlibPkgJson } from \"./pkg\";\nimport {\n BrowserBuildOptions,\n CommonJSBuildOptions,\n Dependencies,\n ESModuleBuildOptions,\n InputOptions,\n OutputOptions,\n PkgAnalized,\n TypesBuildOptions,\n} from \"./pkg-analized\";\nimport { isBool, isDictionary, isDictionaryOrNull, isNull, isString, isStringOrNull } from \"./type-check\";\nimport { allKeysInList, invalidKeys } from \"./validate-keys\";\n\nasync function analizePkg(cwd: string, pkg?: BundlibPkgJson): Promise<PkgAnalized>;\nasync function analizePkg(cwd: string, inputPkg?: BundlibPkgJson): Promise<PkgAnalized> {\n\n const pkg: BundlibPkgJson = inputPkg || await readPkg({ cwd, normalize: false });\n\n if (!isDictionary(pkg)) {\n throw error(\"Invalid package.json content\");\n }\n\n const {\n name: pkgName,\n main: pkgMain,\n module: pkgModule,\n \"jsnext:main\": pkgJsNextMain,\n browser: pkgBrowser,\n bin: pkgBin,\n types: pkgTypes,\n typings,\n dependencies: runtimeDependencies,\n peerDependencies,\n optionalDependencies,\n bundlib: bundlibOptions,\n } = pkg;\n\n if (!isDictionaryOrNull(bundlibOptions)) {\n throw invalidPkgField(\"bundlib\", \"Object\");\n }\n\n const invalidOptions = bundlibOptions && invalidKeys(bundlibOptions, [\n \"input\",\n \"extend\",\n \"esModule\",\n \"interop\",\n \"equals\",\n \"sourcemap\",\n \"format\",\n \"name\",\n \"id\",\n \"globals\",\n \"min\",\n \"cache\",\n \"main\",\n \"module\",\n \"browser\",\n \"bin\",\n \"types\",\n ] as Array<keyof BundlibOptions>);\n if (invalidOptions) {\n const optionNames = invalidOptions.map((name) => `\"${name}\"`).join(\", \");\n throw error(`Unknown options found: (${optionNames})`);\n }\n\n const {\n input: inputOption,\n sourcemap: sourcemapOption,\n esModule,\n interop,\n extend,\n equals,\n format: browserFormat,\n name: browserName,\n id: amdId,\n globals: browserGlobals,\n min,\n cache: cacheOption,\n main: mainOptions,\n module: moduleOptions,\n browser: browserOptions,\n bin: binaryOptionsOrInput,\n types: typesOptions,\n } = bundlibOptions || {} as BundlibOptions;\n\n const binaryOptions = isString(binaryOptionsOrInput) ? null : binaryOptionsOrInput;\n\n if (\n !isStringOrNull(inputOption) && !(\n isDictionary(inputOption) && allKeysInList(inputOption, [\"api\", \"bin\"]) && keys(inputOption).every((key) => (\n isString(inputOption[key])\n ))\n )\n ) {\n throw invalidOption(\"input\", \"string | { api?: string, bin?: string }\");\n }\n\n if (!isNull(sourcemapOption) && !isBool(sourcemapOption) && sourcemapOption !== \"inline\") {\n throw invalidOption(\"sourcemap\", 'boolean | \"inline\"');\n }\n\n if (!isModuleOption(esModule)) {\n throw invalidOption(\n \"esModule\",\n 'boolean | \"main\" | \"browser\" | \"bin\" | Array<\"main\" | \"browser\" | \"bin\">',\n );\n }\n\n if (!isModuleOption(interop)) {\n throw invalidOption(\n \"interop\",\n 'boolean | \"main\" | \"browser\" | \"bin\" | Array<\"main\" | \"browser\" | \"bin\">',\n );\n }\n\n if (!isBrowserFormat(browserFormat)) {\n throw invalidOption(\"format\", '\"amd\" | \"iife\" | \"amd\"');\n }\n\n if (!isStringOrNull(browserName)) {\n throw invalidOption(\"name\", \"string\");\n }\n\n if (!isStringOrNull(amdId)) {\n throw invalidOption(\"id\", \"string\");\n }\n\n if (!isValidGlobals(browserGlobals)) {\n throw invalidOption(\n \"globals\",\n \"Object<string, string> | string[]\",\n );\n }\n\n if (!isValidMinOption(min)) {\n throw invalidOption(\n \"min\",\n 'boolean | \"main\" | \"module\" | \"browser\" | \"bin\" | Array<\"main\" | \"module\" | \"browser\" | \"bin\">',\n );\n }\n\n if (!isStringOrNull(cacheOption)) {\n throw invalidOption(\"cache\", \"string\");\n }\n\n if (\n !isNull(mainOptions) && (mainOptions !== false) && !(\n isDictionary(mainOptions) && allKeysInList(mainOptions, [\n \"sourcemap\",\n \"esModule\",\n \"interop\",\n \"min\",\n ])\n )\n ) {\n throw invalidOption(\n \"main\",\n 'false | { sourcemap?: boolean | \"inline\", esModule?: boolean, interop?: boolean, min?: boolean }',\n );\n }\n\n if (\n !isNull(moduleOptions) && (moduleOptions !== false) && !(\n isDictionary(moduleOptions) && allKeysInList(moduleOptions, [\n \"sourcemap\",\n \"min\",\n ])\n )\n ) {\n throw invalidOption(\n \"module\",\n 'false | { sourcemap?: boolean | \"inline\", min?: boolean }',\n );\n }\n\n if (\n !isNull(browserOptions) && (browserOptions !== false) && !(\n isDictionary(browserOptions) && allKeysInList(browserOptions, [\n \"sourcemap\",\n \"esModule\",\n \"interop\",\n \"min\",\n \"format\",\n \"name\",\n \"id\",\n \"globals\",\n \"extend\",\n ]) &&\n isBrowserFormat(browserOptions.format) &&\n ([\"name\", \"id\"] as Array<keyof typeof browserOptions>).every((key) => (\n isStringOrNull(browserOptions[key])\n )) &&\n isValidGlobals(browserOptions.globals)\n )\n ) {\n throw invalidOption(\n \"browser\",\n 'false | { sourcemap?: boolean | \"inline\", esModule?: boolean, interop?: boolean, min?: boolean, ... }',\n );\n }\n\n // \"bin\" options as string is deprecated\n // after removed it should throw if it's string\n // !isString(binaryOptionsOrInput) will be removed...\n if (\n !isNull(binaryOptionsOrInput) && !isString(binaryOptionsOrInput) && (binaryOptionsOrInput !== false) && !(\n isDictionary(binaryOptionsOrInput) && allKeysInList(binaryOptionsOrInput, [\n \"sourcemap\",\n \"esModule\",\n \"interop\",\n \"min\",\n ])\n )\n ) {\n throw invalidOption(\n \"bin\",\n 'false | { sourcemap?: boolean | \"inline\", esModule?: boolean, interop?: boolean, min?: boolean }',\n );\n }\n\n if (\n !isNull(typesOptions) && (typesOptions !== false) && !(\n isDictionary(typesOptions) && allKeysInList(typesOptions, [\n \"equals\",\n ])\n )\n ) {\n throw invalidOption(\"types\", \"false | { equals?: boolean }\");\n }\n\n if ((mainOptions !== false) && !isStringOrNull(pkgMain)) {\n throw invalidPkgField(\"main\", \"string\");\n }\n\n if ((moduleOptions !== false) && !isStringOrNull(pkgModule)) {\n throw invalidPkgField(\"module\", \"string\");\n }\n\n if (!pkgModule && (moduleOptions !== false) && !isStringOrNull(pkgJsNextMain)) {\n throw invalidPkgField(\"jsnext:main\", \"string\");\n }\n\n if ((browserOptions !== false) && !isStringOrNull(pkgBrowser)) {\n throw invalidPkgField(\"browser\", \"string\");\n }\n\n if ((binaryOptions !== false) && !isStringOrNull(pkgBin)) {\n throw invalidPkgField(\"bin\", \"string\");\n }\n\n if (!isDictionaryOrNull(runtimeDependencies)) {\n throw invalidPkgField(\"dependencies\", \"Object\");\n }\n\n if (!isDictionaryOrNull(peerDependencies)) {\n throw invalidPkgField(\"peerDependencies\", \"Object\");\n }\n\n if (!isDictionaryOrNull(optionalDependencies)) {\n throw invalidPkgField(\"optionalDependencies\", \"Object\");\n }\n\n const esModuleFile = pkgModule || pkgJsNextMain;\n const typesPath = pkgTypes || typings;\n\n const apiInput = isStringOrNull(inputOption) ? inputOption : inputOption.api;\n let binInput = isStringOrNull(inputOption) ? null : inputOption.bin;\n\n // falling back to \"bin\" option is \"string\" but this behavior will change in the future\n if (isString(binaryOptionsOrInput) && !binInput) {\n binInput = binaryOptionsOrInput;\n }\n\n const input: InputOptions = {\n api: resolve(cwd, apiInput || \"src/index.ts\"),\n bin: resolve(cwd, binInput || \"src-bin/index.ts\"),\n };\n\n const globalSourcemap = normalizeSourcemap(sourcemapOption);\n const globalESModule = normalizeModuleOption(esModule);\n const globalInterop = normalizeModuleOption(interop);\n const globalMin: MinGlobal = normalizeMinOption(min);\n\n const mainOutput: CommonJSBuildOptions | null = (mainOptions === false || !pkgMain) ? null : {\n path: resolve(cwd, pkgMain),\n sourcemap: normalizeBuildSourcemap(\n mainOptions,\n globalSourcemap,\n ),\n esModule: normalizeBuildModule(mainOptions, \"esModule\", \"main\", globalESModule),\n interop: normalizeBuildModule(mainOptions, \"interop\", \"main\", globalInterop),\n min: normalizeBuildMin(mainOptions, \"main\", globalMin),\n };\n\n const moduleOutput: ESModuleBuildOptions | null = (moduleOptions === false || !esModuleFile) ? null : {\n path: resolve(cwd, esModuleFile),\n sourcemap: normalizeBuildSourcemap(\n moduleOptions,\n globalSourcemap,\n ),\n min: normalizeBuildMin(moduleOptions, \"module\", globalMin),\n };\n\n const browserOutput: BrowserBuildOptions | null = (browserOptions === false || !pkgBrowser) ? null : {\n path: resolve(cwd, pkgBrowser as string),\n sourcemap: normalizeBuildSourcemap(\n browserOptions,\n globalSourcemap,\n ),\n esModule: normalizeBuildModule(browserOptions, \"esModule\", \"browser\", globalESModule),\n interop: normalizeBuildModule(browserOptions, \"interop\", \"browser\", globalInterop),\n min: normalizeBuildMin(browserOptions, \"browser\", globalMin),\n format: browserOptions && !isNull(browserOptions.format) ? browserOptions.format : (browserFormat || \"umd\"),\n name: normalizeBuildName(\n cwd,\n browserOptions ? browserOptions.name : null,\n browserName,\n pkgName,\n ),\n id: browserOptions && browserOptions.id || amdId || null,\n globals: normalizeBuildGlobals(\n browserOptions,\n normalizeGlobals(browserGlobals),\n ),\n extend: normalizeBuildFlag(browserOptions, \"extend\", !!extend),\n };\n\n const binaryOutput: CommonJSBuildOptions | null = (\n binaryOptions === false || !pkgBin\n )\n ? null : {\n path: resolve(cwd, pkgBin as string),\n sourcemap: normalizeBuildSourcemap(\n binaryOptions,\n globalSourcemap,\n ),\n esModule: normalizeBuildModule(binaryOptions, \"esModule\", \"bin\", globalESModule),\n interop: normalizeBuildModule(binaryOptions, \"interop\", \"bin\", globalInterop),\n min: normalizeBuildMin(binaryOptions, \"bin\", globalMin),\n };\n\n const typesOutput: TypesBuildOptions | null = (typesOptions === false || !typesPath)\n ? null : {\n path: resolve(cwd, typesPath),\n equals: normalizeBuildFlag(typesOptions, \"equals\", !!equals),\n };\n\n const output: OutputOptions = {\n main: mainOutput,\n module: moduleOutput,\n browser: browserOutput,\n bin: binaryOutput,\n types: typesOutput,\n };\n\n const dependencies: Dependencies = {\n runtime: keysOrNull(runtimeDependencies),\n peer: keysOrNull(peerDependencies),\n optional: keysOrNull(optionalDependencies),\n };\n\n const cache: string = resolve(cwd, cacheOption || \"node_modules/.cache/bundlib\");\n\n return {\n cwd,\n pkg,\n input,\n output,\n dependencies,\n cache,\n };\n\n}\n\nexport default analizePkg;\n","import { dirname, join as pathJoin, relative, resolve } from \"path\";\nimport { Plugin } from \"rollup\";\nimport slash from \"slash\";\nimport { keys, setProp } from \"./helpers\";\n\nexport function mapIdExternal(cwd: string, outputDir: string, map: Record<string, string>): Plugin {\n\n const normalizedMap = keys(map).reduce<Record<string, string>>((result, source) => (\n setProp(\n slash(resolve(cwd, source)),\n resolve(cwd, map[source]),\n result,\n )\n ), {});\n\n return {\n\n name: \"api\",\n\n resolveId(moduleId, from) {\n\n const resolved = !from ? moduleId : pathJoin(dirname(from), moduleId);\n\n const target = normalizedMap[slash(resolved)]\n || normalizedMap[slash(resolved + \".ts\")]\n || normalizedMap[slash(pathJoin(resolved, \"index.ts\"))];\n\n if (!target) {\n return null;\n }\n\n const relativeTarget = relative(\n outputDir,\n target,\n );\n\n return {\n id: (\n !relativeTarget\n ? \".\"\n : relativeTarget[0] === \".\"\n ? relativeTarget\n : pathJoin(\".\", relativeTarget)\n ),\n external: true,\n moduleSideEffects: false,\n };\n },\n\n };\n\n}\n\nexport default mapIdExternal;\n","import { IsExternal } from \"rollup\";\n\nfunction arrayToExternal(modules: string[]): IsExternal {\n\n const cache: Record<string, true> = {};\n\n return (source: string, _: string, isResolved: boolean) => {\n\n if (isResolved || source[0] === \".\") {\n return;\n }\n\n return cache[source] || modules.some((moduleName) => {\n\n if (source === moduleName) {\n return (cache[source] = true);\n }\n\n const len = moduleName.length;\n\n if (source.substr(0, len) === moduleName && source[len].match(/^[/\\\\]$/)) {\n return (cache[source] = true);\n }\n\n return false;\n\n });\n };\n\n}\n\nexport default arrayToExternal;\n","import { OutputOptions as RollupOutputOptions } from \"rollup\";\nimport { BundlibBuildFormat, BundlibRollupModuleOutputOptions, RollupSourcemap } from \"./types\";\n\nexport function createOutput(\n format: BundlibBuildFormat,\n file: string,\n sourcemap: RollupSourcemap,\n esModule: boolean,\n interop: boolean,\n): BundlibRollupModuleOutputOptions;\nexport function createOutput<E extends RollupOutputOptions>(\n format: BundlibBuildFormat,\n file: string,\n sourcemap: RollupSourcemap,\n esModule: boolean,\n interop: boolean,\n extra: E,\n): BundlibRollupModuleOutputOptions & E;\nexport function createOutput(\n format: BundlibBuildFormat,\n file: string,\n sourcemap: RollupSourcemap,\n esModule: boolean,\n interop: boolean,\n extra?: RollupOutputOptions,\n): BundlibRollupModuleOutputOptions {\n\n const options = {\n\n file,\n format,\n\n sourcemap,\n esModule,\n interop,\n\n };\n\n return extra ? Object.assign(options, extra) : options;\n\n}\n\nexport default createOutput;\n","import { Plugin, WatchOptions as RollupWatchOptions } from \"rollup\";\n\nimport arrayToExternal from \"./array-to-external\";\nimport createOutput from \"./create-output\";\nimport keysOrNull from \"./keys-or-null\";\nimport {\n BrowserBuildFormat,\n BundlibRollupBrowseOutputOptions,\n BundlibRollupModuleOutputOptions,\n BundlibRollupOptions,\n FilterablePlugins,\n ModuleBuildFormat,\n Nullable,\n RollupSourcemap,\n} from \"./types\";\n\nexport function createConfig<OutputOptions extends BundlibRollupModuleOutputOptions>(\n input: string,\n output: OutputOptions,\n external: Nullable<string[]>,\n plugins: FilterablePlugins,\n chokidar: boolean | RollupWatchOptions,\n): BundlibRollupOptions<OutputOptions> {\n\n return {\n\n input,\n output,\n\n external: !external ? () => false : arrayToExternal(external),\n\n plugins: plugins.filter<Plugin>(Boolean as any),\n\n watch: {\n chokidar,\n exclude: [\"node_modules/**\"],\n },\n\n };\n\n}\n\nexport function createModuleConfig(\n input: string,\n format: ModuleBuildFormat,\n file: string,\n sourcemap: RollupSourcemap,\n esModule: boolean,\n interop: boolean,\n external: Nullable<string[]>,\n plugins: FilterablePlugins,\n chokidar: boolean | RollupWatchOptions,\n): BundlibRollupOptions<BundlibRollupModuleOutputOptions> {\n\n const output = createOutput(\n format,\n file,\n sourcemap,\n esModule,\n interop,\n );\n\n return createConfig(\n input,\n output,\n external,\n plugins,\n chokidar,\n );\n\n}\n\nexport function createBrowserConfig(\n input: string,\n format: BrowserBuildFormat,\n file: string,\n sourcemap: RollupSourcemap,\n esModule: boolean,\n interop: boolean,\n plugins: FilterablePlugins,\n chokidar: boolean | RollupWatchOptions,\n name: string,\n extend: boolean,\n globals: Nullable<Record<string, string>>,\n id: Nullable<string>,\n): BundlibRollupOptions<BundlibRollupBrowseOutputOptions> {\n\n const extra: Pick<BundlibRollupBrowseOutputOptions, \"name\" | \"extend\" | \"globals\" | \"amd\"> = {\n name,\n extend,\n globals: globals || {},\n };\n\n if (id && (format === \"umd\" || format === \"amd\")) {\n extra.amd = {\n id,\n };\n }\n\n const output: BundlibRollupBrowseOutputOptions = createOutput(\n format,\n file,\n sourcemap,\n esModule,\n interop,\n extra,\n );\n\n return createConfig(\n input,\n output,\n keysOrNull(globals),\n plugins,\n chokidar,\n );\n\n}\n","import { extname } from \"path\";\n\nfunction extensionMatch(filename: string, extensions: string[]): boolean {\n return extensions.indexOf(extname(filename).toLowerCase()) >= 0;\n}\n\nexport default extensionMatch;\n","import { join, parse } from \"path\";\n\nexport function renamePre(filename: string, pre: string): string {\n const { dir, name, ext } = parse(filename);\n return join(dir, `${name}.${pre}${ext}`);\n}\n\nexport function renameMin(filename: string): string {\n return renamePre(filename, \"min\");\n}\n","import builtinModules from \"builtin-modules\";\nimport { union } from \"lodash\";\nimport { basename, dirname, join as pathJoin, resolve } from \"path\";\nimport { Plugin } from \"rollup\";\n\nimport addShebang from \"rollup-plugin-add-shebang\";\nimport babel from \"rollup-plugin-babel\";\nimport commonjs from \"rollup-plugin-commonjs\";\nimport exportEquals from \"rollup-plugin-export-equals\";\nimport json from \"rollup-plugin-json\";\nimport nodeResolve from \"rollup-plugin-node-resolve\";\nimport stripShebang from \"rollup-plugin-strip-shebang\";\nimport { terser } from \"rollup-plugin-terser\";\nimport typescript2 from \"rollup-plugin-typescript2\";\nimport mapIdExternal from \"./api-plugin\";\n\nimport { createBrowserConfig, createModuleConfig } from \"./create-config\";\nimport { error } from \"./errors\";\nimport extensionMatch from \"./ext-match\";\nimport { setProp } from \"./helpers\";\nimport keysOrNull from \"./keys-or-null\";\nimport { PkgAnalized } from \"./pkg-analized\";\nimport { renameMin, renamePre } from \"./rename\";\nimport {\n BundlibAPIOptions,\n BundlibRollupModuleOutputOptions,\n BundlibRollupOptions,\n FilterablePlugins,\n RollupSourcemap,\n} from \"./types\";\n\nasync function pkgToConfigs(\n pkg: PkgAnalized,\n options: BundlibAPIOptions,\n): Promise<Array<BundlibRollupOptions<BundlibRollupModuleOutputOptions>>>;\n\nasync function pkgToConfigs(\n { cwd, pkg, input, dependencies, cache, output }: PkgAnalized,\n { dev, watch }: BundlibAPIOptions,\n): Promise<Array<BundlibRollupOptions<BundlibRollupModuleOutputOptions>>> {\n\n const {\n api: apiInput,\n bin: binInput,\n } = input;\n\n const {\n main: cjsOutput,\n module: esOutput,\n browser: browserOutput,\n bin: binaryOutput,\n types: typesOutput,\n } = output;\n\n const {\n runtime: runtimeDeps,\n peer: peerDeps,\n optional: optionalDeps,\n } = dependencies;\n\n if (\n browserOutput &&\n (browserOutput.format === \"iife\" || browserOutput.format === \"umd\") &&\n !browserOutput.name\n ) {\n throw error(\"option 'name' is required for IIFE and UMD builds\");\n }\n\n const typescriptOnlyExtensions = [\".ts\", \".tsx\"];\n const javascriptExtensions = [\".js\", \".jsx\", \".mjs\", \".node\"];\n\n const isTypescriptAPIInput = extensionMatch(apiInput, typescriptOnlyExtensions);\n const isTypescriptBinaryInput = extensionMatch(binInput, typescriptOnlyExtensions);\n\n if (\n typesOutput &&\n !isTypescriptAPIInput\n ) {\n throw error(\"can't generate types from javascript source\");\n }\n\n const typescriptExtensions = [...typescriptOnlyExtensions, ...javascriptExtensions];\n\n const apiExtensions = isTypescriptAPIInput ? typescriptExtensions : javascriptExtensions;\n const binaryExtensions = isTypescriptBinaryInput ? typescriptExtensions : javascriptExtensions;\n\n const production = !dev;\n\n const apiFolder = dirname(apiInput);\n\n const apiFolderContent = apiExtensions.map((ext) => (\n resolve(apiFolder, `**/*${ext}`)\n ));\n const cwdFolderContent = binaryExtensions.map((ext) => (\n resolve(cwd, `**/*${ext}`)\n ));\n\n const typesFilename = renamePre(basename(apiInput), \"d\");\n\n let typesOutputDir = typesOutput ? typesOutput.path : null;\n if (typesOutputDir && extensionMatch(typesOutputDir, [\".ts\"])) {\n typesOutputDir = dirname(typesOutputDir);\n }\n\n const external = union(runtimeDeps, peerDeps, optionalDeps, builtinModules);\n\n const installedDeps = union(runtimeDeps, keysOrNull(pkg.devDependencies));\n\n const useUserTypescript = (\n isTypescriptAPIInput || isTypescriptBinaryInput\n ) && installedDeps.indexOf(\"typescript\") >= 0;\n const useChokidar = !!watch && installedDeps.indexOf(\"chokidar\") >= 0;\n\n let typescript = useUserTypescript\n ? null\n : await import(\"typescript\");\n\n const exclude = /node_modules/;\n\n const configs: Array<BundlibRollupOptions<BundlibRollupModuleOutputOptions>> = [];\n\n function createPlugins(\n inputIsTypescript: boolean,\n extensions: string[],\n outputFile: string | null,\n sourcemap: RollupSourcemap,\n mini: boolean,\n browser: boolean,\n bin: boolean,\n ): FilterablePlugins {\n\n const sourcemapBool = !!sourcemap;\n\n const declarationDir = inputIsTypescript && !configs.length && !bin && typesOutputDir;\n const tsInclude = bin ? cwdFolderContent : apiFolderContent;\n const cacheRoot = pathJoin(cache, \"rpt2\");\n\n let shebang: string;\n\n return [\n\n bin && stripShebang({\n capture: (shebangFromFile) => shebang = shebangFromFile,\n sourcemap: sourcemapBool,\n }),\n\n bin && cjsOutput && outputFile && mapIdExternal(\n cwd,\n dirname(outputFile),\n setProp(apiInput, cwd, {}),\n ),\n\n nodeResolve({\n preferBuiltins: !browser,\n extensions,\n }),\n\n browser && commonjs({\n sourceMap: sourcemapBool,\n }),\n\n inputIsTypescript && typescript2({\n typescript: typescript = typescript || require(require.resolve(\"typescript\", {\n paths: [cwd],\n })),\n include: tsInclude,\n cacheRoot,\n useTsconfigDeclarationDir: true,\n tsconfigDefaults: {\n include: tsInclude,\n exclude: [],\n compilerOptions: {\n esModuleInterop: true,\n resolveJsonModule: true,\n allowSyntheticDefaultImports: true,\n },\n },\n tsconfigOverride: {\n compilerOptions: {\n target: \"esnext\",\n module: \"esnext\",\n moduleResolution: \"node\",\n sourceMap: sourcemapBool,\n declaration: !!declarationDir,\n declarationDir: declarationDir || \"\",\n allowJs: !typesOutputDir,\n emitDeclarationOnly: false,\n },\n },\n }),\n\n json() as Plugin,\n\n declarationDir && typesOutput && typesOutput.equals && exportEquals({\n file: resolve(cwd, pathJoin(declarationDir, typesFilename)),\n }),\n\n babel({\n extensions,\n exclude,\n babelrc: true,\n presets: [\n [\n require.resolve(\"@babel/preset-env\"),\n { loose: true },\n ],\n require.resolve(\"@babel/preset-react\"),\n ],\n plugins: [\n require.resolve(\"@babel/plugin-syntax-dynamic-import\"),\n [\n require.resolve(\"babel-plugin-transform-async-to-promises\"),\n { inlineHelpers: true },\n ],\n require.resolve(\"@babel/plugin-transform-object-assign\"),\n ],\n }),\n\n bin && outputFile && addShebang({\n include: outputFile,\n shebang: () => shebang || \"#!/usr/bin/env node\",\n }),\n\n mini && terser({\n sourcemap: sourcemapBool,\n toplevel: true,\n module: true,\n }),\n\n ];\n\n }\n\n if (esOutput) {\n\n const { path, sourcemap, min } = esOutput;\n\n configs.push(\n createModuleConfig(\n apiInput,\n \"es\",\n path,\n sourcemap,\n true,\n false,\n external,\n createPlugins(\n isTypescriptAPIInput,\n isTypescriptAPIInput ? typescriptExtensions : javascriptExtensions,\n path,\n sourcemap,\n production && !min,\n false,\n false,\n ),\n useChokidar,\n ),\n );\n\n if (min) {\n\n configs.push(\n createModuleConfig(\n apiInput,\n \"es\",\n renameMin(path),\n sourcemap,\n true,\n false,\n external,\n createPlugins(\n isTypescriptAPIInput,\n isTypescriptAPIInput ? typescriptExtensions : javascriptExtensions,\n path,\n sourcemap,\n true,\n false,\n false,\n ),\n useChokidar,\n ),\n );\n\n }\n\n }\n\n if (cjsOutput) {\n\n const { path, sourcemap, esModule, interop, min } = cjsOutput;\n\n configs.push(\n createModuleConfig(\n apiInput,\n \"cjs\",\n path,\n sourcemap,\n esModule,\n interop,\n external,\n createPlugins(\n isTypescriptAPIInput,\n isTypescriptAPIInput ? typescriptExtensions : javascriptExtensions,\n path,\n sourcemap,\n production && !min,\n false,\n false,\n ),\n useChokidar,\n ),\n );\n\n if (min) {\n\n configs.push(\n createModuleConfig(\n apiInput,\n \"cjs\",\n renameMin(path),\n sourcemap,\n esModule,\n interop,\n external,\n createPlugins(\n isTypescriptAPIInput,\n isTypescriptAPIInput ? typescriptExtensions : javascriptExtensions,\n path,\n sourcemap,\n true,\n false,\n false,\n ),\n useChokidar,\n ),\n );\n\n }\n\n }\n\n if (browserOutput) {\n\n const { path, sourcemap, esModule, interop, format, name, extend, id, globals, min } = browserOutput;\n\n configs.push(\n createBrowserConfig(\n apiInput,\n format,\n path,\n sourcemap,\n esModule,\n interop,\n createPlugins(\n isTypescriptAPIInput,\n isTypescriptAPIInput ? typescriptExtensions : javascriptExtensions,\n null,\n sourcemap,\n production && !min,\n true,\n false,\n ),\n useChokidar,\n name as string,\n extend,\n globals,\n id,\n ),\n );\n\n if (min) {\n\n configs.push(\n createBrowserConfig(\n apiInput,\n format,\n renameMin(path),\n sourcemap,\n esModule,\n interop,\n createPlugins(\n isTypescriptAPIInput,\n isTypescriptAPIInput ? typescriptExtensions : javascriptExtensions,\n null,\n sourcemap,\n true,\n true,\n false,\n ),\n useChokidar,\n name as string,\n extend,\n globals,\n id,\n ),\n );\n\n }\n\n }\n\n if (binaryOutput) {\n\n const { path, sourcemap, esModule, interop, min } = binaryOutput;\n\n configs.push(\n createModuleConfig(\n binInput,\n \"cjs\",\n path,\n sourcemap,\n esModule,\n interop,\n external,\n createPlugins(\n isTypescriptBinaryInput,\n isTypescriptBinaryInput ? typescriptExtensions : javascriptExtensions,\n path,\n sourcemap,\n production && !min,\n false,\n true,\n ),\n useChokidar,\n ),\n );\n\n if (min) {\n\n configs.push(\n createModuleConfig(\n binInput,\n \"cjs\",\n renameMin(path),\n sourcemap,\n esModule,\n interop,\n external,\n createPlugins(\n isTypescriptBinaryInput,\n isTypescriptBinaryInput ? typescriptExtensions : javascriptExtensions,\n path,\n sourcemap,\n true,\n false,\n true,\n ),\n useChokidar,\n ),\n );\n\n }\n\n }\n\n return configs;\n\n}\n\nexport default pkgToConfigs;\n","import analizePkg from \"./analize-pkg\";\nimport { BundlibPkgJson } from \"./pkg\";\nimport pkgToConfigs from \"./pkg-to-configs\";\nimport { BundlibAPIOptions, BundlibRollupModuleOutputOptions, BundlibRollupOptions, Nullable } from \"./types\";\n\nasync function configsFromPkg(\n cwd: string,\n options?: Nullable<BundlibAPIOptions | false>,\n pkgJson?: BundlibPkgJson,\n): Promise<Array<BundlibRollupOptions<BundlibRollupModuleOutputOptions>>> {\n return await pkgToConfigs(\n await analizePkg(cwd, pkgJson),\n options || {},\n );\n}\n\nexport default configsFromPkg;\n"],"names":["error","msg","TypeError","invalidPkgField","field","type","invalidOption","option","keys","Object","setProp","name","value","target","createObject","names","reduce","result","key","keysOrNull","deps","isNull","isObject","isString","isBool","isArray","Array","isDictionary","isStringOrNull","isDictionaryOrNull","normalizeBuildFlag","build","def","isBrowserFormat","isValidGlobals","every","item","normalizeGlobals","globals","normalizeBuildGlobals","isMinString","isValidMinOption","normalizeMinOption","min","normalizeBuildMin","isModuleString","isModuleOption","normalizeModuleOption","normalizeBuildModule","normalizeBuildName","cwd","browserName","nameOption","pkgName","camelcase","basename","normalizeSourcemap","sourcemap","normalizeBuildSourcemap","invalidKeys","object","list","invalid","filter","indexOf","length","listInList","input","model","str","allKeysInList","analizePkg","inputPkg","pkg","pkgMain","main","pkgModule","module","pkgJsNextMain","pkgBrowser","browser","pkgBin","bin","pkgTypes","types","typings","runtimeDependencies","dependencies","peerDependencies","optionalDependencies","bundlibOptions","bundlib","invalidOptions","optionNames","map","join","inputOption","sourcemapOption","esModule","interop","extend","equals","browserFormat","format","amdId","id","browserGlobals","cacheOption","cache","mainOptions","moduleOptions","browserOptions","binaryOptionsOrInput","typesOptions","binaryOptions","esModuleFile","typesPath","apiInput","api","binInput","resolve","globalSourcemap","globalESModule","globalInterop","globalMin","mainOutput","path","moduleOutput","browserOutput","binaryOutput","typesOutput","output","runtime","peer","optional","readPkg","normalize","mapIdExternal","outputDir","normalizedMap","source","slash","resolveId","moduleId","from","resolved","pathJoin","dirname","relativeTarget","relative","external","moduleSideEffects","arrayToExternal","modules","_","isResolved","some","moduleName","len","substr","match","createOutput","file","extra","options","createConfig","plugins","chokidar","Boolean","watch","exclude","createModuleConfig","createBrowserConfig","amd","extensionMatch","filename","extensions","extname","toLowerCase","renamePre","pre","parse","dir","ext","renameMin","pkgToConfigs","dev","typescript","createPlugins","inputIsTypescript","outputFile","mini","sourcemapBool","declarationDir","configs","typesOutputDir","tsInclude","cwdFolderContent","apiFolderContent","cacheRoot","shebang","stripShebang","capture","shebangFromFile","cjsOutput","nodeResolve","preferBuiltins","commonjs","sourceMap","typescript2","require","paths","include","useTsconfigDeclarationDir","tsconfigDefaults","compilerOptions","esModuleInterop","resolveJsonModule","allowSyntheticDefaultImports","tsconfigOverride","moduleResolution","declaration","allowJs","emitDeclarationOnly","json","exportEquals","typesFilename","babel","babelrc","presets","loose","inlineHelpers","addShebang","terser","toplevel","esOutput","push","isTypescriptAPIInput","typescriptExtensions","javascriptExtensions","production","useChokidar","isTypescriptBinaryInput","runtimeDeps","peerDeps","optionalDeps","typescriptOnlyExtensions","apiExtensions","binaryExtensions","apiFolder","union","builtinModules","installedDeps","devDependencies","useUserTypescript","configsFromPkg","pkgJson"],"mappings":"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"}
\No newline at end of file