UNPKG

@farris/build-angular

Version:

Angular Webpack Build Facade

61 lines 6.16 kB
"use strict"; /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ // tslint:disable // TODO: cleanup this file, it's copied as is from Angular CLI. Object.defineProperty(exports, "__esModule", { value: true }); /** * Returns a partial specific to creating a bundle for node * @param wco Options which are include the build options and app config */ function getServerConfig(wco) { const config = { devtool: wco.buildOptions.sourceMap ? 'source-map' : false, resolve: { mainFields: [ ...(wco.supportES2015 ? ['es2015'] : []), 'main', 'module', ], }, target: 'node', output: { libraryTarget: 'commonjs' }, node: false, }; if (wco.buildOptions.bundleDependencies == 'none') { config.externals = [ /^@angular/, (_, request, callback) => { // Absolute & Relative paths are not externals if (request.match(/^\.{0,2}\//)) { return callback(); } try { // Attempt to resolve the module via Node const e = require.resolve(request); if (/node_modules/.test(e)) { // It's a node_module callback(null, request); } else { // It's a system thing (.ie util, fs...) callback(); } } catch (_a) { // Node couldn't find it, so it must be user-aliased callback(); } } ]; } return config; } exports.getServerConfig = getServerConfig; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJwYWNrYWdlcy9mYXJyaXNfZGV2a2l0L2J1aWxkX2FuZ3VsYXIvc3JjL2FuZ3VsYXItY2xpLWZpbGVzL21vZGVscy93ZWJwYWNrLWNvbmZpZ3Mvc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7QUFDSCxpQkFBaUI7QUFDakIsK0RBQStEOztBQUkvRDs7O0dBR0c7QUFDSCx5QkFBZ0MsR0FBeUI7SUFFdkQsTUFBTSxNQUFNLEdBQVE7UUFDbEIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUs7UUFDMUQsT0FBTyxFQUFFO1lBQ1AsVUFBVSxFQUFFO2dCQUNWLEdBQUcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sRUFBRSxRQUFRO2FBQ2pCO1NBQ0Y7UUFDRCxNQUFNLEVBQUUsTUFBTTtRQUNkLE1BQU0sRUFBRTtZQUNOLGFBQWEsRUFBRSxVQUFVO1NBQzFCO1FBQ0QsSUFBSSxFQUFFLEtBQUs7S0FDWixDQUFDO0lBRUYsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sQ0FBQyxTQUFTLEdBQUc7WUFDakIsV0FBVztZQUNYLENBQUMsQ0FBTSxFQUFFLE9BQVksRUFBRSxRQUE2QyxFQUFFLEVBQUU7Z0JBQ3RFLDhDQUE4QztnQkFDOUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2hDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDcEIsQ0FBQztnQkFFRCxJQUFJLENBQUM7b0JBQ0gseUNBQXlDO29CQUN6QyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNuQyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDM0IscUJBQXFCO3dCQUNyQixRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUMxQixDQUFDO29CQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNOLHdDQUF3Qzt3QkFDeEMsUUFBUSxFQUFFLENBQUM7b0JBQ2IsQ0FBQztnQkFDSCxDQUFDO2dCQUFDLEtBQUssQ0FBQyxDQUFDLElBQUQsQ0FBQztvQkFDUCxvREFBb0Q7b0JBQ3BELFFBQVEsRUFBRSxDQUFDO2dCQUNiLENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUE3Q0QsMENBNkNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuLy8gdHNsaW50OmRpc2FibGVcbi8vIFRPRE86IGNsZWFudXAgdGhpcyBmaWxlLCBpdCdzIGNvcGllZCBhcyBpcyBmcm9tIEFuZ3VsYXIgQ0xJLlxuXG5pbXBvcnQgeyBXZWJwYWNrQ29uZmlnT3B0aW9ucyB9IGZyb20gJy4uL2J1aWxkLW9wdGlvbnMnO1xuXG4vKipcbiAqIFJldHVybnMgYSBwYXJ0aWFsIHNwZWNpZmljIHRvIGNyZWF0aW5nIGEgYnVuZGxlIGZvciBub2RlXG4gKiBAcGFyYW0gd2NvIE9wdGlvbnMgd2hpY2ggYXJlIGluY2x1ZGUgdGhlIGJ1aWxkIG9wdGlvbnMgYW5kIGFwcCBjb25maWdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNlcnZlckNvbmZpZyh3Y286IFdlYnBhY2tDb25maWdPcHRpb25zKSB7XG5cbiAgY29uc3QgY29uZmlnOiBhbnkgPSB7XG4gICAgZGV2dG9vbDogd2NvLmJ1aWxkT3B0aW9ucy5zb3VyY2VNYXAgPyAnc291cmNlLW1hcCcgOiBmYWxzZSxcbiAgICByZXNvbHZlOiB7XG4gICAgICBtYWluRmllbGRzOiBbXG4gICAgICAgIC4uLih3Y28uc3VwcG9ydEVTMjAxNSA/IFsnZXMyMDE1J10gOiBbXSksXG4gICAgICAgICdtYWluJywgJ21vZHVsZScsXG4gICAgICBdLFxuICAgIH0sXG4gICAgdGFyZ2V0OiAnbm9kZScsXG4gICAgb3V0cHV0OiB7XG4gICAgICBsaWJyYXJ5VGFyZ2V0OiAnY29tbW9uanMnXG4gICAgfSxcbiAgICBub2RlOiBmYWxzZSxcbiAgfTtcblxuICBpZiAod2NvLmJ1aWxkT3B0aW9ucy5idW5kbGVEZXBlbmRlbmNpZXMgPT0gJ25vbmUnKSB7XG4gICAgY29uZmlnLmV4dGVybmFscyA9IFtcbiAgICAgIC9eQGFuZ3VsYXIvLFxuICAgICAgKF86IGFueSwgcmVxdWVzdDogYW55LCBjYWxsYmFjazogKGVycm9yPzogYW55LCByZXN1bHQ/OiBhbnkpID0+IHZvaWQpID0+IHtcbiAgICAgICAgLy8gQWJzb2x1dGUgJiBSZWxhdGl2ZSBwYXRocyBhcmUgbm90IGV4dGVybmFsc1xuICAgICAgICBpZiAocmVxdWVzdC5tYXRjaCgvXlxcLnswLDJ9XFwvLykpIHtcbiAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gQXR0ZW1wdCB0byByZXNvbHZlIHRoZSBtb2R1bGUgdmlhIE5vZGVcbiAgICAgICAgICBjb25zdCBlID0gcmVxdWlyZS5yZXNvbHZlKHJlcXVlc3QpO1xuICAgICAgICAgIGlmICgvbm9kZV9tb2R1bGVzLy50ZXN0KGUpKSB7XG4gICAgICAgICAgICAvLyBJdCdzIGEgbm9kZV9tb2R1bGVcbiAgICAgICAgICAgIGNhbGxiYWNrKG51bGwsIHJlcXVlc3QpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBJdCdzIGEgc3lzdGVtIHRoaW5nICguaWUgdXRpbCwgZnMuLi4pXG4gICAgICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLy8gTm9kZSBjb3VsZG4ndCBmaW5kIGl0LCBzbyBpdCBtdXN0IGJlIHVzZXItYWxpYXNlZFxuICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBdO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cbiJdfQ==