Skip to content

Commit fbf8d9c

Browse files
authoredApr 27, 2023
feat(js): adding simpleName option to library generator (#16025)
1 parent 43a7d77 commit fbf8d9c

File tree

5 files changed

+28
-3
lines changed

5 files changed

+28
-3
lines changed
 

‎docs/generated/packages/js/generators/library.json

+5
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,11 @@
127127
"type": "boolean",
128128
"description": "Generate a library with a minimal setup. No README.md generated.",
129129
"default": false
130+
},
131+
"simpleName": {
132+
"description": "Don't include the directory in the generated file name.",
133+
"type": "boolean",
134+
"default": false
130135
}
131136
},
132137
"required": ["name"],

‎packages/js/src/generators/library/library.spec.ts

+16-1
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,6 @@ describe('lib', () => {
183183
name: 'myLib2',
184184
directory: 'myDir',
185185
tags: 'one,two',
186-
simpleModuleName: true,
187186
});
188187
projects = Object.fromEntries(getProjects(tree));
189188
expect(projects).toMatchObject({
@@ -1147,4 +1146,20 @@ describe('lib', () => {
11471146
expect(project.targets.build.options.assets).toEqual([]);
11481147
});
11491148
});
1149+
1150+
describe('--simpleName', () => {
1151+
it('should generate a simple name', async () => {
1152+
await libraryGenerator(tree, {
1153+
...defaultOptions,
1154+
name: 'myLib',
1155+
simpleName: true,
1156+
directory: 'web',
1157+
});
1158+
1159+
expect(tree.read('libs/web/my-lib/src/index.ts', 'utf-8')).toContain(
1160+
`export * from './lib/my-lib';`
1161+
);
1162+
expect(tree.exists('libs/web/my-lib/src/lib/my-lib.ts')).toBeTruthy();
1163+
});
1164+
});
11501165
});

‎packages/js/src/generators/library/library.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ function normalizeOptions(
487487
? name
488488
: projectDirectory.replace(new RegExp('/', 'g'), '-');
489489
const fileName = getCaseAwareFileName({
490-
fileName: options.simpleModuleName ? name : projectName,
490+
fileName: options.simpleName ? name : projectName,
491491
pascalCaseFiles: options.pascalCaseFiles,
492492
});
493493

‎packages/js/src/generators/library/schema.json

+5
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,11 @@
127127
"type": "boolean",
128128
"description": "Generate a library with a minimal setup. No README.md generated.",
129129
"default": false
130+
},
131+
"simpleName": {
132+
"description": "Don't include the directory in the generated file name.",
133+
"type": "boolean",
134+
"default": false
130135
}
131136
},
132137
"required": ["name"],

‎packages/js/src/utils/schema.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ export interface LibraryGeneratorSchema {
1111
directory?: string;
1212
skipFormat?: boolean;
1313
tags?: string;
14-
simpleModuleName?: boolean;
1514
skipTsConfig?: boolean;
1615
includeBabelRc?: boolean;
1716
unitTestRunner?: 'jest' | 'vitest' | 'none';
@@ -30,6 +29,7 @@ export interface LibraryGeneratorSchema {
3029
skipTypeCheck?: boolean;
3130
minimal?: boolean;
3231
rootProject?: boolean;
32+
simpleName?: boolean;
3333
}
3434

3535
export interface ExecutorOptions {

1 commit comments

Comments
 (1)

vercel[bot] commented on Apr 27, 2023

@vercel[bot]

Successfully deployed to the following URLs:

nx-dev – ./

nx-dev-git-master-nrwl.vercel.app
nx-dev-nrwl.vercel.app
nx-five.vercel.app
nx.dev

Please sign in to comment.