Skip to content

feat: use vite+ toolchain#132

Closed
rolandjitsu wants to merge 17 commits into
mainfrom
feat/vite-plus-toolchain
Closed

feat: use vite+ toolchain#132
rolandjitsu wants to merge 17 commits into
mainfrom
feat/vite-plus-toolchain

Conversation

@rolandjitsu

Copy link
Copy Markdown
Collaborator

What kind of change does this PR introduce?

  • Bug Fix
  • Feature
  • Refactoring
  • Style
  • Build
  • Chore
  • Documentation
  • CI

Did you add tests for your changes?

  • Yes, my code is well tested
  • Not relevant

If relevant, did you update the documentation?

  • Yes, I've updated the documentation
  • Not relevant

Summary

Try out Vite+ vs rstack.

Does this PR introduce a breaking change?

N/A.

Other information

Roland Groza added 17 commits July 11, 2026 15:14
…nd drop UMD bundle

Migrate the build/test/lint stack to a modern SWC-era toolchain:

- Build with rslib (Rspack/SWC) instead of Rollup + multiple tsc passes;
  emit ESM (dist/index.js), CommonJS (dist/index.cjs) and type declarations
  (dist/index.d.ts) from a single config.
- Type-check with TypeScript 7.
- Replace Jest + ts-jest with Vitest (jsdom, v8 coverage).
- Replace the deprecated TSLint with Biome (lint + format).
- Drop the runtime tslib dependency (es2020 output needs no helpers); the
  package is now dependency-free.
- Modernize package.json: exports map, "type": "module", Node >= 20 engine.
- Update CI to Node 20/22/24 and refresh Dependabot.

BREAKING CHANGE: the UMD bundle (dist/bundles/*.umd.js) has been removed and
the published dist layout has changed - dist/index.js is now an ES module and
dist/index.cjs is the CommonJS build. Script-tag/CDN consumers should load the
ESM build from a CDN such as https://esm.sh/file-selector. The minimum
supported Node.js version for development is now 20.
Throw a dedicated UnexpectedObjectError (carrying the offending
DataTransferItem) instead of a generic Error that stringified to the
useless "[object Object] is not a File". Ports #123
to the modernized (Vitest/Biome) toolchain.
The legacy Entry API (readEntries) throws on some platforms, e.g. dragging a
folder from Windows Explorer into Chromium, which rejected the entire drop.
Prefer getAsFileSystemHandle for directories and fall back to readEntries.

Closes #130
@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 29151089689

Coverage remained the same at 100.0%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: 64 of 64 lines across 5 files are fully covered (100%).
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 106
Covered Lines: 106
Line Coverage: 100.0%
Relevant Branches: 69
Covered Branches: 69
Branch Coverage: 100.0%
Branches in Coverage %: Yes
Coverage Strength: 195.61 hits per line

💛 - Coveralls

@rolandjitsu

Copy link
Copy Markdown
Collaborator Author

Closing in favor of #133.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants