UNPKG

11.4 kBJavaScriptView Raw
1"use strict";
2// tslint:disable:no-any
3// tslint:disable:no-unsafe-any
4Object.defineProperty(exports, "__esModule", { value: true });
5const fs_1 = require("fs");
6const path = require("path");
7function parseScriptStyleEntries(extraEntries, defaultEntry, workspaceRoot, nodeModulesPath, projectRoot) {
8 if (!extraEntries || !extraEntries.length) {
9 return [];
10 }
11 const entries = Array.isArray(extraEntries) ? extraEntries : [extraEntries];
12 const clonedEntries = entries.map((entry) => typeof entry === 'object' ? Object.assign({}, entry) : entry);
13 return clonedEntries
14 .map((extraEntry) => typeof extraEntry === 'object' ? extraEntry : { input: extraEntry })
15 .map((extraEntry) => {
16 const parsedEntry = {
17 paths: [],
18 entry: '',
19 lazy: extraEntry.lazy
20 };
21 const inputs = Array.isArray(extraEntry.input) ? extraEntry.input : [extraEntry.input];
22 parsedEntry.paths = [];
23 inputs.forEach(input => {
24 let resolvedPath = path.resolve(projectRoot, input);
25 if (nodeModulesPath &&
26 !fs_1.existsSync(resolvedPath) &&
27 input.startsWith('~node_modules') &&
28 fs_1.existsSync(path.resolve(workspaceRoot, input.substr(1)))) {
29 resolvedPath = path.resolve(workspaceRoot, input.substr(1));
30 }
31 else if (nodeModulesPath &&
32 !fs_1.existsSync(resolvedPath) &&
33 input.startsWith('~') &&
34 fs_1.existsSync(path.resolve(nodeModulesPath, input.substr(1)))) {
35 resolvedPath = path.resolve(nodeModulesPath, input.substr(1));
36 }
37 else if (!fs_1.existsSync(resolvedPath) &&
38 input.startsWith('~') &&
39 fs_1.existsSync(path.resolve(workspaceRoot, input.substr(1)))) {
40 resolvedPath = path.resolve(workspaceRoot, input.substr(1));
41 }
42 parsedEntry.paths.push(resolvedPath);
43 });
44 if (extraEntry.bundleName) {
45 if (/(\\|\/)$/.test(extraEntry.bundleName) &&
46 !Array.isArray(extraEntry.input) &&
47 typeof extraEntry.input === 'string') {
48 parsedEntry.entry = extraEntry.bundleName +
49 path.basename(extraEntry.input)
50 .replace(/\.(ts|js|less|sass|scss|styl|css)$/i, '');
51 }
52 else {
53 parsedEntry.entry = extraEntry.bundleName.replace(/\.(js|css)$/i, '');
54 }
55 }
56 else if (extraEntry.lazy &&
57 !Array.isArray(extraEntry.input) &&
58 typeof extraEntry.input === 'string') {
59 parsedEntry.entry = path.basename(extraEntry.input)
60 .replace(/\.(js|ts|css|scss|sass|less|styl)$/i, '');
61 }
62 else {
63 parsedEntry.entry = defaultEntry;
64 }
65 return parsedEntry;
66 });
67}
68exports.parseScriptStyleEntries = parseScriptStyleEntries;
69//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2Utc2NyaXB0LXN0eWxlLWVudHJpZXMuanMiLCJzb3VyY2VSb290IjoiLi8iLCJzb3VyY2VzIjpbInNyYy9oZWxwZXJzL3BhcnNlLXNjcmlwdC1zdHlsZS1lbnRyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx3QkFBd0I7QUFDeEIsK0JBQStCOztBQUUvQiwyQkFBZ0M7QUFDaEMsNkJBQTZCO0FBSzdCLFNBQWdCLHVCQUF1QixDQUFDLFlBQStDLEVBQ25GLFlBQW9CLEVBQ3BCLGFBQXFCLEVBQ3JCLGVBQTBDLEVBQzFDLFdBQW1CO0lBQ25CLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO1FBQ3ZDLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFFRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQzdDLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLG1CQUFNLEtBQUssRUFBRyxDQUFDLENBQUMsS0FBSyxDQUNuRCxDQUFDO0lBRUYsT0FBTyxhQUFhO1NBQ2YsR0FBRyxDQUFDLENBQUMsVUFBZ0MsRUFBRSxFQUFFLENBQ3RDLE9BQU8sVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQztTQUN2RSxHQUFHLENBQUMsQ0FBQyxVQUF1QixFQUFFLEVBQUU7UUFDN0IsTUFBTSxXQUFXLEdBQWlDO1lBQzlDLEtBQUssRUFBRSxFQUFFO1lBQ1QsS0FBSyxFQUFFLEVBQUU7WUFDVCxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7U0FDeEIsQ0FBQztRQUVGLE1BQU0sTUFBTSxH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R0FBRyxZQUFZLENBQUM7U0FDcEM7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDLENBQUMsQ0FBQztBQUNYLENBQUM7QUFyRUQsMERBcUVDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6bm8tYW55XG4vLyB0c2xpbnQ6ZGlzYWJsZTpuby11bnNhZmUtYW55XG5cbmltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeyBHbG9iYWxFbnRyeSB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBHbG9iYWxTY3JpcHRTdHlsZVBhcnNlZEVudHJ5IH0gZnJvbSAnLi4vbW9kZWxzL2ludGVybmFscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNjcmlwdFN0eWxlRW50cmllcyhleHRyYUVudHJpZXM6IHN0cmluZyB8IChzdHJpbmcgfCBHbG9iYWxFbnRyeSlbXSxcbiAgICBkZWZhdWx0RW50cnk6IHN0cmluZyxcbiAgICB3b3Jrc3BhY2VSb290OiBzdHJpbmcsXG4gICAgbm9kZU1vZHVsZXNQYXRoOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIHByb2plY3RSb290OiBzdHJpbmcpOiBHbG9iYWxTY3JpcHRTdHlsZVBhcnNlZEVudHJ5W10ge1xuICAgIGlmICghZXh0cmFFbnRyaWVzIHx8ICFleHRyYUVudHJpZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBlbnRyaWVzID0gQXJyYXkuaXNBcnJheShleHRyYUVudHJpZXMpID8gZXh0cmFFbnRyaWVzIDogW2V4dHJhRW50cmllc107XG4gICAgY29uc3QgY2xvbmVkRW50cmllcyA9IGVudHJpZXMubWFwKChlbnRyeTogYW55KSA9PlxuICAgICAgICB0eXBlb2YgZW50cnkgPT09ICdvYmplY3QnID8geyAuLi5lbnRyeSB9IDogZW50cnlcbiAgICApO1xuXG4gICAgcmV0dXJuIGNsb25lZEVudHJpZXNcbiAgICAgICAgLm1hcCgoZXh0cmFFbnRyeTogc3RyaW5nIHwgR2xvYmFsRW50cnkpID0+XG4gICAgICAgICAgICB0eXBlb2YgZXh0cmFFbnRyeSA9PT0gJ29iamVjdCcgPyBleHRyYUVudHJ5IDogeyBpbnB1dDogZXh0cmFFbnRyeSB9KVxuICAgICAgICAubWFwKChleHRyYUVudHJ5OiBHbG9iYWxFbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyc2VkRW50cnk6IEdsb2JhbFNjcmlwdFN0eWxlUGFyc2VkRW50cnkgPSB7XG4gICAgICAgICAgICAgICAgcGF0aHM6IFtdLFxuICAgICAgICAgICAgICAgIGVudHJ5OiAnJyxcbiAgICAgICAgICAgICAgICBsYXp5OiBleHRyYUVudHJ5LmxhenlcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IGlucHV0cyA9IEFycmF5LmlzQXJyYXkoZXh0cmFFbnRyeS5pbnB1dCkgPyBleHRyYUVudHJ5LmlucHV0IDogW2V4dHJhRW50cnkuaW5wdXRdO1xuICAgICAgICAgICAgcGFyc2VkRW50cnkucGF0aHMgPSBbXTtcbiAgICAgICAgICAgIGlucHV0cy5mb3JFYWNoKGlucHV0ID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgcmVzb2x2ZWRQYXRoID0gcGF0aC5yZXNvbHZlKHByb2plY3RSb290LCBpbnB1dCk7XG5cbiAgICAgICAgICAgICAgICBpZiAobm9kZU1vZHVsZXNQYXRoICYmXG4gICAgICAgICAgICAgICAgICAgICFleGlzdHNTeW5jKHJlc29sdmVkUGF0aCkgJiZcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuc3RhcnRzV2l0aCgnfm5vZGVfbW9kdWxlcycpICYmXG4gICAgICAgICAgICAgICAgICAgIGV4aXN0c1N5bmMocGF0aC5yZXNvbHZlKHdvcmtzcGFjZVJvb3QsIGlucHV0LnN1YnN0cigxKSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVkUGF0aCA9IHBhdGgucmVzb2x2ZSh3b3Jrc3BhY2VSb290LCBpbnB1dC5zdWJzdHIoMSkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobm9kZU1vZHVsZXNQYXRoICYmXG4gICAgICAgICAgICAgICAgICAgICFleGlzdHNTeW5jKHJlc29sdmVkUGF0aCkgJiZcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuc3RhcnRzV2l0aCgnficpICYmXG4gICAgICAgICAgICAgICAgICAgIGV4aXN0c1N5bmMocGF0aC5yZXNvbHZlKG5vZGVNb2R1bGVzUGF0aCwgaW5wdXQuc3Vic3RyKDEpKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZWRQYXRoID0gcGF0aC5yZXNvbHZlKG5vZGVNb2R1bGVzUGF0aCwgaW5wdXQuc3Vic3RyKDEpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFleGlzdHNTeW5jKHJlc29sdmVkUGF0aCkgJiZcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuc3RhcnRzV2l0aCgnficpICYmXG4gICAgICAgICAgICAgICAgICAgIGV4aXN0c1N5bmMocGF0aC5yZXNvbHZlKHdvcmtzcGFjZVJvb3QsIGlucHV0LnN1YnN0cigxKSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmVkUGF0aCA9IHBhdGgucmVzb2x2ZSh3b3Jrc3BhY2VSb290LCBpbnB1dC5zdWJzdHIoMSkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHBhcnNlZEVudHJ5LnBhdGhzLnB1c2gocmVzb2x2ZWRQYXRoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAoZXh0cmFFbnRyeS5idW5kbGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgaWYgKC8oXFxcXHxcXC8pJC8udGVzdChleHRyYUVudHJ5LmJ1bmRsZU5hbWUpICYmXG4gICAgICAgICAgICAgICAgICAgICFBcnJheS5pc0FycmF5KGV4dHJhRW50cnkuaW5wdXQpICYmXG4gICAgICAgICAgICAgICAgICAgIHR5cGVvZiBleHRyYUVudHJ5LmlucHV0ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICBwYXJzZWRFbnRyeS5lbnRyeSA9IGV4dHJhRW50cnkuYnVuZGxlTmFtZSArXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoLmJhc2VuYW1lKGV4dHJhRW50cnkuaW5wdXQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcLih0c3xqc3xsZXNzfHNhc3N8c2Nzc3xzdHlsfGNzcykkL2ksICcnKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXJzZWRFbnRyeS5lbnRyeSA9IGV4dHJhRW50cnkuYnVuZGxlTmFtZS5yZXBsYWNlKC9cXC4oanN8Y3NzKSQvaSwgJycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXh0cmFFbnRyeS5sYXp5ICYmXG4gICAgICAgICAgICAgICAgIUFycmF5LmlzQXJyYXkoZXh0cmFFbnRyeS5pbnB1dCkgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgZXh0cmFFbnRyeS5pbnB1dCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBwYXJzZWRFbnRyeS5lbnRyeSA9IHBhdGguYmFzZW5hbWUoZXh0cmFFbnRyeS5pbnB1dClcbiAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoL1xcLihqc3x0c3xjc3N8c2Nzc3xzYXNzfGxlc3N8c3R5bCkkL2ksICcnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFyc2VkRW50cnkuZW50cnkgPSBkZWZhdWx0RW50cnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBwYXJzZWRFbnRyeTtcbiAgICAgICAgfSk7XG59XG4iXX0=
\No newline at end of file