chore(templates): remove v3 template support#393
Merged
RetricSu merged 1 commit intockb-devrel:developfrom Feb 28, 2026
Merged
Conversation
Remove deprecated v3 templates to streamline the codebase: - Deleted entire templates/v3/ directory (remix-vite, next-js, js-script-next-js) - Updated templates/readme.md to reflect only v4 is available v3 templates are no longer maintained and v4 provides a better developer experience focused on CKB JavaScript smart contracts. BREAKING CHANGE: Projects using v3 templates should migrate to v4. See docs/migration.md for migration guidance. Quality gates passed: - pnpm install: ✓ - pnpm build: ✓ - pnpm test: 27 passed, 7 skipped - pnpm lint: 0 errors (7 pre-existing warnings) - pnpm fmt: ✓
Contributor
There was a problem hiding this comment.
Pull request overview
Removes the deprecated templates/v3/ templates from the repository to reduce maintenance surface area, leaving templates/v4/ as the only supported template set and updating template documentation accordingly.
Changes:
- Deleted the
templates/v3/template directory contents (Remix+Vite, Next.js, and JS-script Next.js template variants). - Removed associated build/test/config files within those v3 templates.
- Updated
templates/readme.mdto documentv4as the current template version.
Reviewed changes
Copilot reviewed 94 out of 107 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| templates/v3/remix-vite-template/tests/src/tests.rs | Removed v3 template Rust test file |
| templates/v3/remix-vite-template/tests/src/lib.rs | Removed v3 template Rust test harness/loader |
| templates/v3/remix-vite-template/tests/Cargo.toml | Removed v3 template Rust test crate manifest |
| templates/v3/remix-vite-template/scripts/reproducible_build_docker | Removed v3 template reproducible build helper script |
| templates/v3/remix-vite-template/scripts/find_clang | Removed v3 template clang discovery helper script |
| templates/v3/remix-vite-template/frontend/vite.config.ts | Removed v3 template Remix+Vite config |
| templates/v3/remix-vite-template/frontend/tsconfig.json | Removed v3 template TS config |
| templates/v3/remix-vite-template/frontend/tailwind.config.js | Removed v3 template Tailwind config |
| templates/v3/remix-vite-template/frontend/public/favicon.ico | Removed v3 template asset |
| templates/v3/remix-vite-template/frontend/postcss.config.js | Removed v3 template PostCSS config |
| templates/v3/remix-vite-template/frontend/package.json | Removed v3 template frontend package manifest |
| templates/v3/remix-vite-template/frontend/offckb.config.ts | Removed v3 template offckb config |
| templates/v3/remix-vite-template/frontend/app/routes/_index.tsx | Removed v3 template route |
| templates/v3/remix-vite-template/frontend/app/root.tsx | Removed v3 template app root |
| templates/v3/remix-vite-template/frontend/app/root.css | Removed v3 template stylesheet |
| templates/v3/remix-vite-template/frontend/app/entry.server.tsx | Removed v3 template server entry |
| templates/v3/remix-vite-template/frontend/app/entry.client.tsx | Removed v3 template client entry |
| templates/v3/remix-vite-template/frontend/app/components/wallet.client.tsx | Removed v3 template wallet UI component |
| templates/v3/remix-vite-template/frontend/app/components/wallet-client.client.ts | Removed v3 template wallet client builder |
| templates/v3/remix-vite-template/frontend/app/components/home.client.tsx | Removed v3 template home component |
| templates/v3/remix-vite-template/frontend/README.md | Removed v3 template frontend README |
| templates/v3/remix-vite-template/frontend/.gitignore | Removed v3 template frontend gitignore |
| templates/v3/remix-vite-template/frontend/.eslintrc.cjs | Removed v3 template frontend ESLint config |
| templates/v3/remix-vite-template/contracts/hello-world/src/main.rs | Removed v3 template sample contract entry |
| templates/v3/remix-vite-template/contracts/hello-world/src/lib.rs | Removed v3 template sample contract lib |
| templates/v3/remix-vite-template/contracts/hello-world/README.md | Removed v3 template contract README |
| templates/v3/remix-vite-template/contracts/hello-world/Makefile | Removed v3 template contract Makefile |
| templates/v3/remix-vite-template/contracts/hello-world/Cargo.toml | Removed v3 template contract manifest |
| templates/v3/remix-vite-template/contracts/hello-world/.gitignore | Removed v3 template contract gitignore |
| templates/v3/remix-vite-template/README.md | Removed v3 template root README |
| templates/v3/remix-vite-template/Makefile | Removed v3 template root Makefile |
| templates/v3/remix-vite-template/Cargo.toml | Removed v3 template workspace manifest |
| templates/v3/remix-vite-template/.gitignore | Removed v3 template gitignore |
| templates/v3/offckb.config.example.ts | Removed v3 template offckb config example |
| templates/v3/next-js-template/tests/src/tests.rs | Removed v3 template Rust test file |
| templates/v3/next-js-template/tests/src/lib.rs | Removed v3 template Rust test harness/loader |
| templates/v3/next-js-template/tests/Cargo.toml | Removed v3 template Rust test crate manifest |
| templates/v3/next-js-template/scripts/reproducible_build_docker | Removed v3 template reproducible build helper script |
| templates/v3/next-js-template/scripts/find_clang | Removed v3 template clang discovery helper script |
| templates/v3/next-js-template/frontend/tsconfig.json | Removed v3 template frontend TS config |
| templates/v3/next-js-template/frontend/tailwind.config.ts | Removed v3 template frontend Tailwind config |
| templates/v3/next-js-template/frontend/public/vercel.svg | Removed v3 template asset |
| templates/v3/next-js-template/frontend/public/next.svg | Removed v3 template asset |
| templates/v3/next-js-template/frontend/postcss.config.mjs | Removed v3 template frontend PostCSS config |
| templates/v3/next-js-template/frontend/package.json | Removed v3 template frontend package manifest |
| templates/v3/next-js-template/frontend/offckb.config.ts | Removed v3 template offckb config |
| templates/v3/next-js-template/frontend/next.config.mjs | Removed v3 template Next.js config |
| templates/v3/next-js-template/frontend/app/wallet.tsx | Removed v3 template wallet UI |
| templates/v3/next-js-template/frontend/app/wallet-client.ts | Removed v3 template wallet client builder |
| templates/v3/next-js-template/frontend/app/page.tsx | Removed v3 template main page |
| templates/v3/next-js-template/frontend/app/layout.tsx | Removed v3 template layout |
| templates/v3/next-js-template/frontend/app/globals.css | Removed v3 template global styles |
| templates/v3/next-js-template/frontend/app/favicon.ico | Removed v3 template asset |
| templates/v3/next-js-template/frontend/README.md | Removed v3 template frontend README |
| templates/v3/next-js-template/frontend/.gitignore | Removed v3 template frontend gitignore |
| templates/v3/next-js-template/frontend/.eslintrc.json | Removed v3 template frontend ESLint config |
| templates/v3/next-js-template/frontend/.env | Removed v3 template env file |
| templates/v3/next-js-template/contracts/hello-world/src/main.rs | Removed v3 template sample contract entry |
| templates/v3/next-js-template/contracts/hello-world/src/lib.rs | Removed v3 template sample contract lib |
| templates/v3/next-js-template/contracts/hello-world/README.md | Removed v3 template contract README |
| templates/v3/next-js-template/contracts/hello-world/Makefile | Removed v3 template contract Makefile |
| templates/v3/next-js-template/contracts/hello-world/Cargo.toml | Removed v3 template contract manifest |
| templates/v3/next-js-template/contracts/hello-world/.gitignore | Removed v3 template contract gitignore |
| templates/v3/next-js-template/README.md | Removed v3 template root README |
| templates/v3/next-js-template/Makefile | Removed v3 template root Makefile |
| templates/v3/next-js-template/Cargo.toml | Removed v3 template workspace manifest |
| templates/v3/next-js-template/Cargo.lock | Removed v3 template lockfile |
| templates/v3/next-js-template/.gitignore | Removed v3 template gitignore |
| templates/v3/js-script-next-js/pnpm-workspace.yaml | Removed v3 template workspace config |
| templates/v3/js-script-next-js/packages/on-chain-script/tsconfig.json | Removed v3 template on-chain script TS config |
| templates/v3/js-script-next-js/packages/on-chain-script/tsconfig.base.json | Removed v3 template on-chain script base TS config |
| templates/v3/js-script-next-js/packages/on-chain-script/src/hello-world.ts | Removed v3 template on-chain script example |
| templates/v3/js-script-next-js/packages/on-chain-script/package.json | Removed v3 template on-chain script package manifest |
| templates/v3/js-script-next-js/packages/on-chain-script/build/ckb-js-vm | Removed v3 template binary/artifact |
| templates/v3/js-script-next-js/packages/on-chain-script/README.md | Removed v3 template on-chain script README |
| templates/v3/js-script-next-js/packages/on-chain-script/.prettierignore | Removed v3 template on-chain script prettier ignore |
| templates/v3/js-script-next-js/packages/on-chain-script-tests/tsconfig.json | Removed v3 template test TS config |
| templates/v3/js-script-next-js/packages/on-chain-script-tests/tsconfig.base.json | Removed v3 template test base TS config |
| templates/v3/js-script-next-js/packages/on-chain-script-tests/src/hello-world.test.ts | Removed v3 template unit test |
| templates/v3/js-script-next-js/packages/on-chain-script-tests/package.json | Removed v3 template test package manifest |
| templates/v3/js-script-next-js/packages/on-chain-script-tests/jest.config.cjs | Removed v3 template Jest config |
| templates/v3/js-script-next-js/packages/on-chain-script-tests/README.md | Removed v3 template test README |
| templates/v3/js-script-next-js/packages/frontend/tsconfig.json | Removed v3 template frontend TS config |
| templates/v3/js-script-next-js/packages/frontend/tailwind.config.ts | Removed v3 template frontend Tailwind config |
| templates/v3/js-script-next-js/packages/frontend/public/vercel.svg | Removed v3 template asset |
| templates/v3/js-script-next-js/packages/frontend/public/next.svg | Removed v3 template asset |
| templates/v3/js-script-next-js/packages/frontend/postcss.config.mjs | Removed v3 template frontend PostCSS config |
| templates/v3/js-script-next-js/packages/frontend/package.json | Removed v3 template frontend package manifest |
| templates/v3/js-script-next-js/packages/frontend/offckb.config.ts | Removed v3 template offckb config |
| templates/v3/js-script-next-js/packages/frontend/next.config.mjs | Removed v3 template Next.js config |
| templates/v3/js-script-next-js/packages/frontend/app/wallet.tsx | Removed v3 template wallet UI |
| templates/v3/js-script-next-js/packages/frontend/app/wallet-client.ts | Removed v3 template wallet client builder |
| templates/v3/js-script-next-js/packages/frontend/app/page.tsx | Removed v3 template main page |
| templates/v3/js-script-next-js/packages/frontend/app/layout.tsx | Removed v3 template layout |
| templates/v3/js-script-next-js/packages/frontend/app/globals.css | Removed v3 template global styles |
| templates/v3/js-script-next-js/packages/frontend/app/favicon.ico | Removed v3 template asset |
| templates/v3/js-script-next-js/packages/frontend/README.md | Removed v3 template frontend README |
| templates/v3/js-script-next-js/packages/frontend/.gitignore | Removed v3 template frontend gitignore |
| templates/v3/js-script-next-js/packages/frontend/.eslintrc.json | Removed v3 template frontend ESLint config |
| templates/v3/js-script-next-js/packages/frontend/.env | Removed v3 template env file |
| templates/v3/js-script-next-js/package.json | Removed v3 template monorepo package manifest |
| templates/v3/js-script-next-js/README.md | Removed v3 template root README |
| templates/readme.md | Updated template documentation to reference templates/v4 only |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Remove deprecated v3 templates to streamline the codebase. v3 templates are no longer maintained and v4 provides a better developer experience focused on CKB JavaScript smart contracts.
Changes
templates/v3/directory including:remix-vite-templatenext-js-templatejs-script-next-jstemplates/readme.mdto reflect only v4 is availableBreaking Change
Projects using v3 templates should migrate to v4. See docs/migration.md for migration guidance.
Quality Gates
All quality checks passed:
pnpm installpnpm build- compiled successfullypnpm test- 27 passed, 7 skippedpnpm lint- 0 errors (7 pre-existing warnings)pnpm fmt- no unformatted filesStats
This PR helps reduce maintenance burden by removing outdated template code that is no longer aligned with the project's direction of focusing on JavaScript smart contract development.