Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
privatenumber committed May 9, 2024
1 parent 4894124 commit df121f8
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 46 deletions.
46 changes: 0 additions & 46 deletions tests/specs/parse-tsconfig/extends/merges.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -254,52 +254,6 @@ export default testSuite(({ describe }) => {
include: tsconfig.include?.map(includePath => `symlink/../${includePath}`),
}).toStrictEqual(expectedTsconfig);
});

// https://github.com/privatenumber/get-tsconfig/issues/76
test('supports config files in a monorepo', async () => {
await using fixture = await createFixture({
packages: {
tsconfig: {
'tsconfig.base.json': createTsconfigJson({
compilerOptions: {
module: 'commonjs',
},
}),
},
library: {
src: {
'a.ts': '',
'b.ts': '',
'c.ts': '',
},
'tsconfig.json': createTsconfigJson({
extends: '@monorepo/tsconfig/tsconfig.base.json',
include: ['src'],
}),
},
},
});

await fs.mkdir(path.join(fixture.path, 'node_modules', '@monorepo'), { recursive: true });
await fs.symlink(
fixture.getPath('packages/tsconfig'),
fixture.getPath('node_modules/@monorepo/tsconfig'),
'junction',
);

const originalCwd = process.cwd();
try {
process.chdir(fixture.getPath('packages/library'));
const expectedTsconfig = await getTscTsconfig('.');
delete expectedTsconfig.files;

const tsconfig = parseTsconfig('./tsconfig.json');

expect(tsconfig).toStrictEqual(expectedTsconfig);
} finally {
process.chdir(originalCwd);
}
});
});

describe('baseUrl', ({ test }) => {
Expand Down
38 changes: 38 additions & 0 deletions tests/specs/parse-tsconfig/extends/resolves/node-modules.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,44 @@ export default testSuite(({ describe }) => {
expect(tsconfig).toStrictEqual(expectedTsconfig);
});

// https://github.com/privatenumber/get-tsconfig/issues/76
test('resolves config in parent node_modules', async () => {
await using fixture = await createFixture({
library: {
src: {
'a.ts': '',
'b.ts': '',
'c.ts': '',
},
'tsconfig.json': createTsconfigJson({
extends: '@monorepo/tsconfig/tsconfig.base.json',
include: ['src'],
}),
},

'node_modules/@monorepo/tsconfig': {
'tsconfig.base.json': createTsconfigJson({
compilerOptions: {
module: 'commonjs',
},
}),
},
});

const originalCwd = process.cwd();
try {
process.chdir(fixture.getPath('library'));
const expectedTsconfig = await getTscTsconfig('.');
delete expectedTsconfig.files;

const tsconfig = parseTsconfig('./tsconfig.json');

expect(tsconfig).toStrictEqual(expectedTsconfig);
} finally {
process.chdir(originalCwd);
}
});

describe('package.json#tsconfig', ({ test }) => {
test('package.json#tsconfig', async () => {
await using fixture = await createFixture({
Expand Down

0 comments on commit df121f8

Please sign in to comment.