You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							181 lines
						
					
					
						
							8.1 KiB
						
					
					
				
			
		
		
	
	
							181 lines
						
					
					
						
							8.1 KiB
						
					
					
				| /*
 | |
|   @license
 | |
| 	Rollup.js v2.79.1
 | |
| 	Thu, 22 Sep 2022 04:55:29 GMT - commit 69ff4181e701a0fe0026d0ba147f31bc86beffa8
 | |
| 
 | |
| 	https://github.com/rollup/rollup
 | |
| 
 | |
| 	Released under the MIT License.
 | |
| */
 | |
| 'use strict';
 | |
| 
 | |
| const rollup = require('./rollup.js');
 | |
| 
 | |
| const commandAliases = {
 | |
|     c: 'config',
 | |
|     d: 'dir',
 | |
|     e: 'external',
 | |
|     f: 'format',
 | |
|     g: 'globals',
 | |
|     h: 'help',
 | |
|     i: 'input',
 | |
|     m: 'sourcemap',
 | |
|     n: 'name',
 | |
|     o: 'file',
 | |
|     p: 'plugin',
 | |
|     v: 'version',
 | |
|     w: 'watch'
 | |
| };
 | |
| function mergeOptions(config, rawCommandOptions = { external: [], globals: undefined }, defaultOnWarnHandler = rollup.defaultOnWarn) {
 | |
|     const command = getCommandOptions(rawCommandOptions);
 | |
|     const inputOptions = mergeInputOptions(config, command, defaultOnWarnHandler);
 | |
|     const warn = inputOptions.onwarn;
 | |
|     if (command.output) {
 | |
|         Object.assign(command, command.output);
 | |
|     }
 | |
|     const outputOptionsArray = rollup.ensureArray(config.output);
 | |
|     if (outputOptionsArray.length === 0)
 | |
|         outputOptionsArray.push({});
 | |
|     const outputOptions = outputOptionsArray.map(singleOutputOptions => mergeOutputOptions(singleOutputOptions, command, warn));
 | |
|     rollup.warnUnknownOptions(command, Object.keys(inputOptions).concat(Object.keys(outputOptions[0]).filter(option => option !== 'sourcemapPathTransform'), Object.keys(commandAliases), 'config', 'environment', 'plugin', 'silent', 'failAfterWarnings', 'stdin', 'waitForBundleInput', 'configPlugin'), 'CLI flags', warn, /^_$|output$|config/);
 | |
|     inputOptions.output = outputOptions;
 | |
|     return inputOptions;
 | |
| }
 | |
| function getCommandOptions(rawCommandOptions) {
 | |
|     const external = rawCommandOptions.external && typeof rawCommandOptions.external === 'string'
 | |
|         ? rawCommandOptions.external.split(',')
 | |
|         : [];
 | |
|     return {
 | |
|         ...rawCommandOptions,
 | |
|         external,
 | |
|         globals: typeof rawCommandOptions.globals === 'string'
 | |
|             ? rawCommandOptions.globals.split(',').reduce((globals, globalDefinition) => {
 | |
|                 const [id, variableName] = globalDefinition.split(':');
 | |
|                 globals[id] = variableName;
 | |
|                 if (!external.includes(id)) {
 | |
|                     external.push(id);
 | |
|                 }
 | |
|                 return globals;
 | |
|             }, Object.create(null))
 | |
|             : undefined
 | |
|     };
 | |
| }
 | |
| function mergeInputOptions(config, overrides, defaultOnWarnHandler) {
 | |
|     const getOption = (name) => { var _a; return (_a = overrides[name]) !== null && _a !== void 0 ? _a : config[name]; };
 | |
|     const inputOptions = {
 | |
|         acorn: getOption('acorn'),
 | |
|         acornInjectPlugins: config.acornInjectPlugins,
 | |
|         cache: config.cache,
 | |
|         context: getOption('context'),
 | |
|         experimentalCacheExpiry: getOption('experimentalCacheExpiry'),
 | |
|         external: getExternal(config, overrides),
 | |
|         inlineDynamicImports: getOption('inlineDynamicImports'),
 | |
|         input: getOption('input') || [],
 | |
|         makeAbsoluteExternalsRelative: getOption('makeAbsoluteExternalsRelative'),
 | |
|         manualChunks: getOption('manualChunks'),
 | |
|         maxParallelFileOps: getOption('maxParallelFileOps'),
 | |
|         maxParallelFileReads: getOption('maxParallelFileReads'),
 | |
|         moduleContext: getOption('moduleContext'),
 | |
|         onwarn: getOnWarn(config, defaultOnWarnHandler),
 | |
|         perf: getOption('perf'),
 | |
|         plugins: rollup.ensureArray(config.plugins),
 | |
|         preserveEntrySignatures: getOption('preserveEntrySignatures'),
 | |
|         preserveModules: getOption('preserveModules'),
 | |
|         preserveSymlinks: getOption('preserveSymlinks'),
 | |
|         shimMissingExports: getOption('shimMissingExports'),
 | |
|         strictDeprecations: getOption('strictDeprecations'),
 | |
|         treeshake: getObjectOption(config, overrides, 'treeshake', rollup.objectifyOptionWithPresets(rollup.treeshakePresets, 'treeshake', 'false, true, ')),
 | |
|         watch: getWatch(config, overrides)
 | |
|     };
 | |
|     rollup.warnUnknownOptions(config, Object.keys(inputOptions), 'input options', inputOptions.onwarn, /^output$/);
 | |
|     return inputOptions;
 | |
| }
 | |
