turbo-gulp
Version:
Gulp tasks to boost high-quality projects.
59 lines (57 loc) • 8.96 kB
JavaScript
;
/**
* This module defines the general configuration of the project.
*
* @module project
*/
Object.defineProperty(exports, "__esModule", { value: true });
/** (Placeholder comment, see christopherthielen/typedoc-plugin-external-module-name#6) */
const path_1 = require("path");
const typescript_1 = require("./options/typescript");
/**
* Preconfigured project configuration.
* It uses process.cwd() as the root and assumes a standard project structure.
*/
exports.DEFAULT_PROJECT = {
root: process.cwd(),
packageJson: "package.json",
buildDir: "build",
distDir: "dist",
srcDir: "src",
tslint: {
tslintJson: "tslint.json",
},
typescript: typescript_1.DEFAULT_PROJECT_TS_OPTIONS,
};
/**
* Normalizes a system-dependent path to a POSIX path.
*
* @param path System-dependent path.
* @return Normalized POSIX path.
*/
function toPosix(path) {
return path.replace(/\\/g, "/");
}
exports.toPosix = toPosix;
/**
* Resolve absolute paths for project locations.
* This creates a shallow copy of the project configuration.
* If the project was already resolved, it will compute the resolved values again anyway so you it
* guarantees that the result is coherent.
*
* @param project Project configuration.
* @return Project configuration with resolved paths.
*/
function resolveProject(project) {
const absRoot = toPosix(path_1.resolve(project.root));
const absPackageJson = toPosix(path_1.resolve(project.packageJson));
const absSrcDir = path_1.posix.join(absRoot, project.srcDir);
const absBuildDir = path_1.posix.join(absRoot, project.buildDir);
const absDistDir = path_1.posix.join(absRoot, project.distDir);
return Object.assign({}, project, { absRoot, absPackageJson, absSrcDir, absBuildDir, absDistDir });
}
exports.resolveProject = resolveProject;
function registerProjectTasks() {
}
exports.registerProjectTasks = registerProjectTasks;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0dBSUc7O0FBRUgsMEZBQTBGO0FBRTFGLCtCQUFxRTtBQUVyRSxxREFBcUY7QUFzRnJGOzs7R0FHRztBQUNVLFFBQUEsZUFBZSxHQUFZO0lBQ3RDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFO0lBQ25CLFdBQVcsRUFBRSxjQUFjO0lBQzNCLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLE9BQU8sRUFBRSxNQUFNO0lBQ2YsTUFBTSxFQUFFLEtBQUs7SUFDYixNQUFNLEVBQUU7UUFDTixVQUFVLEVBQUUsYUFBYTtLQUMxQjtJQUNELFVBQVUsRUFBRSx1Q0FBMEI7Q0FDdkMsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsaUJBQXdCLElBQWE7SUFDbkMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFGRCwwQkFFQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQStCLE9BQWdCO0lBQzdDLE1BQU0sT0FBTyxHQUFpQixPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sY0FBYyxHQUFpQixPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLE1BQU0sU0FBUyxHQUFpQixZQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEUsTUFBTSxXQUFXLEdBQWlCLFlBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1RSxNQUFNLFVBQVUsR0FBaUIsWUFBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFFLE1BQU0sbUJBQUssT0FBTyxJQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLElBQUU7QUFDbkYsQ0FBQztBQVBELHdDQU9DO0FBRUQ7QUFFQSxDQUFDO0FBRkQsb0RBRUMiLCJmaWxlIjoicHJvamVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyB0aGUgZ2VuZXJhbCBjb25maWd1cmF0aW9uIG9mIHRoZSBwcm9qZWN0LlxuICpcbiAqIEBtb2R1bGUgcHJvamVjdFxuICovXG5cbi8qKiAoUGxhY2Vob2xkZXIgY29tbWVudCwgc2VlIGNocmlzdG9waGVydGhpZWxlbi90eXBlZG9jLXBsdWdpbi1leHRlcm5hbC1tb2R1bGUtbmFtZSM2KSAqL1xuXG5pbXBvcnQgeyBwb3NpeCBhcyBwb3NpeFBhdGgsIHJlc29sdmUgYXMgcmVzb2x2ZVN5c1BhdGggfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgVHNsaW50T3B0aW9ucyB9IGZyb20gXCIuL29wdGlvbnMvdHNsaW50XCI7XG5pbXBvcnQgeyBERUZBVUxUX1BST0pFQ1RfVFNfT1BUSU9OUywgVHlwZXNjcmlwdE9wdGlvbnMgfSBmcm9tIFwiLi9vcHRpb25zL3R5cGVzY3JpcHRcIjtcbmltcG9ydCB7IEFic1Bvc2l4UGF0aCwgUG9zaXhQYXRoLCBSZWxQb3NpeFBhdGgsIFN5c1BhdGggfSBmcm9tIFwiLi90eXBlc1wiO1xuXG4vKipcbiAqIFByb2plY3Qtd2lkZSBvcHRpb25zLlxuICogVGhlc2UgYWZmZWN0IGFsbCB0aGUgdGFyZ2V0cy5cbiAqIEl0IGRlZmluZXMgdGhlIG1haW4gc3RydWN0dXJlIG9mIHRoZSBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByb2plY3Qge1xuICAvKipcbiAgICogVGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBwcm9qZWN0LlxuICAgKiBUaGlzIGNvcnJlc3BvbmRzIHVzdWFsbHkgdG8gdGhlIHJvb3Qgb2YgdGhlIHJlcG9zaXRvcnkuXG4gICAqXG4gICAqICoqVGhpcyBzaG91bGQgYmUgdGhlIG9ubHkgYWJzb2x1dGUgcGF0aCBpbiB0aGUgY29uZmlndXJhdGlvbi4qKlxuICAgKi9cbiAgcmVhZG9ubHkgcm9vdDogU3lzUGF0aDtcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZSwgcmVsYXRpdmUgdG8gYHJvb3RgLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZUpzb246IFJlbFBvc2l4UGF0aDtcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgYnVpbGQgZGlyZWN0b3J5IHJlbGF0aXZlIHRvIGByb290YC4gVGhpcyBpcyB0aGUgZGlyZWN0b3J5IHdoZXJlIGFsbCBvZiB0aGUgYnVpbGRzXG4gICAqIHdpbGwgYmUgcGxhY2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGREaXI6IFJlbFBvc2l4UGF0aDtcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgZGlzdCBkaXJlY3RvcnkgcmVsYXRpdmUgdG8gYHJvb3RgLlxuICAgKiBUaGlzIGlzIHRoZSBkaXJlY3Rvcnkgd2hlcmUgZmlsZXMgcmVhZHkgZm9yIGRpc3RyaWJ1dGlvbiBhcmUgcGxhY2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzdERpcjogUmVsUG9zaXhQYXRoO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRoZSBzb3VyY2UgZGlyZWN0b3J5IHJlbGF0aXZlIHRvIGByb290YC5cbiAgICogVGhpcyBpcyB0aGUgZGlyZWN0b3J5IHdoZXJlIGFsbCBvZiB0aGUgc291cmNlIGZpbGVzIGFuZCBhc3NldHMgYXJlIGxvY2F0ZWQuXG4gICAqL1xuICByZWFkb25seSBzcmNEaXI6IFJlbFBvc2l4UGF0aDtcblxuICAvKipcbiAgICogVHNsaW50IG9wdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB7dHNsaW50SnNvbjogXCJ0c2xpbnQuanNvblwifWBcbiAgICovXG4gIHJlYWRvbmx5IHRzbGludD86IFRzbGludE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFR5cGVzY3JpcHQgb3B0aW9ucywgdGFyZ2V0cyBpbmhlcml0IHRoZXNlIG9wdGlvbnMuXG4gICAqIFNlZSB0aGUgbWVyZ2UgcnVsZXMgdG8gc2VlIGhvdyB0aGUgdGFyZ2V0IG9wdGlvbnMgYXJlIG1lcmdlZCB3aXRoIHRoZSBwcm9qZWN0IG9wdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtbREVGQVVMVF9QUk9KRUNUX1RTX09QVElPTlNdXVxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZXNjcmlwdD86IFR5cGVzY3JpcHRPcHRpb25zO1xufVxuXG4vKipcbiAqIFByb2plY3Qgd2l0aCBmdWxseSByZXNvbHZlZCBwYXRocy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlZFByb2plY3QgZXh0ZW5kcyBQcm9qZWN0IHtcbiAgLyoqXG4gICAqIEFic29sdXRlIFBPU0lYIHBhdGggZm9yIHRoZSByb290IGRpcmVjdG9yeS5cbiAgICovXG4gIHJlYWRvbmx5IGFic1Jvb3Q6IEFic1Bvc2l4UGF0aDtcblxuICAvKipcbiAgICogQWJzb2x1dGUgcGF0aCB0byB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZS5cbiAgICovXG4gIHJlYWRvbmx5IGFic1BhY2thZ2VKc29uOiBBYnNQb3NpeFBhdGg7XG5cbiAgLyoqXG4gICAqIEFic29sdXRlIHBhdGggdG8gdGhlIGBidWlsZGAgZGlyLCBmb3IgZGV2ZWxvcG1lbnQgYnVpbGRzLlxuICAgKi9cbiAgcmVhZG9ubHkgYWJzQnVpbGREaXI6IEFic1Bvc2l4UGF0aDtcblxuICAvKipcbiAgICogQWJzb2x1dGUgcGF0aCB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgZGlzdHJpYnV0aW9uLXJlYWR5IGZpbGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgYWJzRGlzdERpcjogQWJzUG9zaXhQYXRoO1xuXG4gIC8qKlxuICAgKiBBYnNvbHV0ZSBwYXRoIHRvIHRoZSBzb3VyY2VzIGRpci5cbiAgICovXG4gIHJlYWRvbmx5IGFic1NyY0RpcjogQWJzUG9zaXhQYXRoO1xufVxuXG4vKipcbiAqIFByZWNvbmZpZ3VyZWQgcHJvamVjdCBjb25maWd1cmF0aW9uLlxuICogSXQgdXNlcyBwcm9jZXNzLmN3ZCgpIGFzIHRoZSByb290IGFuZCBhc3N1bWVzIGEgc3RhbmRhcmQgcHJvamVjdCBzdHJ1Y3R1cmUuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BST0pFQ1Q6IFByb2plY3QgPSB7XG4gIHJvb3Q6IHByb2Nlc3MuY3dkKCksXG4gIHBhY2thZ2VKc29uOiBcInBhY2thZ2UuanNvblwiLFxuICBidWlsZERpcjogXCJidWlsZFwiLFxuICBkaXN0RGlyOiBcImRpc3RcIixcbiAgc3JjRGlyOiBcInNyY1wiLFxuICB0c2xpbnQ6IHtcbiAgICB0c2xpbnRKc29uOiBcInRzbGludC5qc29uXCIsXG4gIH0sXG4gIHR5cGVzY3JpcHQ6IERFRkFVTFRfUFJPSkVDVF9UU19PUFRJT05TLFxufTtcblxuLyoqXG4gKiBOb3JtYWxpemVzIGEgc3lzdGVtLWRlcGVuZGVudCBwYXRoIHRvIGEgUE9TSVggcGF0aC5cbiAqXG4gKiBAcGFyYW0gcGF0aCBTeXN0ZW0tZGVwZW5kZW50IHBhdGguXG4gKiBAcmV0dXJuIE5vcm1hbGl6ZWQgUE9TSVggcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUG9zaXgocGF0aDogU3lzUGF0aCk6IFBvc2l4UGF0aCB7XG4gIHJldHVybiBwYXRoLnJlcGxhY2UoL1xcXFwvZywgXCIvXCIpO1xufVxuXG4vKipcbiAqIFJlc29sdmUgYWJzb2x1dGUgcGF0aHMgZm9yIHByb2plY3QgbG9jYXRpb25zLlxuICogVGhpcyBjcmVhdGVzIGEgc2hhbGxvdyBjb3B5IG9mIHRoZSBwcm9qZWN0IGNvbmZpZ3VyYXRpb24uXG4gKiBJZiB0aGUgcHJvamVjdCB3YXMgYWxyZWFkeSByZXNvbHZlZCwgaXQgd2lsbCBjb21wdXRlIHRoZSByZXNvbHZlZCB2YWx1ZXMgYWdhaW4gYW55d2F5IHNvIHlvdSBpdFxuICogZ3VhcmFudGVlcyB0aGF0IHRoZSByZXN1bHQgaXMgY29oZXJlbnQuXG4gKlxuICogQHBhcmFtIHByb2plY3QgUHJvamVjdCBjb25maWd1cmF0aW9uLlxuICogQHJldHVybiBQcm9qZWN0IGNvbmZpZ3VyYXRpb24gd2l0aCByZXNvbHZlZCBwYXRocy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQcm9qZWN0KHByb2plY3Q6IFByb2plY3QpOiBSZXNvbHZlZFByb2plY3Qge1xuICBjb25zdCBhYnNSb290OiBBYnNQb3NpeFBhdGggPSB0b1Bvc2l4KHJlc29sdmVTeXNQYXRoKHByb2plY3Qucm9vdCkpO1xuICBjb25zdCBhYnNQYWNrYWdlSnNvbjogQWJzUG9zaXhQYXRoID0gdG9Qb3NpeChyZXNvbHZlU3lzUGF0aChwcm9qZWN0LnBhY2thZ2VKc29uKSk7XG4gIGNvbnN0IGFic1NyY0RpcjogQWJzUG9zaXhQYXRoID0gcG9zaXhQYXRoLmpvaW4oYWJzUm9vdCwgcHJvamVjdC5zcmNEaXIpO1xuICBjb25zdCBhYnNCdWlsZERpcjogQWJzUG9zaXhQYXRoID0gcG9zaXhQYXRoLmpvaW4oYWJzUm9vdCwgcHJvamVjdC5idWlsZERpcik7XG4gIGNvbnN0IGFic0Rpc3REaXI6IEFic1Bvc2l4UGF0aCA9IHBvc2l4UGF0aC5qb2luKGFic1Jvb3QsIHByb2plY3QuZGlzdERpcik7XG4gIHJldHVybiB7Li4ucHJvamVjdCwgYWJzUm9vdCwgYWJzUGFja2FnZUpzb24sIGFic1NyY0RpciwgYWJzQnVpbGREaXIsIGFic0Rpc3REaXJ9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJQcm9qZWN0VGFza3MoKTogdm9pZCB7XG5cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=