MCPcopy Index your code
hub / github.com/ampproject/amphtml / getExtensionsToBuild

Function getExtensionsToBuild

build-system/tasks/extension-helpers.js:178–208  ·  view source on GitHub ↗

* Process the command line arguments --noextensions, --extensions, and * --extensions_from and return a list of the referenced extensions. * * @param {boolean=} preBuild * @return {!Array }

(preBuild = false)

Source from the content-addressed store, hash-verified

176 * @return {!Array<string>}
177 */
178function getExtensionsToBuild(preBuild = false) {
179 extensionsToBuild = argv.core_runtime_only ? [] : DEFAULT_EXTENSION_SET;
180 if (argv.extensions) {
181 if (typeof argv.extensions !== 'string') {
182 log(red('ERROR:'), 'Missing list of extensions.');
183 process.exit(1);
184 } else if (argv.extensions === 'inabox') {
185 argv.extensions = INABOX_EXTENSION_SET.join(',');
186 }
187 const explicitExtensions = argv.extensions.replace(/\s/g, '').split(',');
188 extensionsToBuild = dedupe(extensionsToBuild.concat(explicitExtensions));
189 }
190 if (argv.extensions_from) {
191 const extensionsFrom = getExtensionsFromArg(argv.extensions_from);
192 extensionsToBuild = dedupe(extensionsToBuild.concat(extensionsFrom));
193 }
194 if (
195 !preBuild &&
196 !argv.noextensions &&
197 !argv.extensions &&
198 !argv.extensions_from &&
199 !argv.core_runtime_only
200 ) {
201 const allExtensions = [];
202 for (const extension in EXTENSIONS) {
203 allExtensions.push(EXTENSIONS[extension].name);
204 }
205 extensionsToBuild = dedupe(extensionsToBuild.concat(allExtensions));
206 }
207 return extensionsToBuild;
208}
209
210/**
211 * Parses the --extensions, --extensions_from, and the --noextensions flags,

Callers 3

parseExtensionFlagsFunction · 0.85
buildExtensionsFunction · 0.85
preBuildExtensionsFunction · 0.85

Calls 8

redFunction · 0.85
dedupeFunction · 0.85
getExtensionsFromArgFunction · 0.85
exitMethod · 0.80
concatMethod · 0.80
logFunction · 0.50
replaceMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected