UNPKG

@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
"use strict"; // 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