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.
47 lines
2.2 KiB
47 lines
2.2 KiB
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const scaffold_utils_1 = require("./scaffold-utils");
|
|
const validate_1 = __importDefault(require("./validate"));
|
|
/**
|
|
*
|
|
* Prompts for entry points, either if it has multiple or one entry
|
|
*
|
|
* @param {Object} self - A variable holding the instance of the prompting
|
|
* @param {Object} answer - Previous answer from asking if the user wants single or multiple entries
|
|
* @returns {Object} An Object that holds the answers given by the user, later used to scaffold
|
|
*/
|
|
async function entry(self, multiEntries, autoGenerateDefaults = false) {
|
|
const fixEntry = (entry) => {
|
|
entry = entry.trim().replace(/"|'/g, '');
|
|
if (!entry.startsWith('./')) {
|
|
entry = `./${entry}`;
|
|
}
|
|
if (!entry.endsWith('.js')) {
|
|
entry = entry.concat('.js');
|
|
}
|
|
entry = `'${entry}'`;
|
|
return entry;
|
|
};
|
|
if (multiEntries) {
|
|
const webpackEntryPoint = {};
|
|
const multipleEntriesAnswer = await scaffold_utils_1.InputValidate(self, 'multipleEntries', 'What do you want to name your bundles? (separated by comma)', validate_1.default, 'pageOne, pageTwo', autoGenerateDefaults);
|
|
const entryIdentifiers = multipleEntriesAnswer.multipleEntries.split(',');
|
|
for (let i = 0; i < entryIdentifiers.length; i++) {
|
|
const entryProp = entryIdentifiers[i].trim();
|
|
const entryResult = await scaffold_utils_1.InputValidate(self, `${entryProp}`, `What is the location of "${entryProp}"?`, validate_1.default, `src/${entryProp}`, autoGenerateDefaults);
|
|
const entry = fixEntry(entryResult[entryProp]);
|
|
webpackEntryPoint[entryProp] = entry;
|
|
}
|
|
return webpackEntryPoint;
|
|
}
|
|
const singleEntryResult = await scaffold_utils_1.Input(self, 'singularEntry', 'Which will be your application entry point?', 'src/index', autoGenerateDefaults);
|
|
let { singularEntry } = singleEntryResult;
|
|
if (singularEntry.length > 0) {
|
|
singularEntry = fixEntry(singularEntry);
|
|
}
|
|
return singularEntry;
|
|
}
|
|
exports.default = entry;
|
|
|