UNPKG

@angular-buildx/esbuild

Version:

A custom Angular CLI builder for extending Esbuild configuration in Angular projects.

29 lines (28 loc) 1.33 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.pluginSnapshot = pluginSnapshot; const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); const util_1 = __importDefault(require("util")); function pluginSnapshot(options) { return { name: "plugin-snapshot", setup(build) { if (!options.enable) return; const snapshotDirectory = path_1.default.join(process.cwd(), ".esbuild"); const fileConfigMergedPath = path_1.default.join(snapshotDirectory, "esbuild.merged.snapshot"); if (!fs_1.default.existsSync(snapshotDirectory)) { fs_1.default.mkdirSync(snapshotDirectory); } const configString = (config) => util_1.default.inspect(config, { depth: Infinity, compact: false }); fs_1.default.writeFileSync(path_1.default.join(snapshotDirectory, "esbuild.original.snapshot"), `${configString(build.initialOptions)}`); build.onEnd(() => { fs_1.default.writeFileSync(fileConfigMergedPath, `${configString(build.initialOptions)}`); }); }, }; }