Skip to content

Commit eba02b2

Browse files
committed
fix: code review
1 parent 6de490e commit eba02b2

File tree

7 files changed

+27
-137
lines changed

7 files changed

+27
-137
lines changed

integration/cli/__snapshots__/npm-created.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
"icons/languages/ts.svg",
1818
"package-lock.json",
1919
"package.json",
20-
"pnpm-lock.yaml",
2120
"public",
2221
"public/favicon.svg",
2322
"public/logo-dark.svg",
@@ -51,6 +50,5 @@
5150
"src/templates/default/public/vite.svg",
5251
"src/templates/default/style.css",
5352
"tsconfig.json",
54-
"uno.config.ts",
55-
"yarn.lock"
53+
"uno.config.ts"
5654
]

integration/cli/__snapshots__/pnpm-created.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
"icons/languages/markdown.svg",
1616
"icons/languages/sass.svg",
1717
"icons/languages/ts.svg",
18-
"package-lock.json",
1918
"package.json",
2019
"pnpm-lock.yaml",
2120
"public",
@@ -51,6 +50,5 @@
5150
"src/templates/default/public/vite.svg",
5251
"src/templates/default/style.css",
5352
"tsconfig.json",
54-
"uno.config.ts",
55-
"yarn.lock"
53+
"uno.config.ts"
5654
]

integration/cli/__snapshots__/yarn-created.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@
1515
"icons/languages/markdown.svg",
1616
"icons/languages/sass.svg",
1717
"icons/languages/ts.svg",
18-
"package-lock.json",
1918
"package.json",
20-
"pnpm-lock.yaml",
2119
"public",
2220
"public/favicon.svg",
2321
"public/logo-dark.svg",

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"prepare": "is-ci || husky install",
88
"template:dev": "TUTORIALKIT_DEV=true pnpm run build && pnpm run --filter=tutorialkit-starter dev",
99
"template:build": "pnpm run build && pnpm run --filter=tutorialkit-starter build",
10+
"cli:update-template": "pnpm run --filter=tutorialkit update-template",
1011
"docs": "pnpm run --filter=tutorialkit.dev dev",
1112
"docs:build": "pnpm run --filter=tutorialkit.dev build",
1213
"demo": "pnpm run --filter=demo.tutorialkit.dev dev",

packages/cli/src/commands/create/dependencies.ts

Lines changed: 0 additions & 127 deletions
This file was deleted.

packages/cli/src/commands/create/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ async function _createTutorial(flags: CreateOptions): Promise<undefined> {
144144

145145
updatePackageJson(resolvedDest, tutorialName, flags);
146146

147-
const selectedPackageManager = await selectPackageManager(flags);
147+
const selectedPackageManager = await selectPackageManager(resolvedDest, flags);
148148

149149
updateReadme(resolvedDest, selectedPackageManager, flags);
150150

packages/cli/src/commands/create/package-manager.ts

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import fs from 'node:fs';
2+
import path from 'node:path';
13
import * as prompts from '@clack/prompts';
24
import chalk from 'chalk';
35
import { lookpath } from 'lookpath';
@@ -6,7 +8,27 @@ import { DEFAULT_VALUES, type CreateOptions } from './options.js';
68

79
export type PackageManager = 'npm' | 'yarn' | 'pnpm' | 'bun';
810

9-
export async function selectPackageManager(flags: CreateOptions) {
11+
const LOCK_FILES = new Map<PackageManager, string>([
12+
['npm', 'package-lock.json'],
13+
['pnpm', 'pnpm-lock.yaml'],
14+
['yarn', 'yarn.lock'],
15+
]);
16+
17+
export async function selectPackageManager(cwd: string, flags: CreateOptions) {
18+
const packageManager = await resolvePackageManager(flags);
19+
20+
// remove lock files for other package managers
21+
for (const [pkgManager, lockFile] of LOCK_FILES) {
22+
if (pkgManager !== packageManager) {
23+
console.log('Removing', path.join(cwd, lockFile));
24+
fs.rmSync(path.join(cwd, lockFile), { force: true });
25+
}
26+
}
27+
28+
return packageManager;
29+
}
30+
31+
async function resolvePackageManager(flags: CreateOptions) {
1032
if (flags.packageManager) {
1133
if (await lookpath(String(flags.packageManager))) {
1234
return flags.packageManager as PackageManager;

0 commit comments

Comments
 (0)