Skip to content

Commit

Permalink
fix(js): generate ts standalone project with better import path (#18197)
Browse files Browse the repository at this point in the history
  • Loading branch information
jaysoo authored Jul 25, 2023
1 parent 54dcc0f commit 810b584
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 6 deletions.
2 changes: 1 addition & 1 deletion e2e/storybook/src/storybook-nested.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 (
Expand Down
27 changes: 27 additions & 0 deletions packages/js/src/generators/library/library.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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', () => {
Expand Down
8 changes: 4 additions & 4 deletions packages/js/src/generators/library/library.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import {
names,
offsetFromRoot,
ProjectConfiguration,
readJson,
runTasksInSerial,
toJS,
Tree,
Expand All @@ -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';
Expand Down Expand Up @@ -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;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "@<%= formattedNames.fileName %>/source",
"name": "<%= formattedNames.fileName %>",
"version": "0.0.0",
"license": "MIT",
"scripts": {
Expand Down

1 comment on commit 810b584

@vercel
Copy link

@vercel vercel bot commented on 810b584 Jul 25, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

nx-dev – ./

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

Please sign in to comment.