Skip to content

Commit ad9558f

Browse files
committed
chore: migrate build system to Vite and update TS config
- Migrate `cyberstorm`, `cyberstorm-theme`, and `ts-uploader` to use Vite for building. - Update root `package.json` to exclude Vite-built packages from Preconstruct and add explicit build steps. - Switch `moduleResolution` to `bundler` across all packages. - Add root `tsconfig.json` with project references. - Update `types` fields in `package.json` for various packages. - Add `@babel/runtime` dependency to multiple packages.
1 parent 3859fea commit ad9558f

File tree

40 files changed

+683
-56
lines changed

40 files changed

+683
-56
lines changed

.pre-commit-config.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ repos:
1313
hooks:
1414
- id: prettier
1515
exclude_types: [markdown, yaml]
16+
additional_dependencies:
17+
- prettier@3.1.0
18+
- "@trivago/prettier-plugin-sort-imports@6.0.0"
1619
- repo: https://github.com/thibaudcolas/pre-commit-stylelint
1720
rev: v16.9.0
1821
hooks:

.prettierrc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,9 @@
1515
"tabWidth": 2,
1616
"trailingComma": "es5",
1717
"useTabs": false,
18-
"vueIndentScriptAndStyle": false
18+
"vueIndentScriptAndStyle": false,
19+
"plugins": ["@trivago/prettier-plugin-sort-imports"],
20+
"importOrder": ["<THIRD_PARTY_MODULES>", "^@thunderstore/(.*)$", "^[./]"],
21+
"importOrderSeparation": true,
22+
"importOrderSortSpecifiers": true
1923
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"root":["./react-router.config.ts","./vite.config.ts","./vitest.config.ts","./app/routes.ts","./app/commoncomponents/types.ts","./app/commoncomponents/markdown/sanitize.ts","./cyberstorm/security/publicenvvariables.ts","./cyberstorm/session/__tests__/sessioncontext.test.ts","./cyberstorm/utils/dapperclientloaders.ts","./cyberstorm/utils/permissions.ts","./cyberstorm/utils/searchparamsutils.ts","./cyberstorm/utils/semvercompare.ts","./cyberstorm/utils/sentry.ts","./cyberstorm/utils/typechecks.ts","./cyberstorm/utils/strongform/usestrongform.ts","./cyberstorm/utils/__tests__/permissions.test.ts","./cyberstorm/utils/__tests__/sentry.test.ts","./app/entry.client.tsx","./app/entry.server.tsx","./app/healthz.tsx","./app/root.tsx","./app/c/community.tsx","./app/c/tabs/packagesearch/packagesearch.tsx","./app/commoncomponents/checkboxlist/checkboxlist.tsx","./app/commoncomponents/codeboxhtml/codeboxhtml.tsx","./app/commoncomponents/collapsible/collapsible.tsx","./app/commoncomponents/collapsibletext/collapsibletext.tsx","./app/commoncomponents/connection/connection.tsx","./app/commoncomponents/copybutton/copybutton.tsx","./app/commoncomponents/footer/footer.tsx","./app/commoncomponents/listingdependency/listingdependency.tsx","./app/commoncomponents/loading/loading.tsx","./app/commoncomponents/markdown/markdown.tsx","./app/commoncomponents/navigation/navigation.tsx","./app/commoncomponents/navigation/navigationwrapper.tsx","./app/commoncomponents/notloggedin/notloggedin.tsx","./app/commoncomponents/packagesearch/packagesearch.tsx","./app/commoncomponents/packagesearch/components/packageorder.tsx","./app/commoncomponents/packagesearch/components/categorytagcloud/categorytagcloud.tsx","./app/commoncomponents/packagesearch/components/packagecount/packagecount.tsx","./app/commoncomponents/pageheader/pageheader.tsx","./app/commoncomponents/paginateddependencies/paginateddependencies.tsx","./app/commoncomponents/radiogroup/radiogroup.tsx","./app/commoncomponents/stalenessindicator/stalenessindicator.tsx","./app/communities/communities.tsx","./app/p/packageedit.tsx","./app/p/packagelisting.tsx","./app/p/packageversion.tsx","./app/p/packageversionwithoutcommunity.tsx","./app/p/components/reportpackage/reportpackagebutton.tsx","./app/p/components/reportpackage/reportpackageform.tsx","./app/p/components/reportpackage/reportpackagemodal.tsx","./app/p/components/reportpackage/reportpackagesubmitted.tsx","./app/p/components/reportpackage/usereportpackage.tsx","./app/p/components/teammembers/teammembers.tsx","./app/p/dependants/dependants.tsx","./app/p/tabs/changelog/changelog.tsx","./app/p/tabs/readme/packageversionreadme.tsx","./app/p/tabs/readme/packageversionwithoutcommunityreadme.tsx","./app/p/tabs/readme/readme.tsx","./app/p/tabs/required/packageversionrequired.tsx","./app/p/tabs/required/packageversionwithoutcommunityrequired.tsx","./app/p/tabs/required/required.tsx","./app/p/tabs/source/source.tsx","./app/p/tabs/versions/packageversionversions.tsx","./app/p/tabs/versions/packageversionwithoutcommunityversions.tsx","./app/p/tabs/versions/versions.tsx","./app/p/tabs/versions/common.tsx","./app/p/tabs/wiki/wiki.tsx","./app/p/tabs/wiki/wikicontent.tsx","./app/p/tabs/wiki/wikifirstpage.tsx","./app/p/tabs/wiki/wikinewpage.tsx","./app/p/tabs/wiki/wikipage.tsx","./app/p/tabs/wiki/wikipageedit.tsx","./app/p/team/team.tsx","./app/settings/teams/teams.tsx","./app/settings/teams/team/teamsettings.tsx","./app/settings/teams/team/tabs/members/memberaddform.tsx","./app/settings/teams/team/tabs/members/members.tsx","./app/settings/teams/team/tabs/members/memberstable.tsx","./app/settings/teams/team/tabs/profile/profile.tsx","./app/settings/teams/team/tabs/serviceaccounts/serviceaccountremovemodal.tsx","./app/settings/teams/team/tabs/serviceaccounts/serviceaccounts.tsx","./app/settings/teams/team/tabs/serviceaccounts/serviceaccountstable.tsx","./app/settings/teams/team/tabs/settings/settings.tsx","./app/settings/user/settings.tsx","./app/settings/user/account/account.tsx","./app/settings/user/connections/connections.tsx","./app/tools/manifest-validator/manifestvalidator.tsx","./app/tools/markdown-preview/markdownpreview.tsx","./app/tools/package-format-docs/packageformatdocs.tsx","./app/upload/upload.tsx","./cyberstorm/utils/linklibrary.tsx","./cyberstorm/utils/thunderstoreauth.tsx","./.react-router/types/+future.ts","./.react-router/types/+routes.ts","./.react-router/types/+server-build.d.ts","./.react-router/types/app/+types/healthz.ts","./.react-router/types/app/+types/root.ts","./.react-router/types/app/c/+types/community.ts","./.react-router/types/app/c/tabs/packagesearch/+types/packagesearch.ts","./.react-router/types/app/communities/+types/communities.ts","./.react-router/types/app/p/+types/packageedit.ts","./.react-router/types/app/p/+types/packagelisting.ts","./.react-router/types/app/p/+types/packageversion.ts","./.react-router/types/app/p/+types/packageversionwithoutcommunity.ts","./.react-router/types/app/p/dependants/+types/dependants.ts","./.react-router/types/app/p/tabs/changelog/+types/changelog.ts","./.react-router/types/app/p/tabs/readme/+types/packageversionreadme.ts","./.react-router/types/app/p/tabs/readme/+types/packageversionwithoutcommunityreadme.ts","./.react-router/types/app/p/tabs/readme/+types/readme.ts","./.react-router/types/app/p/tabs/required/+types/packageversionrequired.ts","./.react-router/types/app/p/tabs/required/+types/packageversionwithoutcommunityrequired.ts","./.react-router/types/app/p/tabs/required/+types/required.ts","./.react-router/types/app/p/tabs/source/+types/source.ts","./.react-router/types/app/p/tabs/versions/+types/packageversionversions.ts","./.react-router/types/app/p/tabs/versions/+types/packageversionwithoutcommunityversions.ts","./.react-router/types/app/p/tabs/versions/+types/versions.ts","./.react-router/types/app/p/tabs/wiki/+types/wiki.ts","./.react-router/types/app/p/tabs/wiki/+types/wikifirstpage.ts","./.react-router/types/app/p/tabs/wiki/+types/wikinewpage.ts","./.react-router/types/app/p/tabs/wiki/+types/wikipage.ts","./.react-router/types/app/p/tabs/wiki/+types/wikipageedit.ts","./.react-router/types/app/p/team/+types/team.ts","./.react-router/types/app/settings/teams/+types/teams.ts","./.react-router/types/app/settings/teams/team/+types/teamsettings.ts","./.react-router/types/app/settings/teams/team/tabs/members/+types/members.ts","./.react-router/types/app/settings/teams/team/tabs/profile/+types/profile.ts","./.react-router/types/app/settings/teams/team/tabs/serviceaccounts/+types/serviceaccounts.ts","./.react-router/types/app/settings/teams/team/tabs/settings/+types/settings.ts","./.react-router/types/app/settings/user/+types/settings.ts","./.react-router/types/app/settings/user/account/+types/account.ts","./.react-router/types/app/settings/user/connections/+types/connections.ts","./.react-router/types/app/tools/manifest-validator/+types/manifestvalidator.ts","./.react-router/types/app/tools/markdown-preview/+types/markdownpreview.ts","./.react-router/types/app/tools/package-format-docs/+types/packageformatdocs.ts","./.react-router/types/app/upload/+types/upload.ts"],"version":"5.8.2"}

