From 7f381b64ea0b5aaf2ca31ee54b3d4e24125b8778 Mon Sep 17 00:00:00 2001 From: jycouet Date: Sat, 8 Mar 2025 10:00:25 +0100 Subject: [PATCH 1/3] deps: replace pascal-case with change-case (maintained & lighter) --- packages/svelte2tsx/package.json | 2 +- packages/svelte2tsx/rollup.config.mjs | 2 +- .../src/svelte2tsx/addComponentExport.ts | 4 +-- pnpm-lock.yaml | 34 +++++-------------- 4 files changed, 12 insertions(+), 30 deletions(-) diff --git a/packages/svelte2tsx/package.json b/packages/svelte2tsx/package.json index 376e6ac33..98d835e43 100644 --- a/packages/svelte2tsx/package.json +++ b/packages/svelte2tsx/package.json @@ -66,6 +66,6 @@ ], "dependencies": { "dedent-js": "^1.0.1", - "pascal-case": "^3.1.1" + "change-case": "^5.4.4" } } diff --git a/packages/svelte2tsx/rollup.config.mjs b/packages/svelte2tsx/rollup.config.mjs index ccd67376d..40dd7d67a 100644 --- a/packages/svelte2tsx/rollup.config.mjs +++ b/packages/svelte2tsx/rollup.config.mjs @@ -107,7 +107,7 @@ export default [ 'svelte', 'svelte/compiler', 'dedent-js', - 'pascal-case' + 'change-case' ] } ]; diff --git a/packages/svelte2tsx/src/svelte2tsx/addComponentExport.ts b/packages/svelte2tsx/src/svelte2tsx/addComponentExport.ts index 9e9454773..c5508d131 100644 --- a/packages/svelte2tsx/src/svelte2tsx/addComponentExport.ts +++ b/packages/svelte2tsx/src/svelte2tsx/addComponentExport.ts @@ -1,4 +1,4 @@ -import { pascalCase } from 'pascal-case'; +import { pascalCase } from 'change-case'; import path from 'path'; import MagicString from 'magic-string'; import { ExportedNames } from './nodes/ExportedNames'; @@ -356,7 +356,7 @@ function classNameFromFilename(filename: string, appendSuffix: boolean): string const withoutExtensions = path.parse(filename).name?.split('.')[0]; const withoutInvalidCharacters = withoutExtensions .split('') - // Although "-" is invalid, we leave it in, pascal-case-handling will throw it out later + // Although "-" is invalid, we leave it in, change-case-handling (pascalCase) will throw it out later .filter((char) => /[A-Za-z$_\d-]/.test(char)) .join(''); const firstValidCharIdx = withoutInvalidCharacters diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 905264a94..be35f42d6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -225,12 +225,12 @@ importers: packages/svelte2tsx: dependencies: + change-case: + specifier: ^5.4.4 + version: 5.4.4 dedent-js: specifier: ^1.0.1 version: 1.0.1 - pascal-case: - specifier: ^3.1.1 - version: 3.1.2 devDependencies: '@jridgewell/sourcemap-codec': specifier: ^1.5.0 @@ -625,6 +625,9 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + change-case@5.4.4: + resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} + chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} @@ -971,9 +974,6 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} - lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -1036,9 +1036,6 @@ packages: nise@5.1.4: resolution: {integrity: sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==} - no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -1058,9 +1055,6 @@ packages: resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} engines: {node: '>=8'} - pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} - path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -1691,6 +1685,8 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 + change-case@5.4.4: {} + chokidar@3.5.3: dependencies: anymatch: 3.1.3 @@ -2023,10 +2019,6 @@ snapshots: chalk: 4.1.2 is-unicode-supported: 0.1.0 - lower-case@2.0.2: - dependencies: - tslib: 2.5.2 - lru-cache@6.0.0: dependencies: yallist: 4.0.0 @@ -2109,11 +2101,6 @@ snapshots: just-extend: 4.2.1 path-to-regexp: 1.8.0 - no-case@3.0.4: - dependencies: - lower-case: 2.0.2 - tslib: 2.5.2 - normalize-path@3.0.0: {} once@1.4.0: @@ -2132,11 +2119,6 @@ snapshots: dependencies: aggregate-error: 3.1.0 - pascal-case@3.1.2: - dependencies: - no-case: 3.0.4 - tslib: 2.5.2 - path-exists@4.0.0: {} path-is-absolute@1.0.1: {} From 204ebb9d09d64188f5bfb158415dc15ee0f07cdf Mon Sep 17 00:00:00 2001 From: jycouet Date: Sat, 8 Mar 2025 13:50:25 +0100 Subject: [PATCH 2/3] re-trigger --- .../src/svelte2tsx/addComponentExport.ts | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/packages/svelte2tsx/src/svelte2tsx/addComponentExport.ts b/packages/svelte2tsx/src/svelte2tsx/addComponentExport.ts index c5508d131..295e0520b 100644 --- a/packages/svelte2tsx/src/svelte2tsx/addComponentExport.ts +++ b/packages/svelte2tsx/src/svelte2tsx/addComponentExport.ts @@ -142,8 +142,7 @@ class __sveltets_Render${genericsDef} { `export type ${PropsName}${genericsDef} = ${returnType('props')};\n` + `export type ${EventsName}${genericsDef} = ${returnType('events')};\n` + `export type ${SlotsName}${genericsDef} = ${returnType('slots')};\n` + - `\n${doc}export default class${ - className ? ` ${className}` : '' + `\n${doc}export default class${className ? ` ${className}` : '' }${genericsDef} extends ${svelteComponentClass}<${PropsName}${genericsRef}, ${EventsName}${genericsRef}, ${SlotsName}${genericsRef}> {` + exportedNames.createClassGetters(genericsRef) + (usesAccessors ? exportedNames.createClassAccessors() : '') + @@ -151,8 +150,7 @@ class __sveltets_Render${genericsDef} { } else { statement += `\n\nimport { ${svelteComponentClass} as __SvelteComponentTyped__ } from "svelte" \n` + - `${doc}export default class${ - className ? ` ${className}` : '' + `${doc}export default class${className ? ` ${className}` : '' }${genericsDef} extends __SvelteComponentTyped__<${returnType('props')}, ${returnType( 'events' )}, ${returnType('slots')}> {` + @@ -236,8 +234,7 @@ declare function $$__sveltets_2_isomorphic_component< PropsExport + EventsExport + SlotsExport + - `\n${doc}export default class${ - className ? ` ${className}` : '' + `\n${doc}export default class${className ? ` ${className}` : '' } extends ${svelteComponentClass}<${PropsName}, ${EventsName}, ${SlotsName}> {` + exportedNames.createClassGetters() + (usesAccessors ? exportedNames.createClassAccessors() : '') + @@ -248,8 +245,7 @@ declare function $$__sveltets_2_isomorphic_component< `/** @typedef {typeof __propDef.props} ${className}Props */\n` + `/** @typedef {typeof __propDef.events} ${className}Events */\n` + `/** @typedef {typeof __propDef.slots} ${className}Slots */\n` + - `\n${doc}export default class${ - className ? ` ${className}` : '' + `\n${doc}export default class${className ? ` ${className}` : '' } extends __sveltets_2_createSvelte2TsxComponent(${propDef}) {` + exportedNames.createClassGetters() + (usesAccessors ? exportedNames.createClassAccessors() : '') + @@ -272,8 +268,7 @@ declare function $$__sveltets_2_isomorphic_component< } } else { statement = - `\n\n${doc}export default class${ - className ? ` ${className}` : '' + `\n\n${doc}export default class${className ? ` ${className}` : '' } extends __sveltets_2_createSvelte2TsxComponent(${propDef}) {` + exportedNames.createClassGetters() + (usesAccessors ? exportedNames.createClassAccessors() : '') + @@ -356,7 +351,7 @@ function classNameFromFilename(filename: string, appendSuffix: boolean): string const withoutExtensions = path.parse(filename).name?.split('.')[0]; const withoutInvalidCharacters = withoutExtensions .split('') - // Although "-" is invalid, we leave it in, change-case-handling (pascalCase) will throw it out later + // Although "-" is invalid, we leave it in, change-case-handling will throw it out later .filter((char) => /[A-Za-z$_\d-]/.test(char)) .join(''); const firstValidCharIdx = withoutInvalidCharacters From f13190e870bcbfe8a20d48660e0ba56c04e83ad6 Mon Sep 17 00:00:00 2001 From: jycouet Date: Mon, 10 Mar 2025 10:57:44 +0100 Subject: [PATCH 3/3] linting --- .../src/svelte2tsx/addComponentExport.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/svelte2tsx/src/svelte2tsx/addComponentExport.ts b/packages/svelte2tsx/src/svelte2tsx/addComponentExport.ts index 295e0520b..92f26b4c7 100644 --- a/packages/svelte2tsx/src/svelte2tsx/addComponentExport.ts +++ b/packages/svelte2tsx/src/svelte2tsx/addComponentExport.ts @@ -142,7 +142,8 @@ class __sveltets_Render${genericsDef} { `export type ${PropsName}${genericsDef} = ${returnType('props')};\n` + `export type ${EventsName}${genericsDef} = ${returnType('events')};\n` + `export type ${SlotsName}${genericsDef} = ${returnType('slots')};\n` + - `\n${doc}export default class${className ? ` ${className}` : '' + `\n${doc}export default class${ + className ? ` ${className}` : '' }${genericsDef} extends ${svelteComponentClass}<${PropsName}${genericsRef}, ${EventsName}${genericsRef}, ${SlotsName}${genericsRef}> {` + exportedNames.createClassGetters(genericsRef) + (usesAccessors ? exportedNames.createClassAccessors() : '') + @@ -150,7 +151,8 @@ class __sveltets_Render${genericsDef} { } else { statement += `\n\nimport { ${svelteComponentClass} as __SvelteComponentTyped__ } from "svelte" \n` + - `${doc}export default class${className ? ` ${className}` : '' + `${doc}export default class${ + className ? ` ${className}` : '' }${genericsDef} extends __SvelteComponentTyped__<${returnType('props')}, ${returnType( 'events' )}, ${returnType('slots')}> {` + @@ -234,7 +236,8 @@ declare function $$__sveltets_2_isomorphic_component< PropsExport + EventsExport + SlotsExport + - `\n${doc}export default class${className ? ` ${className}` : '' + `\n${doc}export default class${ + className ? ` ${className}` : '' } extends ${svelteComponentClass}<${PropsName}, ${EventsName}, ${SlotsName}> {` + exportedNames.createClassGetters() + (usesAccessors ? exportedNames.createClassAccessors() : '') + @@ -245,7 +248,8 @@ declare function $$__sveltets_2_isomorphic_component< `/** @typedef {typeof __propDef.props} ${className}Props */\n` + `/** @typedef {typeof __propDef.events} ${className}Events */\n` + `/** @typedef {typeof __propDef.slots} ${className}Slots */\n` + - `\n${doc}export default class${className ? ` ${className}` : '' + `\n${doc}export default class${ + className ? ` ${className}` : '' } extends __sveltets_2_createSvelte2TsxComponent(${propDef}) {` + exportedNames.createClassGetters() + (usesAccessors ? exportedNames.createClassAccessors() : '') + @@ -268,7 +272,8 @@ declare function $$__sveltets_2_isomorphic_component< } } else { statement = - `\n\n${doc}export default class${className ? ` ${className}` : '' + `\n\n${doc}export default class${ + className ? ` ${className}` : '' } extends __sveltets_2_createSvelte2TsxComponent(${propDef}) {` + exportedNames.createClassGetters() + (usesAccessors ? exportedNames.createClassAccessors() : '') +