Skip to content

Commit d5642f7

Browse files
committed
✨ configure node test runner for TS
1 parent 7568064 commit d5642f7

File tree

2 files changed

+31
-4
lines changed

2 files changed

+31
-4
lines changed

packages/create-configs/src/build.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ export async function build({
5757

5858
await Promise.all(
5959
[
60-
technologies.includes('vs-code') ? create_vscode_config(options) : null,
60+
technologies.includes('vs-code')
61+
? create_vscode_config(options).then(merge_deps(deps))
62+
: null,
6163

6264
create_gitignore(options),
6365

packages/create-configs/src/steps/editor.ts

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@ import json5 from 'json5';
33
import { stripIndent } from 'common-tags';
44
import { CodeStyleSetupOptions } from '@code-style/code-style/config-types';
55

6-
import { create_file, prettify, verify_missing } from '../utils.js';
6+
import {
7+
Dependencies,
8+
create_file,
9+
prettify,
10+
verify_missing,
11+
} from '../utils.js';
712

813
export interface LaunchJson {
914
configurations?: LaunchConfiguration[];
@@ -29,7 +34,9 @@ export async function create_vscode_config({
2934
technologies,
3035
output_dir,
3136
overwrite = false,
32-
}: CreateVSCodeConfigOptions) {
37+
}: CreateVSCodeConfigOptions): Promise<Dependencies | undefined> {
38+
const deps = new Dependencies();
39+
3340
await mkdir('.vscode/').catch(() => {});
3441

3542
await Promise.allSettled([
@@ -80,7 +87,23 @@ export async function create_vscode_config({
8087
'typescript.format.enable': false,
8188
'javascript.format.enable': false,
8289

83-
'typescript.tsdk': './node_modules/typescript/lib',
90+
'typescript.tsdk': `./node_modules/${deps.d.depend('typescript')}/lib`,
91+
92+
...(languages.includes('ts') &&
93+
technologies.includes('jest')
94+
? {}
95+
: {
96+
'nodejs-testing.extensions': [
97+
{
98+
extensions: ['mjs', 'cjs', 'js'],
99+
parameters: [],
100+
},
101+
{
102+
extensions: ['mts', 'cts', 'ts'],
103+
parameters: [`--import=${deps.d.depend('tsx')}`],
104+
},
105+
],
106+
}),
84107
}
85108
: {}),
86109
...(languages.includes('rb')
@@ -188,4 +211,6 @@ export async function create_vscode_config({
188211
);
189212
}),
190213
]);
214+
215+
return deps;
191216
}

0 commit comments

Comments
 (0)