MCPcopy Create free account
hub / github.com/bigcommerce/stencil-cli / _getExternalLibs

Method _getExternalLibs

lib/stencil-bundle.js:155–167  ·  view source on GitHub ↗

* helps to find any node modules dependencies with * ui templates and returns its list * * @private * @param {string} content * @returns {Array}

(templatePath)

Source from the content-addressed store, hash-verified

153 * @returns {Array}
154 */
155 async _getExternalLibs(templatePath) {
156 const content = await fs.promises.readFile(templatePath, { encoding: 'utf-8' });
157 const externalPathRegex = /{{2}>\s*(['"]external)[^{]*?}{2}/g;
158 const externalTemplatesImports = content.match(externalPathRegex);
159 if (!externalTemplatesImports) return [];
160 return externalTemplatesImports.map((templateImport) => {
161 const [, importPath] = templateAssembler.partialRegex.exec(templateImport);
162 templateAssembler.partialRegex.lastIndex = 0;
163 return importPath
164 .split('/templates/')[0]
165 .slice(templateAssembler.packageMarker.length + 1);
166 });
167 }
168
169 async assembleTemplatesTask(callback) {
170 console.log('Template Parsing Started...');

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected