generated from obsidianmd/obsidian-sample-plugin
-
-
Notifications
You must be signed in to change notification settings - Fork 16
build: migrate from esbuild to Vite #125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
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
Replace esbuild with Vite for faster builds and better dev experience. Update TypeScript to strict mode with comprehensive type safety improvements. Add modern ESLint configuration and improve CI/CD pipeline with separate lint, format, and type check steps.
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Resolve conflicts by: - Keeping Vite-based build scripts while adding a11y check from master - Adding svelte-check dependency for a11y testing - Maintaining strict TypeScript configuration with bundler resolution - Including obsidian mock alias from master for testing - Regenerating package-lock.json to match merged dependencies
- Add @testing-library/jest-dom to TypeScript types for test matchers - Convert JavaScript Svelte components to TypeScript (lang="ts") - Fix Slider.svelte setLimits type mismatch by handling 2-tuple and 3-tuple separately - Add HTMLDivElement type annotation to IntersectionObserver container - Add wildcard module declaration for .svelte file imports - Add empty TypeScript scripts to template-only components All CI checks now pass locally: lint, format:check, typecheck, check:a11y, build, test
npm ci ensures a clean install from package-lock.json and properly installs optional dependencies like @biomejs/cli-linux-x64 needed for biome to work in CI.
The previous package-lock.json was missing some transitive dependencies (nopt, @npmcli/installed-package-contents, etc.) causing npm ci to fail in CI. Regenerated from scratch to ensure all dependencies are properly included. Also fixed tsconfig.json formatting to match biome's expectations.
npm ci requires exact lockfile match which fails when lockfile is generated with npm 11.x but CI uses npm 10.x. Using npm install provides better compatibility across npm versions while still respecting the lockfile.
Integrate master's PR #124 changes (feed caching and UI accessibility improvements) with strict TypeScript configuration. Resolved conflicts by: - Accepting master's lazy initialization for TranscriptionService via getTranscriptionService() - Accepting master's new performance settings and feed caching features - Accepting master's accessibility improvements to UI components - Applying strict TypeScript fixes: definite assignment assertions (!), optional properties (?), and override keywords where required - Fixing type safety: optional chaining for nullable controller cleanup - Consolidating imports and removing unused variables to pass linting All CI checks pass: lint, format:check, typecheck, build, and tests.
2b53ace to
1996c59
Compare
|
🎉 This PR is included in version 2.14.2 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
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
Migrates the build system from esbuild to Vite for improved developer experience and faster builds. Enables strict TypeScript checking with comprehensive type safety improvements throughout the codebase.
Changes
.nvmrcto enforce Node.js version consistencyTesting
The built plugin should be tested in an Obsidian environment to verify compatibility with Vite's output format.