Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
389eb2b
Replace ESLint + Prettier with Biome
vitorfdl Mar 19, 2026
493a030
Upgrade TypeScript from 4.8 to 5.7
vitorfdl Mar 19, 2026
dc1292d
Replace deprecated shortid with crypto.randomUUID()
vitorfdl Mar 19, 2026
91a791b
Upgrade Vitest from 0.23 to 3.x
vitorfdl Mar 19, 2026
d8741bf
Clean up webpack config and .gitignore
vitorfdl Mar 19, 2026
59993f0
Update all devDependencies to latest versions
vitorfdl Mar 19, 2026
381ab69
refactoring: morepo+turborepo+react
vitorfdl Mar 19, 2026
c051cfb
chore: delete files
vitorfdl Mar 19, 2026
fcedb51
feat: replace js webpack for tsup
vitorfdl Mar 20, 2026
0e81074
feat: JS rafactor for 2.0
vitorfdl Mar 23, 2026
1f6af53
feat: monorepo v2 refactor with unified build config
gustavo-aguiar Mar 26, 2026
9d9d28a
feat: add auto-fill, runAnalysis, delete fix, user preferences, and r…
gustavo-aguiar Mar 30, 2026
1324f3d
fix: add mountedRef cleanup to mutation hooks
vitorfdl Apr 10, 2026
a5c09cf
test: verify toDeletePayload sends id:device format
vitorfdl Apr 10, 2026
ab736e7
perf: batch handleInbound state updates into single emit
vitorfdl Apr 10, 2026
37b642e
test: fix deleteData test type and add StrictMode reinitialize test
vitorfdl Apr 10, 2026
8e6f369
fix: isolate handler errors in MessageBridge to prevent cascade failure
vitorfdl Apr 10, 2026
4ae7bd5
fix: throw on invalid records when autoFill is disabled instead of lo…
vitorfdl Apr 10, 2026
9464af1
test: verify mergeStrategy sorts records by time descending
vitorfdl Apr 10, 2026
849b66e
fix: remove legacy bucket validation, only require origin field
vitorfdl Apr 10, 2026
796f0ef
test: suppress expected console.error in handler isolation test
vitorfdl Apr 10, 2026
8fdcdb4
feat: add CI workflow for quality checks, linting, testing, and building
vitorfdl Apr 10, 2026
efc638f
chore: update .gitignore to exclude docs directory
vitorfdl Apr 10, 2026
efeb801
chore(ci): add GitHub Pages deploy workflow
felipefdl Apr 11, 2026
3f06ef9
chore(ci): trigger pages deploy on release instead of push to master
felipefdl Apr 11, 2026
4fa748f
Merge pull request #9 from tago-io/chore/github-pages-deploy
felipefdl Apr 11, 2026
91d3eaa
Merge pull request #8 from tago-io/feat/monorepo-v2-refactor
felipefdl Apr 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.1.1/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": []
}
6 changes: 0 additions & 6 deletions .eslintignore

This file was deleted.

33 changes: 0 additions & 33 deletions .eslintrc.js

This file was deleted.

33 changes: 33 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: CI

on:
push:
branches:
- "**"
pull_request:
branches:
- master

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
quality:
name: Quality Checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: voidzero-dev/setup-vp@v1
with:
cache: true

- name: Lint & Format & Type Check
run: vp check

- name: Test
run: vp test

- name: Build
run: pnpm build
50 changes: 50 additions & 0 deletions .github/workflows/deploy-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Deploy to GitHub Pages

on:
release:
types: [published]

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: false

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: voidzero-dev/setup-vp@v1
with:
cache: true

- name: Build packages
run: pnpm build

