UNPKG

28.8 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
7function _interopNamespace(e) {
8 if (e && e.__esModule) { return e; } else {
9 var n = {};
10 if (e) {
11 Object.keys(e).forEach(function (k) {
12 var d = Object.getOwnPropertyDescriptor(e, k);
13 Object.defineProperty(n, k, d.get ? d : {
14 enumerable: true,
15 get: function () {
16 return e[k];
17 }
18 });
19 });
20 }
21 n['default'] = e;
22 return n;
23 }
24}
25
26var path = require('path');
27var readPkg = _interopDefault(require('read-pkg'));
28var camelcase = _interopDefault(require('camelcase'));
29var builtinModules = _interopDefault(require('builtin-modules'));
30var lodash = require('lodash');
31var addShebang = _interopDefault(require('rollup-plugin-add-shebang'));
32var babel = _interopDefault(require('rollup-plugin-babel'));
33var commonjs = _interopDefault(require('rollup-plugin-commonjs'));
34var exportEquals = _interopDefault(require('rollup-plugin-export-equals'));
35var json = _interopDefault(require('rollup-plugin-json'));
36var nodeResolve = _interopDefault(require('rollup-plugin-node-resolve'));
37var stripShebang = _interopDefault(require('rollup-plugin-strip-shebang'));
38var rollupPluginTerser = require('rollup-plugin-terser');
39var typescript2 = _interopDefault(require('rollup-plugin-typescript2'));
40var slash = _interopDefault(require('slash'));
41
42function error(msg) {
43 return new TypeError(msg);
44}
45function invalidPkgField(field, type) {
46 return error("Invalid package.json \"" + field + "\" field. It has to be of type " + type);
47}
48function invalidOption(option, type) {
49 return error("Invalid \"" + option + "\" option. It has to be " + type);
50}
51
52var keys = Object.keys;
53function setProp(name, value, target) {
54 target[name] = value;
55 return target;
56}
57function createObject(names, value) {
58 return names.reduce(function (result, key) {
59 return setProp(key, value, result);
60 }, {});
61}
62
63function keysOrNull(deps) {
64 return deps ? keys(deps) : null;
65}
66
67function isNull(value) {
68 return value == null;
69}
70function isObject(value) {
71 return !!value && typeof value === "object";
72}
73function isString(value) {
74 return typeof value === "string";
75}
76function isBool(value) {
77 return value === true || value === false;
78}
79var isArray = Array.isArray;
80function isDictionary(value) {
81 return isObject(value) && !isArray(value);
82}
83function isStringOrNull(value) {
84 return isNull(value) || isString(value);
85}
86function isDictionaryOrNull(value) {
87 return isNull(value) || isDictionary(value);
88}
89
90function normalizeBuildFlag(build, key, def) {
91 return !build || isNull(build[key]) ? def : !!build[key];
92}
93
94function isBrowserFormat(value) {
95 return isNull(value) || value === "iife" || value === "amd" || value === "umd";
96}
97
98function isValidGlobals(value) {
99 return isNull(value) || isObject(value) && (isArray(value) ? value.every(function (item) {
100 return isString(item);
101 }) : keys(value).every(function (key) {
102 return isString(key) && isString(value[key]);
103 }));
104}
105function normalizeGlobals(globals) {
106 return !globals ? null : isArray(globals) ? globals.reduce(function (result, value) {
107 return setProp(value, value, result);
108 }, {}) : globals;
109}
110function normalizeBuildGlobals(build, def) {
111 return !build || isNull(build.globals) ? def : normalizeGlobals(build.globals);
112}
113
114function isMinString(value) {
115 return value === "main" || value === "module" || value === "browser" || value === "bin";
116}
117function isValidMinOption(value) {
118 return isNull(value) || isBool(value) || isMinString(value) || isArray(value) && value.every(function (item) {
119 return isMinString(item);
120 });
121}
122function normalizeMinOption(min) {
123 var keys = ["main", "module", "browser", "bin"];
124 return !min ? createObject(keys, false) : min === true ? createObject(keys, true) : isArray(min) ? min.reduce(function (result, field) {
125 return setProp(field, true, result);
126 }, createObject(keys, false)) : setProp(min, true, createObject(keys, false));
127}
128function normalizeBuildMin(build, field, def) {
129 return !build || isNull(build.min) ? def[field] : build.min;
130}
131
132function isModuleString(value) {
133 return value === "main" || value === "browser" || value === "bin";
134}
135function isModuleOption(value) {
136 return isNull(value) || isBool(value) || isModuleString(value) || isArray(value) && value.every(function (item) {
137 return isModuleString(item);
138 });
139}
140function normalizeModuleOption(option) {
141 var keys = ["main", "browser", "bin"];
142 return !option ? createObject(keys, false) : option === true ? createObject(keys, true) : isArray(option) ? option.reduce(function (result, field) {
143 return setProp(field, true, result);
144 }, createObject(keys, false)) : setProp(option, true, createObject(keys, false));
145}
146function normalizeBuildModule(build, key, field, def) {
147 return !build || isNull(build[key]) ? def[field] : build[key];
148}
149
150function normalizeBuildName(cwd, browserName, nameOption, pkgName) {
151 return browserName || nameOption || pkgName && camelcase(path.basename(pkgName)) || camelcase(path.basename(cwd)) || null;
152}
153
154function normalizeSourcemap(sourcemap) {
155 return sourcemap === "inline" ? "inline" : sourcemap !== false;
156}
157function normalizeBuildSourcemap(build, def) {
158 return !build || isNull(build.sourcemap) ? def : normalizeSourcemap(build.sourcemap);
159}
160
161function invalidKeys(object, list) {
162 var invalid = keys(object).filter(function (key) {
163 return list.indexOf(key) === -1;
164 });
165 return invalid.length ? invalid : null;
166}
167function listInList(input, model) {
168 return input.every(function (str) {
169 return model.indexOf(str) >= 0;
170 });
171}
172function allKeysInList(object, model) {
173 return listInList(keys(object), model);
174}
175
176function _await(value, then, direct) {
177 if (direct) {
178 return then ? then(value) : value;
179 }
180
181 if (!value || !value.then) {
182 value = Promise.resolve(value);
183 }
184
185 return then ? value.then(then) : value;
186}
187
188var analizePkg = _async(function (cwd, inputPkg) {
189 return _await(inputPkg || readPkg({
190 cwd: cwd,
191 normalize: false
192 }), function (pkg) {
193 if (!isDictionary(pkg)) {
194 throw error("Invalid package.json content");
195 }
196
197 var pkgName = pkg.name,
198 pkgMain = pkg.main,
199 pkgModule = pkg.module,
200 pkgJsNextMain = pkg["jsnext:main"],
201 pkgBrowser = pkg.browser,
202 pkgBin = pkg.bin,
203 pkgTypes = pkg.types,
204 typings = pkg.typings,
205 runtimeDependencies = pkg.dependencies,
206 peerDependencies = pkg.peerDependencies,
207 optionalDependencies = pkg.optionalDependencies,
208 bundlibOptions = pkg.bundlib;
209
210 if (!isDictionaryOrNull(bundlibOptions)) {
211 throw invalidPkgField("bundlib", "Object");
212 }
213
214 var invalidOptions = bundlibOptions && invalidKeys(bundlibOptions, ["input", "extend", "esModule", "interop", "equals", "sourcemap", "format", "name", "id", "globals", "min", "cache", "main", "module", "browser", "bin", "types"]);
215
216 if (invalidOptions) {
217 var optionNames = invalidOptions.map(function (name) {
218 return "\"" + name + "\"";
219 }).join(", ");
220 throw error("Unknown options found: (" + optionNames + ")");
221 }
222
223 var _ref = bundlibOptions || {},
224 inputOption = _ref.input,
225 sourcemapOption = _ref.sourcemap,
226 esModule = _ref.esModule,
227 interop = _ref.interop,
228 extend = _ref.extend,
229 equals = _ref.equals,
230 browserFormat = _ref.format,
231 browserName = _ref.name,
232 amdId = _ref.id,
233 browserGlobals = _ref.globals,
234 min = _ref.min,
235 cacheOption = _ref.cache,
236 mainOptions = _ref.main,
237 moduleOptions = _ref.module,
238 browserOptions = _ref.browser,
239 binaryOptionsOrInput = _ref.bin,
240 typesOptions = _ref.types;
241
242 var binaryOptions = isString(binaryOptionsOrInput) ? null : binaryOptionsOrInput;
243
244 if (!isStringOrNull(inputOption) && !(isDictionary(inputOption) && allKeysInList(inputOption, ["api", "bin"]) && keys(inputOption).every(function (key) {
245 return isString(inputOption[key]);
246 }))) {
247 throw invalidOption("input", "string | { api?: string, bin?: string }");
248 }
249
250 if (!isNull(sourcemapOption) && !isBool(sourcemapOption) && sourcemapOption !== "inline") {
251 throw invalidOption("sourcemap", 'boolean | "inline"');
252 }
253
254 if (!isModuleOption(esModule)) {
255 throw invalidOption("esModule", 'boolean | "main" | "browser" | "bin" | Array<"main" | "browser" | "bin">');
256 }
257
258 if (!isModuleOption(interop)) {
259 throw invalidOption("interop", 'boolean | "main" | "browser" | "bin" | Array<"main" | "browser" | "bin">');
260 }
261
262 if (!isBrowserFormat(browserFormat)) {
263 throw invalidOption("format", '"amd" | "iife" | "amd"');
264 }
265
266 if (!isStringOrNull(browserName)) {
267 throw invalidOption("name", "string");
268 }
269
270 if (!isStringOrNull(amdId)) {
271 throw invalidOption("id", "string");
272 }
273
274 if (!isValidGlobals(browserGlobals)) {
275 throw invalidOption("globals", "Object<string, string> | string[]");
276 }
277
278 if (!isValidMinOption(min)) {
279 throw invalidOption("min", 'boolean | "main" | "module" | "browser" | "bin" | Array<"main" | "module" | "browser" | "bin">');
280 }
281
282 if (!isStringOrNull(cacheOption)) {
283 throw invalidOption("cache", "string");
284 }
285
286 if (!isNull(mainOptions) && mainOptions !== false && !(isDictionary(mainOptions) && allKeysInList(mainOptions, ["sourcemap", "esModule", "interop", "min"]))) {
287 throw invalidOption("main", 'false | { sourcemap?: boolean | "inline", esModule?: boolean, interop?: boolean, min?: boolean }');
288 }
289
290 if (!isNull(moduleOptions) && moduleOptions !== false && !(isDictionary(moduleOptions) && allKeysInList(moduleOptions, ["sourcemap", "min"]))) {
291 throw invalidOption("module", 'false | { sourcemap?: boolean | "inline", min?: boolean }');
292 }
293
294 if (!isNull(browserOptions) && browserOptions !== false && !(isDictionary(browserOptions) && allKeysInList(browserOptions, ["sourcemap", "esModule", "interop", "min", "format", "name", "id", "globals", "extend"]) && isBrowserFormat(browserOptions.format) && ["name", "id"].every(function (key) {
295 return isStringOrNull(browserOptions[key]);
296 }) && isValidGlobals(browserOptions.globals))) {
297 throw invalidOption("browser", 'false | { sourcemap?: boolean | "inline", esModule?: boolean, interop?: boolean, min?: boolean, ... }');
298 }
299
300 if (!isNull(binaryOptionsOrInput) && !isString(binaryOptionsOrInput) && binaryOptionsOrInput !== false && !(isDictionary(binaryOptionsOrInput) && allKeysInList(binaryOptionsOrInput, ["sourcemap", "esModule", "interop", "min"]))) {
301 throw invalidOption("bin", 'false | { sourcemap?: boolean | "inline", esModule?: boolean, interop?: boolean, min?: boolean }');
302 }
303
304 if (!isNull(typesOptions) && typesOptions !== false && !(isDictionary(typesOptions) && allKeysInList(typesOptions, ["equals"]))) {
305 throw invalidOption("types", "false | { equals?: boolean }");
306 }
307
308 if (mainOptions !== false && !isStringOrNull(pkgMain)) {
309 throw invalidPkgField("main", "string");
310 }
311
312 if (moduleOptions !== false && !isStringOrNull(pkgModule)) {
313 throw invalidPkgField("module", "string");
314 }
315
316 if (!pkgModule && moduleOptions !== false && !isStringOrNull(pkgJsNextMain)) {
317 throw invalidPkgField("jsnext:main", "string");
318 }
319
320 if (browserOptions !== false && !isStringOrNull(pkgBrowser)) {
321 throw invalidPkgField("browser", "string");
322 }
323
324 if (binaryOptions !== false && !isStringOrNull(pkgBin)) {
325 throw invalidPkgField("bin", "string");
326 }
327
328 if (!isDictionaryOrNull(runtimeDependencies)) {
329 throw invalidPkgField("dependencies", "Object");
330 }
331
332 if (!isDictionaryOrNull(peerDependencies)) {
333 throw invalidPkgField("peerDependencies", "Object");
334 }
335
336 if (!isDictionaryOrNull(optionalDependencies)) {
337 throw invalidPkgField("optionalDependencies", "Object");
338 }
339
340 var esModuleFile = pkgModule || pkgJsNextMain;
341 var typesPath = pkgTypes || typings;
342 var apiInput = isStringOrNull(inputOption) ? inputOption : inputOption.api;
343 var binInput = isStringOrNull(inputOption) ? null : inputOption.bin;
344
345 if (isString(binaryOptionsOrInput) && !binInput) {
346 binInput = binaryOptionsOrInput;
347 }
348
349 var input = {
350 api: path.resolve(cwd, apiInput || "src/index.ts"),
351 bin: path.resolve(cwd, binInput || "src-bin/index.ts")
352 };
353 var globalSourcemap = normalizeSourcemap(sourcemapOption);
354 var globalESModule = normalizeModuleOption(esModule);
355 var globalInterop = normalizeModuleOption(interop);
356 var globalMin = normalizeMinOption(min);
357 var mainOutput = mainOptions === false || !pkgMain ? null : {
358 path: path.resolve(cwd, pkgMain),
359 sourcemap: normalizeBuildSourcemap(mainOptions, globalSourcemap),
360 esModule: normalizeBuildModule(mainOptions, "esModule", "main", globalESModule),
361 interop: normalizeBuildModule(mainOptions, "interop", "main", globalInterop),
362 min: normalizeBuildMin(mainOptions, "main", globalMin)
363 };
364 var moduleOutput = moduleOptions === false || !esModuleFile ? null : {
365 path: path.resolve(cwd, esModuleFile),
366 sourcemap: normalizeBuildSourcemap(moduleOptions, globalSourcemap),
367 min: normalizeBuildMin(moduleOptions, "module", globalMin)
368 };
369 var browserOutput = browserOptions === false || !pkgBrowser ? null : {
370 path: path.resolve(cwd, pkgBrowser),
371 sourcemap: normalizeBuildSourcemap(browserOptions, globalSourcemap),
372 esModule: normalizeBuildModule(browserOptions, "esModule", "browser", globalESModule),
373 interop: normalizeBuildModule(browserOptions, "interop", "browser", globalInterop),
374 min: normalizeBuildMin(browserOptions, "browser", globalMin),
375 format: browserOptions && !isNull(browserOptions.format) ? browserOptions.format : browserFormat || "umd",
376 name: normalizeBuildName(cwd, browserOptions ? browserOptions.name : null, browserName, pkgName),
377 id: browserOptions && browserOptions.id || amdId || null,
378 globals: normalizeBuildGlobals(browserOptions, normalizeGlobals(browserGlobals)),
379 extend: normalizeBuildFlag(browserOptions, "extend", !!extend)
380 };
381 var binaryOutput = binaryOptions === false || !pkgBin ? null : {
382 path: path.resolve(cwd, pkgBin),
383 sourcemap: normalizeBuildSourcemap(binaryOptions, globalSourcemap),
384 esModule: normalizeBuildModule(binaryOptions, "esModule", "bin", globalESModule),
385 interop: normalizeBuildModule(binaryOptions, "interop", "bin", globalInterop),
386 min: normalizeBuildMin(binaryOptions, "bin", globalMin)
387 };
388 var typesOutput = typesOptions === false || !typesPath ? null : {
389 path: path.resolve(cwd, typesPath),
390 equals: normalizeBuildFlag(typesOptions, "equals", !!equals)
391 };
392 var output = {
393 main: mainOutput,
394 module: moduleOutput,
395 browser: browserOutput,
396 bin: binaryOutput,
397 types: typesOutput
398 };
399 var dependencies = {
400 runtime: keysOrNull(runtimeDependencies),
401 peer: keysOrNull(peerDependencies),
402 optional: keysOrNull(optionalDependencies)
403 };
404 var cache = path.resolve(cwd, cacheOption || "node_modules/.cache/bundlib");
405 return {
406 cwd: cwd,
407 pkg: pkg,
408 input: input,
409 output: output,
410 dependencies: dependencies,
411 cache: cache
412 };
413 }, inputPkg);
414});
415
416function _async(f) {
417 return function () {
418 for (var args = [], i = 0; i < arguments.length; i++) {
419 args[i] = arguments[i];
420 }
421
422 try {
423 return Promise.resolve(f.apply(this, args));
424 } catch (e) {
425 return Promise.reject(e);
426 }
427 };
428}
429
430function mapIdExternal(cwd, outputDir, map) {
431 var normalizedMap = keys(map).reduce(function (result, source) {
432 return setProp(slash(path.resolve(cwd, source)), path.resolve(cwd, map[source]), result);
433 }, {});
434 return {
435 name: "api",
436 resolveId: function resolveId(moduleId, from) {
437 var resolved = !from ? moduleId : path.join(path.dirname(from), moduleId);
438 var target = normalizedMap[slash(resolved)] || normalizedMap[slash(resolved + ".ts")] || normalizedMap[slash(path.join(resolved, "index.ts"))];
439
440 if (!target) {
441 return null;
442 }
443
444 var relativeTarget = path.relative(outputDir, target);
445 return {
446 id: !relativeTarget ? "." : relativeTarget[0] === "." ? relativeTarget : path.join(".", relativeTarget),
447 external: true,
448 moduleSideEffects: false
449 };
450 }
451 };
452}
453
454function arrayToExternal(modules) {
455 var cache = {};
456 return function (source, _, isResolved) {
457 if (isResolved || source[0] === ".") {
458 return;
459 }
460
461 return cache[source] || modules.some(function (moduleName) {
462 if (source === moduleName) {
463 return cache[source] = true;
464 }
465
466 var len = moduleName.length;
467
468 if (source.substr(0, len) === moduleName && source[len].match(/^[/\\]$/)) {
469 return cache[source] = true;
470 }
471
472 return false;
473 });
474 };
475}
476
477function createOutput(format, file, sourcemap, esModule, interop, extra) {
478 var options = {
479 file: file,
480 format: format,
481 sourcemap: sourcemap,
482 esModule: esModule,
483 interop: interop
484 };
485 return extra ? Object.assign(options, extra) : options;
486}
487
488function createConfig(input, output, external, plugins, chokidar) {
489 return {
490 input: input,
491 output: output,
492 external: !external ? function () {
493 return false;
494 } : arrayToExternal(external),
495 plugins: plugins.filter(Boolean),
496 watch: {
497 chokidar: chokidar,
498 exclude: ["node_modules/**"]
499 }
500 };
501}
502function createModuleConfig(input, format, file, sourcemap, esModule, interop, external, plugins, chokidar) {
503 var output = createOutput(format, file, sourcemap, esModule, interop);
504 return createConfig(input, output, external, plugins, chokidar);
505}
506function createBrowserConfig(input, format, file, sourcemap, esModule, interop, plugins, chokidar, name, extend, globals, id) {
507 var extra = {
508 name: name,
509 extend: extend,
510 globals: globals || {}
511 };
512
513 if (id && (format === "umd" || format === "amd")) {
514 extra.amd = {
515 id: id
516 };
517 }
518
519 var output = createOutput(format, file, sourcemap, esModule, interop, extra);
520 return createConfig(input, output, keysOrNull(globals), plugins, chokidar);
521}
522
523function extensionMatch(filename, extensions) {
524 return extensions.indexOf(path.extname(filename).toLowerCase()) >= 0;
525}
526
527function renamePre(filename, pre) {
528 var _parse = path.parse(filename),
529 dir = _parse.dir,
530 name = _parse.name,
531 ext = _parse.ext;
532
533 return path.join(dir, name + "." + pre + ext);
534}
535function renameMin(filename) {
536 return renamePre(filename, "min");
537}
538
539function _await$1(value, then, direct) {
540 if (direct) {
541 return then ? then(value) : value;
542 }
543
544 if (!value || !value.then) {
545 value = Promise.resolve(value);
546 }
547
548 return then ? value.then(then) : value;
549}
550
551var pkgToConfigs = _async$1(function (_ref, _ref2) {
552 var cwd = _ref.cwd,
553 pkg = _ref.pkg,
554 input = _ref.input,
555 dependencies = _ref.dependencies,
556 cache = _ref.cache,
557 output = _ref.output;
558 var dev = _ref2.dev,
559 watch = _ref2.watch;
560 var apiInput = input.api,
561 binInput = input.bin;
562 var cjsOutput = output.main,
563 esOutput = output.module,
564 browserOutput = output.browser,
565 binaryOutput = output.bin,
566 typesOutput = output.types;
567 var runtimeDeps = dependencies.runtime,
568 peerDeps = dependencies.peer,
569 optionalDeps = dependencies.optional;
570
571 if (browserOutput && (browserOutput.format === "iife" || browserOutput.format === "umd") && !browserOutput.name) {
572 throw error("option 'name' is required for IIFE and UMD builds");
573 }
574
575 var typescriptOnlyExtensions = [".ts", ".tsx"];
576 var javascriptExtensions = [".js", ".jsx", ".mjs", ".node"];
577 var isTypescriptAPIInput = extensionMatch(apiInput, typescriptOnlyExtensions);
578 var isTypescriptBinaryInput = extensionMatch(binInput, typescriptOnlyExtensions);
579
580 if (typesOutput && !isTypescriptAPIInput) {
581 throw error("can't generate types from javascript source");
582 }
583
584 var typescriptExtensions = [].concat(typescriptOnlyExtensions, javascriptExtensions);
585 var apiExtensions = isTypescriptAPIInput ? typescriptExtensions : javascriptExtensions;
586 var binaryExtensions = isTypescriptBinaryInput ? typescriptExtensions : javascriptExtensions;
587 var production = !dev;
588 var apiFolder = path.dirname(apiInput);
589 var apiFolderContent = apiExtensions.map(function (ext) {
590 return path.resolve(apiFolder, "**/*" + ext);
591 });
592 var cwdFolderContent = binaryExtensions.map(function (ext) {
593 return path.resolve(cwd, "**/*" + ext);
594 });
595 var typesFilename = renamePre(path.basename(apiInput), "d");
596 var typesOutputDir = typesOutput ? typesOutput.path : null;
597
598 if (typesOutputDir && extensionMatch(typesOutputDir, [".ts"])) {
599 typesOutputDir = path.dirname(typesOutputDir);
600 }
601
602 var external = lodash.union(runtimeDeps, peerDeps, optionalDeps, builtinModules);
603 var installedDeps = lodash.union(runtimeDeps, keysOrNull(pkg.devDependencies));
604 var useUserTypescript = (isTypescriptAPIInput || isTypescriptBinaryInput) && installedDeps.indexOf("typescript") >= 0;
605 var useChokidar = !!watch && installedDeps.indexOf("chokidar") >= 0;
606 return _await$1(useUserTypescript ? null : new Promise(function (resolve) { resolve(_interopNamespace(require('typescript'))); }), function (typescript) {
607 var exclude = /node_modules/;
608
609 function createPlugins(inputIsTypescript, extensions, outputFile, sourcemap, mini, browser, bin) {
610 var sourcemapBool = !!sourcemap;
611 var declarationDir = inputIsTypescript && !configs.length && !bin && typesOutputDir;
612 var tsInclude = bin ? cwdFolderContent : apiFolderContent;
613 var cacheRoot = path.join(cache, "rpt2");
614
615 var _shebang;
616
617 return [bin && stripShebang({
618 capture: function capture(shebangFromFile) {
619 return _shebang = shebangFromFile;
620 },
621 sourcemap: sourcemapBool
622 }), bin && cjsOutput && outputFile && mapIdExternal(cwd, path.dirname(outputFile), setProp(apiInput, cwd, {})), nodeResolve({
623 preferBuiltins: !browser,
624 extensions: extensions
625 }), browser && commonjs({
626 sourceMap: sourcemapBool
627 }), inputIsTypescript && typescript2({
628 typescript: typescript = typescript || require(require.resolve("typescript", {
629 paths: [cwd]
630 })),
631 include: tsInclude,
632 cacheRoot: cacheRoot,
633 useTsconfigDeclarationDir: true,
634 tsconfigDefaults: {
635 include: tsInclude,
636 exclude: [],
637 compilerOptions: {
638 esModuleInterop: true,
639 resolveJsonModule: true,
640 allowSyntheticDefaultImports: true
641 }
642 },
643 tsconfigOverride: {
644 compilerOptions: {
645 target: "esnext",
646 module: "esnext",
647 moduleResolution: "node",
648 sourceMap: sourcemapBool,
649 declaration: !!declarationDir,
650 declarationDir: declarationDir || "",
651 allowJs: !typesOutputDir,
652 emitDeclarationOnly: false
653 }
654 }
655 }), json(), declarationDir && typesOutput && typesOutput.equals && exportEquals({
656 file: path.resolve(cwd, path.join(declarationDir, typesFilename))
657 }), babel({
658 extensions: extensions,
659 exclude: exclude,
660 babelrc: true,
661 presets: [[require.resolve("@babel/preset-env"), {
662 loose: true
663 }], require.resolve("@babel/preset-react")],
664 plugins: [require.resolve("@babel/plugin-syntax-dynamic-import"), require.resolve("babel-plugin-transform-async-to-promises")]
665 }), bin && outputFile && addShebang({
666 include: outputFile,
667 shebang: function shebang() {
668 return _shebang || "#!/usr/bin/env node";
669 }
670 }), mini && rollupPluginTerser.terser({
671 sourcemap: sourcemapBool,
672 toplevel: true,
673 module: true
674 })];
675 }
676
677 var configs = [];
678
679 if (esOutput) {
680 var path$1 = esOutput.path,
681 sourcemap = esOutput.sourcemap,
682 min = esOutput.min;
683 configs.push(createModuleConfig(apiInput, "es", path$1, sourcemap, true, false, external, createPlugins(isTypescriptAPIInput, isTypescriptAPIInput ? typescriptExtensions : javascriptExtensions, path$1, sourcemap, production && !min, false, false), useChokidar));
684
685 if (min) {
686 configs.push(createModuleConfig(apiInput, "es", renameMin(path$1), sourcemap, true, false, external, createPlugins(isTypescriptAPIInput, isTypescriptAPIInput ? typescriptExtensions : javascriptExtensions, path$1, sourcemap, true, false, false), useChokidar));
687 }
688 }
689
690 if (cjsOutput) {
691 var _path = cjsOutput.path,
692 _sourcemap = cjsOutput.sourcemap,
693 esModule = cjsOutput.esModule,
694 interop = cjsOutput.interop,
695 _min = cjsOutput.min;
696 configs.push(createModuleConfig(apiInput, "cjs", _path, _sourcemap, esModule, interop, external, createPlugins(isTypescriptAPIInput, isTypescriptAPIInput ? typescriptExtensions : javascriptExtensions, _path, _sourcemap, production && !_min, false, false), useChokidar));
697
698 if (_min) {
699 configs.push(createModuleConfig(apiInput, "cjs", renameMin(_path), _sourcemap, esModule, interop, external, createPlugins(isTypescriptAPIInput, isTypescriptAPIInput ? typescriptExtensions : javascriptExtensions, _path, _sourcemap, true, false, false), useChokidar));
700 }
701 }
702
703 if (browserOutput) {
704 var _path2 = browserOutput.path,
705 _sourcemap2 = browserOutput.sourcemap,
706 _esModule = browserOutput.esModule,
707 _interop = browserOutput.interop,
708 format = browserOutput.format,
709 name = browserOutput.name,
710 extend = browserOutput.extend,
711 id = browserOutput.id,
712 globals = browserOutput.globals,
713 _min2 = browserOutput.min;
714 configs.push(createBrowserConfig(apiInput, format, _path2, _sourcemap2, _esModule, _interop, createPlugins(isTypescriptAPIInput, isTypescriptAPIInput ? typescriptExtensions : javascriptExtensions, null, _sourcemap2, production && !_min2, true, false), useChokidar, name, extend, globals, id));
715
716 if (_min2) {
717 configs.push(createBrowserConfig(apiInput, format, renameMin(_path2), _sourcemap2, _esModule, _interop, createPlugins(isTypescriptAPIInput, isTypescriptAPIInput ? typescriptExtensions : javascriptExtensions, null, _sourcemap2, true, true, false), useChokidar, name, extend, globals, id));
718 }
719 }
720
721 if (binaryOutput) {
722 var _path3 = binaryOutput.path,
723 _sourcemap3 = binaryOutput.sourcemap,
724 _esModule2 = binaryOutput.esModule,
725 _interop2 = binaryOutput.interop,
726 _min3 = binaryOutput.min;
727 configs.push(createModuleConfig(binInput, "cjs", _path3, _sourcemap3, _esModule2, _interop2, external, createPlugins(isTypescriptBinaryInput, isTypescriptBinaryInput ? typescriptExtensions : javascriptExtensions, _path3, _sourcemap3, production && !_min3, false, true), useChokidar));
728
729 if (_min3) {
730 configs.push(createModuleConfig(binInput, "cjs", renameMin(_path3), _sourcemap3, _esModule2, _interop2, external, createPlugins(isTypescriptBinaryInput, isTypescriptBinaryInput ? typescriptExtensions : javascriptExtensions, _path3, _sourcemap3, true, false, true), useChokidar));
731 }
732 }
733
734 return configs;
735 }, useUserTypescript);
736});
737
738function _async$1(f) {
739 return function () {
740 for (var args = [], i = 0; i < arguments.length; i++) {
741 args[i] = arguments[i];
742 }
743
744 try {
745 return Promise.resolve(f.apply(this, args));
746 } catch (e) {
747 return Promise.reject(e);
748 }
749 };
750}
751
752function _await$2(value, then, direct) {
753 if (direct) {
754 return then ? then(value) : value;
755 }
756
757 if (!value || !value.then) {
758 value = Promise.resolve(value);
759 }
760
761 return then ? value.then(then) : value;
762}
763
764var configsFromPkg = _async$2(function (cwd, options, pkgJson) {
765 return _await$2(analizePkg(cwd, pkgJson), function (_analizePkg) {
766 return _await$2(pkgToConfigs(_analizePkg, options || {}));
767 });
768});
769
770function _async$2(f) {
771 return function () {
772 for (var args = [], i = 0; i < arguments.length; i++) {
773 args[i] = arguments[i];
774 }
775
776 try {
777 return Promise.resolve(f.apply(this, args));
778 } catch (e) {
779 return Promise.reject(e);
780 }
781 };
782}
783
784exports.analizePkg = analizePkg;
785exports.configsFromPkg = configsFromPkg;
786//# sourceMappingURL=bundlib.cjs.js.map