Skip to content

Commit

Permalink
feat: implement default target name
Browse files Browse the repository at this point in the history
  • Loading branch information
BioPhoton committed Jun 7, 2023
1 parent 7ffbb89 commit 9519f2d
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 6 deletions.
1 change: 1 addition & 0 deletions packages/nx-plugin/src/generators/constants.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const DEFAULT_TARGET_NAME = "user-flow";
7 changes: 6 additions & 1 deletion packages/nx-plugin/src/generators/target/generator.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,19 @@ describe('target generator', () => {

it('should run successfully', async () => {
const config = readProjectConfiguration(appTree, 'generator-test');

let projectJson = readJson(appTree, join(normalizedOptions.projectRoot, 'project.json'));
expect(projectJson?.targets['user-flow']).toBeUndefined();
await generator(appTree, baseOptions);
projectJson = readJson(appTree, join(normalizedOptions.projectRoot, 'project.json'));
expect(config).toBeDefined();
expect(projectJson?.targets['user-flow']).toBeDefined();
});

it('should add user-flow target to project.json', async () => {
const options = {...baseOptions, targetName: 'e2e-test'};
await generator(appTree, options);
const packageJson = readJson(appTree, join(normalizedOptions.projectRoot, 'project.json'),);
const packageJson = readJson(appTree, join(normalizedOptions.projectRoot, 'project.json'));
expect(packageJson.targets[options.targetName].executor).toBe('@push-based/user-flow-nx-plugin:user-flow');
});

Expand Down
4 changes: 3 additions & 1 deletion packages/nx-plugin/src/generators/target/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,7 @@
"x-prompt": "What URL you want to target?"
}
},
"required": ["targetName", "projectName"]
"required": [
"projectName"
]
}
10 changes: 6 additions & 4 deletions packages/nx-plugin/src/generators/target/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import {getWorkspaceLayout, logger, readJson, Tree, updateJson, writeJson} from
import {TargetGeneratorSchema} from "./schema";
import {join} from "path";
import {NormalizedSchema} from "./types";
import {DEFAULT_TARGET_NAME} from "../constants";

export function normalizeOptions(tree: Tree, options?: TargetGeneratorSchema): NormalizedSchema {

Expand Down Expand Up @@ -35,12 +36,13 @@ export function setupUserFlow(tree: Tree, cfg: NormalizedSchema): void {

export function addTarget(tree: Tree, cfg: NormalizedSchema) {
const {projectName, targetName, projectRoot, url} = cfg;
logger.log(`Adding target ${targetName} to project ${projectName}`);
const parsedTargetName = targetName || DEFAULT_TARGET_NAME;
logger.log(`Adding target ${parsedTargetName} to project ${projectName}`);
updateJson(tree, join(projectRoot, 'project.json'), (json) => {
if (json.targets[targetName] !== undefined) {
throw new Error(`Target ${targetName} already exists`)
if (json.targets[parsedTargetName] !== undefined) {
throw new Error(`Target ${parsedTargetName} already exists`)
}
json.targets[targetName] = {
json.targets[parsedTargetName] = {
"executor": "@push-based/user-flow-nx-plugin:user-flow",
"outputs": ["{options.outputPath}"],
"options": {
Expand Down

0 comments on commit 9519f2d

Please sign in to comment.