/
websites
/
test-project
/
node_modules
/
@angular-devkit
/
core
/
node
/
testing
/
Upload File
HOME
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TempScopedNodeJsSyncHost = void 0; /** * @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 */ const fs = require("fs"); const os = require("os"); const path = require("path"); const src_1 = require("../../src"); const host_1 = require("../host"); /** * A Sync Scoped Host that creates a temporary directory and scope to it. */ class TempScopedNodeJsSyncHost extends src_1.virtualFs.ScopedHost { constructor() { const root = src_1.normalize(path.join(os.tmpdir(), `devkit-host-${+Date.now()}-${process.pid}`)); fs.mkdirSync(src_1.getSystemPath(root)); super(new host_1.NodeJsSyncHost(), root); this._root = root; } get files() { const sync = this.sync; function _visit(p) { return sync.list(p) .map((fragment) => src_1.join(p, fragment)) .reduce((files, path) => { if (sync.isDirectory(path)) { return files.concat(_visit(path)); } else { return files.concat(path); } }, []); } return _visit(src_1.normalize('/')); } get root() { return this._root; } get sync() { if (!this._sync) { this._sync = new src_1.virtualFs.SyncDelegateHost(this); } return this._sync; } } exports.TempScopedNodeJsSyncHost = TempScopedNodeJsSyncHost;