Path: blob/main/build/azure-pipelines/distro/mixin-npm.js
3520 views
"use strict";1var __importDefault = (this && this.__importDefault) || function (mod) {2return (mod && mod.__esModule) ? mod : { "default": mod };3};4Object.defineProperty(exports, "__esModule", { value: true });5/*---------------------------------------------------------------------------------------------6* Copyright (c) Microsoft Corporation. All rights reserved.7* Licensed under the MIT License. See License.txt in the project root for license information.8*--------------------------------------------------------------------------------------------*/9const fs_1 = __importDefault(require("fs"));10const path_1 = __importDefault(require("path"));11const { dirs } = require('../../npm/dirs');12function log(...args) {13console.log(`[${new Date().toLocaleTimeString('en', { hour12: false })}]`, '[distro]', ...args);14}15function mixin(mixinPath) {16if (!fs_1.default.existsSync(`${mixinPath}/node_modules`)) {17log(`Skipping distro npm dependencies: ${mixinPath} (no node_modules)`);18return;19}20log(`Mixing in distro npm dependencies: ${mixinPath}`);21const distroPackageJson = JSON.parse(fs_1.default.readFileSync(`${mixinPath}/package.json`, 'utf8'));22const targetPath = path_1.default.relative('.build/distro/npm', mixinPath);23for (const dependency of Object.keys(distroPackageJson.dependencies)) {24fs_1.default.rmSync(`./${targetPath}/node_modules/${dependency}`, { recursive: true, force: true });25fs_1.default.cpSync(`${mixinPath}/node_modules/${dependency}`, `./${targetPath}/node_modules/${dependency}`, { recursive: true, force: true, dereference: true });26}27log(`Mixed in distro npm dependencies: ${mixinPath} ✔︎`);28}29function main() {30log(`Mixing in distro npm dependencies...`);31const mixinPaths = dirs.filter(d => /^.build\/distro\/npm/.test(d));32for (const mixinPath of mixinPaths) {33mixin(mixinPath);34}35}36main();37//# sourceMappingURL=mixin-npm.js.map3839