UNPKG

66.1 kBSource Map (JSON)View Raw
1{"version":3,"file":"bundlib.cjs.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 {\n loose: true,\n },\n ],\n require.resolve(\"@babel/preset-react\"),\n ],\n plugins: [\n require.resolve(\"@babel/plugin-syntax-dynamic-import\"),\n require.resolve(\"babel-plugin-transform-async-to-promises\"),\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","direct","then","analizePkg","inputPkg","readPkg","normalize","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","i","apply","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","assign","createConfig","plugins","chokidar","Boolean","watch","exclude","createModuleConfig","createBrowserConfig","amd","extensionMatch","filename","extensions","extname","toLowerCase","renamePre","pre","parse","dir","ext","renameMin","pkgToConfigs","dev","cjsOutput","esOutput","runtimeDeps","peerDeps","optionalDeps","typescriptOnlyExtensions","javascriptExtensions","isTypescriptAPIInput","isTypescriptBinaryInput","typescriptExtensions","apiExtensions","binaryExtensions","production","apiFolder","apiFolderContent","cwdFolderContent","typesFilename","typesOutputDir","union","builtinModules","installedDeps","devDependencies","useUserTypescript","useChokidar","typescript","createPlugins","inputIsTypescript","outputFile","mini","sourcemapBool","declarationDir","configs","tsInclude","cacheRoot","shebang","stripShebang","capture","shebangFromFile","nodeResolve","preferBuiltins","commonjs","sourceMap","typescript2","require","paths","include","useTsconfigDeclarationDir","tsconfigDefaults","compilerOptions","esModuleInterop","resolveJsonModule","allowSyntheticDefaultImports","tsconfigOverride","moduleResolution","declaration","allowJs","emitDeclarationOnly","json","exportEquals","babel","babelrc","presets","loose","addShebang","terser","toplevel","push","e","configsFromPkg","pkgJson"],"mappings":"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"}
\No newline at end of file