package.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@
88
],
99
"scripts": {
1010
"postinstall": "preconstruct dev && manypkg check",
11-
"build": "preconstruct build",
11+
"build": "preconstruct build && yarn workspace @thunderstore/cyberstorm-theme build && yarn workspace @thunderstore/cyberstorm build && yarn workspace @thunderstore/ts-uploader build",
1212
"plop": "plop",
1313
"test": "vitest run",
1414
"test:watch": "vitest watch",
15-
"coverage": "vitest run --coverage"
15+
"coverage": "vitest run --coverage",
16+
"tsc": "tsc -b"
1617
},
1718
"engines": {
1819
"node": ">=20.17.0"
@@ -27,6 +28,7 @@
2728
"@manypkg/cli": "^0.21.4",
2829
"@microsoft/eslint-formatter-sarif": "^3.1.0",
2930
"@preconstruct/cli": "^2.8.7",
31+
"@trivago/prettier-plugin-sort-imports": "^6.0.0",
3032
"@types/node": "^20.16.0",
3133
"@typescript-eslint/eslint-plugin": "^8.7.0",
3234
"@typescript-eslint/parser": "^8.7.0",
@@ -50,7 +52,7 @@
5052
},
5153
"preconstruct": {
5254
"packages": [
53-
"packages/*"
55+
"packages/!(cyberstorm|ts-uploader|cyberstorm-theme)"
5456
]
5557
}
5658
}

