UNPKG

@yolkai/nx-workspace

Version:

Extensible Dev Tools for Monorepos

44 lines (43 loc) 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const path_1 = require("path"); const testing_1 = require("@angular-devkit/schematics/testing"); const name_utils_1 = require("./name-utils"); const workspace_1 = require("./workspace"); const testRunner = new testing_1.SchematicTestRunner('@yolkai/nx-workspace', path_1.join(__dirname, '../../collection.json')); const migrationTestRunner = new testing_1.SchematicTestRunner('@yolkai/nx-workspace/migrations', path_1.join(__dirname, '../../migrations.json')); function runSchematic(schematicName, options, tree) { return testRunner.runSchematicAsync(schematicName, options, tree).toPromise(); } exports.runSchematic = runSchematic; function callRule(rule, tree) { return testRunner.callRule(rule, tree).toPromise(); } exports.callRule = callRule; function runMigration(migrationName, options, tree) { return migrationTestRunner .runSchematicAsync(migrationName, options, tree) .toPromise(); } exports.runMigration = runMigration; function createLibWithTests(tree, libName, testBuilder, testSetupFile) { const { fileName } = name_utils_1.names(libName); tree.create(`/libs/${fileName}/src/index.ts`, `\n`); return callRule(workspace_1.updateWorkspace(workspace => { workspace.projects.add({ name: fileName, root: `libs/${fileName}`, projectType: 'library', sourceRoot: `libs/${fileName}/src`, architect: { test: { builder: testBuilder, options: { setupFile: `libs/${fileName}/src/${testSetupFile}` } } } }); }), tree); } exports.createLibWithTests = createLibWithTests;