@yolkai/nx-workspace
Version:
44 lines (43 loc) • 1.79 kB
JavaScript
;
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;