Skip to content

Commit 3a4331f

Browse files
committed
Stuff
1 parent 40bcb86 commit 3a4331f

5 files changed

Lines changed: 21 additions & 11 deletions

File tree

.changeset/little-wolves-fry.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@skeletonlabs/skeleton-cli': patch
3+
---
4+
5+
Bugfix (migrate/skeleton-3): Renaming components no longer includes a bug that could cause invalid components to be produced in bigger components

.changeset/quiet-rabbits-sniff.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@skeletonlabs/skeleton-cli': patch
3+
---
4+
5+
Bugfix (migrate/skeleton-3): Empty strings no longer crash the `transformSvelte` function

packages/skeleton-cli/src/commands/migrate/migrations/skeleton-3/index.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import fg from 'fast-glob';
22
import { transformTailwindConfig } from './transformers/transform-tailwind-config.js';
33
import { transformPackage } from './transformers/transform-package.js';
44
import type { MigrateOptions } from '../../index.js';
5-
import { isCancel, multiselect, spinner } from '@clack/prompts';
5+
import { isCancel, log, multiselect, spinner } from '@clack/prompts';
66
import { cli } from '../../../../index.js';
77
import { extname } from 'node:path';
88
import { transformSvelte } from './transformers/transform-svelte.js';
@@ -62,7 +62,7 @@ export default async function (options: MigrateOptions) {
6262
const skeletonSvelteVersion = await getLatestVersion('@skeletonlabs/skeleton-svelte', { version: '>=1.0.0-0 <2.0.0' });
6363
const transformedPkg = transformPackage(pkgCode, skeletonVersion, skeletonSvelteVersion);
6464
await writeFile(pkg.paths[0], transformedPkg.code);
65-
packageSpinner.stop(`Successfully migrated ${pkg.matcher}`);
65+
packageSpinner.stop(`Successfully migrated ${pkg.matcher}!`);
6666
} catch (e) {
6767
if (e instanceof Error) {
6868
packageSpinner.stop(`Failed to migrate ${pkg.matcher}: ${e.message}`, 1);
@@ -81,7 +81,7 @@ export default async function (options: MigrateOptions) {
8181
const transformedTailwind = transformTailwindConfig(tailwindCode);
8282
theme = transformedTailwind.meta.themes.preset.at(0) ?? null;
8383
await writeFile(tailwindConfig.paths[0], transformedTailwind.code);
84-
tailwindSpinner.stop(`Successfully migrated ${tailwindConfig.matcher}`);
84+
tailwindSpinner.stop(`Successfully migrated ${tailwindConfig.matcher}!`);
8585
} catch (e) {
8686
if (e instanceof Error) {
8787
tailwindSpinner.stop(`Failed to migrate ${tailwindConfig.matcher}: ${e.message}`, 1);
@@ -97,7 +97,7 @@ export default async function (options: MigrateOptions) {
9797
const appCode = await readFile(app.paths[0], 'utf-8');
9898
const transformedApp = transformApp(appCode, theme ?? FALLBACK_THEME);
9999
await writeFile(app.paths[0], transformedApp.code);
100-
appSpinner.stop(`Successfully migrated ${app.matcher}`);
100+
appSpinner.stop(`Successfully migrated ${app.matcher}!`);
101101
} catch (e) {
102102
if (e instanceof Error) {
103103
appSpinner.stop(`Failed to migrate ${app.matcher}: ${e.message}`, 1);
@@ -128,7 +128,7 @@ export default async function (options: MigrateOptions) {
128128
const transformedModule = transformModule(moduleCode);
129129
await writeFile(sourceFile, transformedModule.code);
130130
}
131-
sourceFilesSpinner.message(`Successfully migrated ${sourceFile}`);
131+
sourceFilesSpinner.message(`Successfully migrated ${sourceFile}!!`);
132132
} catch (e) {
133133
if (e instanceof Error) {
134134
sourceFilesSpinner.stop(`Failed to migrate ${sourceFile}: ${e.message}`, 1);
@@ -138,20 +138,20 @@ export default async function (options: MigrateOptions) {
138138
cli.error('Cancelled migration due to error');
139139
}
140140
}
141-
sourceFilesSpinner.stop('Successfully migrated all source files');
141+
sourceFilesSpinner.stop('Successfully migrated all source files!');
142142

143143
const installDependenciesSpinner = spinner();
144144
installDependenciesSpinner.start('Installing dependencies...');
145145
try {
146146
await installDependencies(cwd);
147-
installDependenciesSpinner.stop('Successfully installed dependencies');
147+
installDependenciesSpinner.stop('Successfully installed dependencies!');
148148
} catch (e) {
149149
if (e instanceof Error) {
150150
installDependenciesSpinner.stop(`Failed to install dependencies: ${e.message}`);
151151
} else {
152152
installDependenciesSpinner.stop('Failed to install dependencies', 1);
153153
}
154154
cli.error('Cancelled migration due to error');
155-
156155
}
156+
log.info('Migration complete! Visit https://next.skeleton.dev/ to learn more about all the new features in Skeleton V3.');
157157
}

packages/skeleton-cli/src/commands/migrate/migrations/skeleton-3/transformers/transform-svelte.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ function renameComponent(s: MagicString, node: AST.Component, name: string) {
1010
const adjustedStart = node.start + 1;
1111
s.update(adjustedStart, adjustedStart + node.name.length, name);
1212
const componentString = s.original.slice(node.start, node.end);
13-
const indexOfNonSelfClosingTag = componentString.lastIndexOf('</', node.start);
13+
const indexOfNonSelfClosingTag = componentString.lastIndexOf('</');
1414
if (indexOfNonSelfClosingTag === -1 || node.start + indexOfNonSelfClosingTag > node.end) {
1515
return;
1616
}
@@ -46,7 +46,7 @@ function transformFragment(s: MagicString, fragment: AST.Fragment) {
4646
{
4747
Literal(node, ctx) {
4848
const parent = ctx.path.at(-1);
49-
if (typeof node.value === 'string' && !(parent && parent.type === 'ImportDeclaration') && hasRange(node)) {
49+
if (typeof node.value === 'string' && node.value !== '' && !(parent && parent.type === 'ImportDeclaration') && hasRange(node)) {
5050
// Add 1 to the start and subtract 1 from the end to exclude (and thus preserve) the quotes
5151
s.update(node.start + 1, node.end - 1, transformClasses(node.value).code);
5252
}

packages/skeleton-cli/src/utility/install-dependencies.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ async function installDependencies(cwd = process.cwd()) {
55
const pm = await detect({
66
cwd: cwd
77
});
8-
const resolvedCommand = resolveCommand(pm?.agent ?? 'npm', 'install', ['--force']);
8+
const resolvedCommand = resolveCommand(pm?.agent ?? 'npm', 'install', []);
99
if (!resolvedCommand) {
1010
throw new Error('Could not resolve package manager command.');
1111
}

0 commit comments

Comments
 (0)