| const getExternal = (config, overrides) => {
 | |
|     const configExternal = config.external;
 | |
|     return typeof configExternal === 'function'
 | |
|         ? (source, importer, isResolved) => configExternal(source, importer, isResolved) || overrides.external.includes(source)
 | |
|         : rollup.ensureArray(configExternal).concat(overrides.external);
 | |
| };
 | |
| const getOnWarn = (config, defaultOnWarnHandler) => config.onwarn
 | |
|     ? warning => config.onwarn(warning, defaultOnWarnHandler)
 | |
|     : defaultOnWarnHandler;
 | |
| const getObjectOption = (config, overrides, name, objectifyValue = rollup.objectifyOption) => {
 | |
|     const commandOption = normalizeObjectOptionValue(overrides[name], objectifyValue);
 | |
|     const configOption = normalizeObjectOptionValue(config[name], objectifyValue);
 | |
|     if (commandOption !== undefined) {
 | |
|         return commandOption && { ...configOption, ...commandOption };
 | |
|     }
 | |
|     return configOption;
 | |
| };
 | |
| const getWatch = (config, overrides) => config.watch !== false && getObjectOption(config, overrides, 'watch');
 | |
| const isWatchEnabled = (optionValue) => {
 | |
|     if (Array.isArray(optionValue)) {
 | |
|         return optionValue.reduce((result, value) => (typeof value === 'boolean' ? value : result), false);
 | |
|     }
 | |
|     return optionValue === true;
 | |
| };
 | |
| const normalizeObjectOptionValue = (optionValue, objectifyValue) => {
 | |
|     if (!optionValue) {
 | |
|         return optionValue;
 | |
|     }
 | |
|     if (Array.isArray(optionValue)) {
 | |
|         return optionValue.reduce((result, value) => value && result && { ...result, ...objectifyValue(value) }, {});
 | |
|     }
 | |
|     return objectifyValue(optionValue);
 | |
| };
 | |
| function mergeOutputOptions(config, overrides, warn) {
 | |
|     const getOption = (name) => { var _a; return (_a = overrides[name]) !== null && _a !== void 0 ? _a : config[name]; };
 | |
|     const outputOptions = {
 | |
|         amd: getObjectOption(config, overrides, 'amd'),
 | |
|         assetFileNames: getOption('assetFileNames'),
 | |
|         banner: getOption('banner'),
 | |
|         chunkFileNames: getOption('chunkFileNames'),
 | |
|         compact: getOption('compact'),
 | |
|         dir: getOption('dir'),
 | |
|         dynamicImportFunction: getOption('dynamicImportFunction'),
 | |
|         entryFileNames: getOption('entryFileNames'),
 | |
|         esModule: getOption('esModule'),
 | |
|         exports: getOption('exports'),
 | |
|         extend: getOption('extend'),
 | |
|         externalLiveBindings: getOption('externalLiveBindings'),
 | |
|         file: getOption('file'),
 | |
|         footer: getOption('footer'),
 | |
|         format: getOption('format'),
 | |
|         freeze: getOption('freeze'),
 | |
|         generatedCode: getObjectOption(config, overrides, 'generatedCode', rollup.objectifyOptionWithPresets(rollup.generatedCodePresets, 'output.generatedCode', '')),
 | |
|         globals: getOption('globals'),
 | |
|         hoistTransitiveImports: getOption('hoistTransitiveImports'),
 | |
|         indent: getOption('indent'),
 | |
|         inlineDynamicImports: getOption('inlineDynamicImports'),
 | |
|         interop: getOption('interop'),
 | |
|         intro: getOption('intro'),
 | |
|         manualChunks: getOption('manualChunks'),
 | |
|         minifyInternalExports: getOption('minifyInternalExports'),
 | |
|         name: getOption('name'),
 | |
|         namespaceToStringTag: getOption('namespaceToStringTag'),
 | |
|         noConflict: getOption('noConflict'),
 | |
|         outro: getOption('outro'),
 | |
|         paths: getOption('paths'),
 | |
|         plugins: rollup.ensureArray(config.plugins),
 | |
|         preferConst: getOption('preferConst'),
 | |
|         preserveModules: getOption('preserveModules'),
 | |
|         preserveModulesRoot: getOption('preserveModulesRoot'),
 | |
|         sanitizeFileName: getOption('sanitizeFileName'),
 | |
|         sourcemap: getOption('sourcemap'),
 | |
|         sourcemapBaseUrl: getOption('sourcemapBaseUrl'),
 | |
|         sourcemapExcludeSources: getOption('sourcemapExcludeSources'),
 | |
|         sourcemapFile: getOption('sourcemapFile'),
 | |
|         sourcemapPathTransform: getOption('sourcemapPathTransform'),
 | |
|         strict: getOption('strict'),
 | |
|         systemNullSetters: getOption('systemNullSetters'),
 | |
|         validate: getOption('validate')
 | |
|     };
 | |
|     rollup.warnUnknownOptions(config, Object.keys(outputOptions), 'output options', warn);
 | |
|     return outputOptions;
 | |
| }
 | |
| 
 | |
| exports.commandAliases = commandAliases;
 | |
| exports.isWatchEnabled = isWatchEnabled;
 | |
| exports.mergeOptions = mergeOptions;
 | |
| //# sourceMappingURL=mergeOptions.js.map
 |