Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
745afa2
Setup claude
IvanPesicSI Mar 21, 2026
cc7f05f
Update eslint
IvanPesicSI Mar 21, 2026
53cab65
Added tests
IvanPesicSI Mar 21, 2026
9080a57
Update integration tests
IvanPesicSI Mar 21, 2026
1833700
Add snapshot tests
IvanPesicSI Mar 21, 2026
9c88209
Add e2e tests
IvanPesicSI Mar 21, 2026
ccd63e4
Add perf tests
IvanPesicSI Mar 21, 2026
5b529dc
Update node v
IvanPesicSI Mar 21, 2026
050a201
Removed Koa and added more tests
IvanPesicSI Mar 21, 2026
55b4424
Update typescript
IvanPesicSI Mar 21, 2026
f6ba555
Upgrade root deps
IvanPesicSI Mar 21, 2026
3b403b8
Removed Koa router
IvanPesicSI Mar 21, 2026
64891eb
Covered cli with tests
IvanPesicSI Mar 21, 2026
fe20f87
Fix up a cli a bit
IvanPesicSI Mar 21, 2026
c8c1988
Update cli tests
IvanPesicSI Mar 21, 2026
ad89ca9
Fix some monorepo issues
IvanPesicSI Mar 21, 2026
9d5885e
Fixed monorepo issues
IvanPesicSI Mar 21, 2026
0768d27
Upgrade glob and ajv
IvanPesicSI Mar 21, 2026
161e514
Fixed build and added build tests
IvanPesicSI Mar 21, 2026
c8320da
Upgraded unbuild
IvanPesicSI Mar 21, 2026
dc560aa
Upgrade dotenv
IvanPesicSI Mar 21, 2026
cb6209a
Added screenshot test
IvanPesicSI Mar 21, 2026
219a49f
Move to vite 6
IvanPesicSI Mar 21, 2026
c2e55d4
Update tests
IvanPesicSI Mar 21, 2026
b9b5111
Update to vite 7
IvanPesicSI Mar 21, 2026
c63f2bc
Migrate to rolldown
IvanPesicSI Mar 21, 2026
4e1bc0f
Update to vite 8
IvanPesicSI Mar 21, 2026
51695bb
Optimize and fix
IvanPesicSI Mar 21, 2026
d7a4d41
Migrated to vitest 4
IvanPesicSI Mar 21, 2026
e59ad8c
Update vue and pinia
IvanPesicSI Mar 21, 2026
7e861d9
Update local client server and claude md
IvanPesicSI Mar 21, 2026
7fdafb3
Updated react
IvanPesicSI Mar 21, 2026
ee26e04
Move to obuild
IvanPesicSI Mar 21, 2026
a5a1812
Upgraded jsdom
IvanPesicSI Mar 21, 2026
e1934d5
Moved from eslint to oxc
IvanPesicSI Mar 21, 2026
8e6c9cd
Generate mariner files
IvanPesicSI Mar 22, 2026
3eb8311
Add shared mode
IvanPesicSI Mar 22, 2026
4e5698a
Add cargo
IvanPesicSI Mar 22, 2026
d698c9f
Update to support tailwind 4
IvanPesicSI Mar 23, 2026
0415e59
Update e2e tests
IvanPesicSI Mar 23, 2026
b171f98
Update lock
IvanPesicSI Mar 23, 2026
fe546e5
Update tests
IvanPesicSI Mar 23, 2026
d2f5a05
Create docs & fix output build
IvanPesicSI Mar 23, 2026
c9252d4
Added github workflows
IvanPesicSI Mar 23, 2026
b8de37a
Fix pnpm version
IvanPesicSI Mar 23, 2026
9637f20
Fix
IvanPesicSI Mar 23, 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
1 change: 0 additions & 1 deletion .eslintignore

This file was deleted.

28 changes: 0 additions & 28 deletions .eslintrc

This file was deleted.

26 changes: 26 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## Summary

<!-- What does this PR do? 1-3 bullet points. -->

-

## Type of change

<!-- Check one: -->

- [ ] Bug fix
- [ ] New feature
- [ ] Refactor (no behavior change)
- [ ] Documentation
- [ ] Tests
- [ ] CI / build

## Test plan

<!-- How did you verify this works? Check all that apply: -->

