fix(js): generate ts standalone project with better import path (#18197)

This commit is contained in:
Jack Hsu 2023-07-25 16:35:29 -04:00 committed by GitHub
parent 54dcc0f8be
commit 810b584c33
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 33 additions and 6 deletions

View File

@ -79,7 +79,7 @@ describe('Storybook generators and executors for standalone workspaces - using R
writeFileSync(
tmpProjPath(`src/app/test-button.tsx`),
`
import { MyLib } from '@${appName}/my-lib';
import { MyLib } from 'my-lib';
export function TestButton() {
return (

View File

@ -383,6 +383,33 @@ describe('lib', () => {
expect.assertions(1);
});
it('should provide a default import path using npm scope', async () => {
await libraryGenerator(tree, {
...defaultOptions,
name: 'myLib',
});
const tsconfigJson = readJson(tree, '/tsconfig.base.json');
expect(
tsconfigJson.compilerOptions.paths['@proj/my-lib']
).toBeDefined();
});
it('should read import path from existing name in package.json', async () => {
updateJson(tree, 'package.json', (json) => {
json.name = '@acme/core';
return json;
});
await libraryGenerator(tree, {
...defaultOptions,
rootProject: true,
name: 'myLib',
});
const tsconfigJson = readJson(tree, '/tsconfig.base.json');
expect(tsconfigJson.compilerOptions.paths['@acme/core']).toBeDefined();
});
});
describe('--pascalCaseFiles', () => {

View File

@ -12,6 +12,7 @@ import {
names,
offsetFromRoot,
ProjectConfiguration,
readJson,
runTasksInSerial,
toJS,
Tree,
@ -35,8 +36,6 @@ import {
swcHelpersVersion,
tsLibVersion,
typesNodeVersion,
swcNodeVersion,
swcCoreVersion,
} from '../../utils/versions';
import jsInitGenerator from '../init/init';
import { type PackageJson } from 'nx/src/utils/package-json';
@ -539,8 +538,9 @@ function normalizeOptions(
? options.tags.split(',').map((s) => s.trim())
: [];
const importPath =
options.importPath || getImportPath(tree, projectDirectory);
const importPath = options.rootProject
? readJson(tree, 'package.json').name ?? getImportPath(tree, 'core')
: options.importPath || getImportPath(tree, projectDirectory);
options.minimal ??= false;

View File

@ -1,5 +1,5 @@
{
"name": "@<%= formattedNames.fileName %>/source",
"name": "<%= formattedNames.fileName %>",
"version": "0.0.0",
"license": "MIT",
"scripts": {