@microsoft/web-library-build
Version:
`web-library-build` is a `gulp-core-build` build rig for building web libraries. It includes build subtasks for processing css, typescript, serving, and running browser tests using karma.
84 lines • 4.55 kB
JavaScript
;
// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
// See LICENSE in the project root for license information.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateShrinkwrapTask = exports.validateShrinkwrapTask = exports.postProcessSourceMapsTask = exports.defaultTasks = exports.testTasks = exports.bundleTasks = exports.buildTasks = exports.postCopy = exports.preCopy = void 0;
const gulp_core_build_1 = require("@microsoft/gulp-core-build");
const gulp_core_build_typescript_1 = require("@microsoft/gulp-core-build-typescript");
const gulp_core_build_sass_1 = require("@microsoft/gulp-core-build-sass");
const gulp_core_build_webpack_1 = require("@microsoft/gulp-core-build-webpack");
const gulp_core_build_serve_1 = require("@microsoft/gulp-core-build-serve");
const PostProcessSourceMaps_1 = require("./PostProcessSourceMaps");
__exportStar(require("@microsoft/gulp-core-build"), exports);
__exportStar(require("@microsoft/gulp-core-build-typescript"), exports);
__exportStar(require("@microsoft/gulp-core-build-sass"), exports);
__exportStar(require("@microsoft/gulp-core-build-webpack"), exports);
__exportStar(require("@microsoft/gulp-core-build-serve"), exports);
// Pre copy and post copy allows you to specify a map of dest: [sources] to copy from one place to another.
/**
* @public
*/
exports.preCopy = new gulp_core_build_1.CopyTask();
exports.preCopy.name = 'pre-copy';
/**
* @public
*/
exports.postCopy = new gulp_core_build_1.CopyTask();
exports.postCopy.name = 'post-copy';
const sourceMatch = ['src/**/*.{ts,tsx,scss,js,txt,html}', '!src/**/*.scss.ts'];
// eslint-disable-next-line dot-notation
const PRODUCTION = !!(0, gulp_core_build_1.getConfig)().args['production'] || !!(0, gulp_core_build_1.getConfig)().args['ship'];
(0, gulp_core_build_1.setConfig)({
production: PRODUCTION,
shouldWarningsFailBuild: PRODUCTION
});
// Define default task groups.
/**
* @public
*/
exports.buildTasks = (0, gulp_core_build_1.task)('build', (0, gulp_core_build_1.serial)(exports.preCopy, gulp_core_build_sass_1.sass, (0, gulp_core_build_1.parallel)(gulp_core_build_typescript_1.lintCmd, gulp_core_build_typescript_1.tscCmd), gulp_core_build_typescript_1.apiExtractor, exports.postCopy));
/**
* @public
*/
exports.bundleTasks = (0, gulp_core_build_1.task)('bundle', (0, gulp_core_build_1.serial)(exports.buildTasks, gulp_core_build_webpack_1.webpack));
/**
* @public
*/
exports.testTasks = (0, gulp_core_build_1.task)('test', (0, gulp_core_build_1.serial)(exports.buildTasks, gulp_core_build_1.jest));
/**
* @public
*/
exports.defaultTasks = (0, gulp_core_build_1.serial)(exports.bundleTasks, gulp_core_build_1.jest);
/**
* @public
*/
exports.postProcessSourceMapsTask = new PostProcessSourceMaps_1.PostProcessSourceMaps();
/**
* @public
*/
exports.validateShrinkwrapTask = new gulp_core_build_1.ValidateShrinkwrapTask();
/**
* @public
*/
exports.generateShrinkwrapTask = new gulp_core_build_1.GenerateShrinkwrapTask();
(0, gulp_core_build_1.task)('validate-shrinkwrap', exports.validateShrinkwrapTask);
(0, gulp_core_build_1.task)('generate', exports.generateShrinkwrapTask);
(0, gulp_core_build_1.task)('test-watch', (0, gulp_core_build_1.watch)(sourceMatch, exports.testTasks));
// For watch scenarios like serve, make sure to exclude generated files from src (like *.scss.ts.)
(0, gulp_core_build_1.task)('serve', (0, gulp_core_build_1.serial)(gulp_core_build_serve_1.serve, (0, gulp_core_build_1.watch)(sourceMatch, (0, gulp_core_build_1.serial)(exports.preCopy, gulp_core_build_sass_1.sass, gulp_core_build_typescript_1.tscCmd, exports.postCopy, gulp_core_build_webpack_1.webpack, exports.postProcessSourceMapsTask, gulp_core_build_serve_1.reload))));
(0, gulp_core_build_1.task)('default', exports.defaultTasks);
//# sourceMappingURL=index.js.map