- [ ] Unit tests added/updated
- [ ] Integration tests added/updated
- [ ] E2E tests added/updated
- [ ] Manual testing with `pnpm dev`
- [ ] `pnpm check:full` passes
86 changes: 86 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]

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

jobs:
check:
name: Lint, Typecheck & Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: pnpm

- run: pnpm install --frozen-lockfile

- name: Lint
run: pnpm lint

- name: Format check
run: pnpm format:check

- name: Typecheck
run: pnpm typecheck

- name: Unit tests
run: pnpm test

integration:
name: Integration Tests
runs-on: ubuntu-latest
needs: check
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: pnpm

- run: pnpm install --frozen-lockfile

- name: Integration tests
run: pnpm test:integration

e2e:
name: E2E Tests
runs-on: ubuntu-latest
needs: check
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: pnpm

- run: pnpm install --frozen-lockfile

- name: Build package
run: pnpm --filter mariner-fe build

- name: Create dist dir for sirv
run: mkdir -p dist

- name: Install Playwright browsers
run: pnpm --filter mariner-fe exec playwright install --with-deps chromium

- name: E2E tests
run: pnpm test:e2e --project dev-server --project screenshots --project shared-fleet --project cargo-serve --project tailwind-vue
52 changes: 52 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Deploy Docs

on:
push:
branches: [main]
paths:
- 'docs/**'
workflow_dispatch:

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

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

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: pnpm

- run: pnpm install --frozen-lockfile

- name: Build docs
run: pnpm docs:build

- uses: actions/upload-pages-artifact@v3
with:
path: docs/.vitepress/dist

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
needs: build
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
50 changes: 50 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Publish to npm

on:
release:
types: [published]

permissions:
contents: read
id-token: write

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

- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: pnpm
registry-url: 'https://registry.npmjs.org'

- run: pnpm install --frozen-lockfile

- name: Lint & Typecheck
run: pnpm lint && pnpm typecheck

- name: Unit tests
run: pnpm test

- name: Integration tests
run: pnpm test:integration

- name: Build package
run: pnpm --filter mariner-fe build

- name: Set version from release tag
run: |
TAG="${GITHUB_REF_NAME}"
VERSION="${TAG#v}"
cd packages/mariner
npm version "$VERSION" --no-git-tag-version --allow-same-version

- name: Publish to npm
run: pnpm --filter mariner-fe publish --no-git-checks --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ node_modules
.DS_Store
dist
dist-ssr
docs/.vitepress/dist
docs/.vitepress/cache
.mariner-serve-e2e
coverage
*.local

Expand Down
60 changes: 60 additions & 0 deletions .mariner/mariner.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
declare module 'navigator:app1' {

import { Navigator as Navigator_2 } from 'mariner-fe/navigator';

const navigator_2: Navigator_2;
export { navigator_2 as navigator }

export { }

}
declare module 'navigator:app2' {

import { Navigator as Navigator_2 } from 'mariner-fe/navigator';

const navigator_2: Navigator_2;
export { navigator_2 as navigator }

export { }

}
declare module 'navigator:app3' {

import { Navigator as Navigator_2 } from 'mariner-fe/navigator';

const navigator_2: Navigator_2;
export { navigator_2 as navigator }

export { }

}
declare module 'navigator:envs' {

export const MARINER_GLOBAL_VARIABLE: any;

export { }

}
declare module 'navigator:lazy' {

export const lazy: () => void;

export { }

}
declare module 'navigator:shared' {

import { Pinia } from 'pinia';
import { StoreDefinition } from 'pinia';

export const pinia: Pinia;

export const useCounter: StoreDefinition<"counter", {
counter: number;
}, {}, {
update(): void;
}>;

export { }

}
9 changes: 9 additions & 0 deletions .mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"mcpServers": {
"Playwright": {
"type": "stdio",
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v20.11.0
v24.12.0
18 changes: 18 additions & 0 deletions .oxfmtrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"semi": false,
"singleQuote": true,
"printWidth": 120,
"sortPackageJson": false,
"ignorePatterns": [
"**/node_modules/",
"**/dist/",
"**/.mariner/",
"**/client/files/**",
"**/__snapshots__/",
"**/test-results/",
"**/*.snap",
"**/e2e/html-snapshots.e2e.ts-snapshots/",
"**/e2e/screenshots/"
]
}
Loading
Loading