packages/beta-switch/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,8 @@
1212
"scripts": {
1313
"build": "tsc",
1414
"dev": "tsc --watch"
15+
},
16+
"dependencies": {
17+
"@babel/runtime": "^7.25.6"
1518
}
1619
}

packages/beta-switch/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"target": "ESNext",
44
"module": "ESNext",
55
"skipLibCheck": true,
6-
"moduleResolution": "node",
6+
"moduleResolution": "bundler",
77
"removeComments": true,
88
"noImplicitAny": true,
99
"strictNullChecks": true,

packages/cyberstorm-forms/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"type": "module",
77
"main": "dist/thunderstore-cyberstorm-forms.cjs.js",
88
"module": "dist/thunderstore-cyberstorm-forms.esm.js",
9-
"types": "dist/thunderstore-cyberstorm-forms.cjs.d.ts",
9+
"types": "src/index.ts",
1010
"files": [
1111
"dist"
1212
],

packages/cyberstorm-forms/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"target": "ESNext",
44
"module": "ESNext",
55
"skipLibCheck": true,
6-
"moduleResolution": "node",
6+
"moduleResolution": "bundler",
77
"removeComments": true,
88
"noImplicitAny": true,
99
"strictNullChecks": true,

packages/cyberstorm-theme/package.json

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,19 @@
44
"description": "Cyberstorm theme",
55
"repository": "https://github.com/thunderstore-io/thunderstore-ui/tree/master/packages/cyberstorm-theme",
66
"type": "module",
7-
"main": "dist/thunderstore-cyberstorm-theme.cjs.js",
8-
"module": "dist/thunderstore-cyberstorm-theme.esm.js",
9-
"types": "dist/thunderstore-cyberstorm-theme.cjs.d.ts",
7+
"main": "dist/thunderstore-cyberstorm-theme.umd.cjs",
8+
"module": "dist/thunderstore-cyberstorm-theme.js",
9+
"types": "dist/index.d.ts",
10+
"style": "dist/cyberstorm-theme.css",
11+
"scripts": {
12+
"build": "vite build",
13+
"dev": "vite build --watch"
14+
},
1015
"files": [
1116
"dist"
12-
]
17+
],
18+
"devDependencies": {
19+
"vite": "^7.2.6",
20+
"vite-plugin-dts": "^4.5.4"
21+
}
1322
}

packages/cyberstorm-theme/tsconfig.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"target": "ESNext",
44
"module": "ESNext",
55
"skipLibCheck": true,
6-
"moduleResolution": "node",
6+
"moduleResolution": "bundler",
77
"removeComments": true,
88
"noImplicitAny": true,
99
"strictNullChecks": true,

0 commit comments

Comments
 (0)