- name: Assemble site
run: |
mkdir -p _site/dist _site/examples
cp packages/js/dist/custom-widget.js _site/dist/
cp packages/js/dist/custom-widget.min.js _site/dist/
cp packages/js/dist/custom-widget.css _site/dist/
cp packages/js/dist/custom-widget.min.css _site/dist/
cp packages/js/examples/*.html _site/examples/

- uses: actions/upload-pages-artifact@v3

deploy:
name: Deploy
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- id: deployment
uses: actions/deploy-pages@v4
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,17 @@ out/
yarn.lock
.cache
!.github/**
docs/

# pnpm
.pnpm-store/

# Turborepo
.turbo/

# Biome
.biome/

# Package build outputs (JS package dist is committed)
packages/core/dist/
packages/react/dist/
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
save-prefix=""
onlyBuiltDependencies[]=esbuild
11 changes: 0 additions & 11 deletions .prettierrc

This file was deleted.

1 change: 1 addition & 0 deletions .vite-hooks/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
vp staged
88 changes: 88 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
<!--VITE PLUS START-->

# Using Vite+, the Unified Toolchain for the Web

This project is using Vite+, a unified toolchain built on top of Vite, Rolldown, Vitest, tsdown, Oxlint, Oxfmt, and Vite Task. Vite+ wraps runtime management, package management, and frontend tooling in a single global CLI called `vp`. Vite+ is distinct from Vite, but it invokes Vite through `vp dev` and `vp build`.

## Vite+ Workflow

`vp` is a global binary that handles the full development lifecycle. Run `vp help` to print a list of commands and `vp <command> --help` for information about a specific command.

### Start

- create - Create a new project from a template
- migrate - Migrate an existing project to Vite+
- config - Configure hooks and agent integration
- staged - Run linters on staged files
- install (`i`) - Install dependencies
- env - Manage Node.js versions

### Develop

- dev - Run the development server
- check - Run format, lint, and TypeScript type checks
- lint - Lint code
- fmt - Format code
- test - Run tests

### Execute

- run - Run monorepo tasks
- exec - Execute a command from local `node_modules/.bin`
- dlx - Execute a package binary without installing it as a dependency
- cache - Manage the task cache

### Build

- build - Build for production
- pack - Build libraries
- preview - Preview production build

### Manage Dependencies

Vite+ automatically detects and wraps the underlying package manager such as pnpm, npm, or Yarn through the `packageManager` field in `package.json` or package manager-specific lockfiles.

- add - Add packages to dependencies
- remove (`rm`, `un`, `uninstall`) - Remove packages from dependencies
- update (`up`) - Update packages to latest versions
- dedupe - Deduplicate dependencies
- outdated - Check for outdated packages
- list (`ls`) - List installed packages
- why (`explain`) - Show why a package is installed
- info (`view`, `show`) - View package information from the registry
- link (`ln`) / unlink - Manage local package links
- pm - Forward a command to the package manager

### Maintain

- upgrade - Update `vp` itself to the latest version

These commands map to their corresponding tools. For example, `vp dev --port 3000` runs Vite's dev server and works the same as Vite. `vp test` runs JavaScript tests through the bundled Vitest. The version of all tools can be checked using `vp --version`. This is useful when researching documentation, features, and bugs.

## Common Pitfalls

- **Using the package manager directly:** Do not use pnpm, npm, or Yarn directly. Vite+ can handle all package manager operations.
- **Always use Vite commands to run tools:** Don't attempt to run `vp vitest` or `vp oxlint`. They do not exist. Use `vp test` and `vp lint` instead.
- **Running scripts:** Vite+ built-in commands (`vp dev`, `vp build`, `vp test`, etc.) always run the Vite+ built-in tool, not any `package.json` script of the same name. To run a custom script that shares a name with a built-in command, use `vp run <script>`. For example, if you have a custom `dev` script that runs multiple services concurrently, run it with `vp run dev`, not `vp dev` (which always starts Vite's dev server).
- **Do not install Vitest, Oxlint, Oxfmt, or tsdown directly:** Vite+ wraps these tools. They must not be installed directly. You cannot upgrade these tools by installing their latest versions. Always use Vite+ commands.
- **Use Vite+ wrappers for one-off binaries:** Use `vp dlx` instead of package-manager-specific `dlx`/`npx` commands.
- **Import JavaScript modules from `vite-plus`:** Instead of importing from `vite` or `vitest`, all modules should be imported from the project's `vite-plus` dependency. For example, `import { defineConfig } from 'vite-plus';` or `import { expect, test, vi } from 'vite-plus/test';`. You must not install `vitest` to import test utilities.
- **Type-Aware Linting:** There is no need to install `oxlint-tsgolint`, `vp lint --type-aware` works out of the box.

## CI Integration

For GitHub Actions, consider using [`voidzero-dev/setup-vp`](https://github.com/voidzero-dev/setup-vp) to replace separate `actions/setup-node`, package-manager setup, cache, and install steps with a single action.

```yaml
- uses: voidzero-dev/setup-vp@v1
with:
cache: true
- run: vp check
- run: vp test
```

## Review Checklist for Agents

- [ ] Run `vp install` after pulling remote changes and before getting started.
- [ ] Run `vp check` and `vp test` to validate changes.
<!--VITE PLUS END-->
Loading
Loading