clone

a deno framework for local-first web apps that open instantly, work offline and sync when users choose

chore(release): publish @nzip/lofi to JSR on tag; drop site-deploy machinery

Dami committed 02f2e8c
- consolidate the package manifest into deno.json (name/version/exports/publish)
  so `deno publish` works; delete jsr.json; include apps/reference/deno.json in
  the published files (the template ships it)
- add .github/workflows/publish.yml: on a v#.#.# tag, verify the tag matches the
  manifest version, run the suite, and `deno publish` to JSR via OIDC
- remove the Deno Deploy site tasks and the reference-only deploy field (a
  testing artifact), and the now-dead deploy-field strip in the generator
- point create_core_test at the consolidated manifest; refresh the snapshot
commit
02f2e8c760e2f20155952cb2aa68257044ee079a
parent
fa85672e13176f8f9654005fb7db7e2cdc04c42b
author
Dami <dami.etoile@gmail.com>
8 files changed, +72 -63
A.github/workflows/publish.yml36++++++++++++++++++++++++++++++
Mapps/reference/README.md21++----------------
Mapps/reference/deno.json6-----
Mdeno.json33+++++++++++++++++++++++++++-
Djsr.json32---------------------------
Mpackage/create_core.ts3---
Mpackage/create_core_test.ts2+-
Mpackage/testdata/starter.snapshot.json2+-
A .github/workflows/publish.yml +36 -0
M apps/reference/README.md +2 -19
@@ -30,26 +30,9 @@ offline and converge after reconnecting. The normal `deno task test` skips it (a
3030 Chromium); run it against a synced deployment with3131 `LOFI_E2E_BASE_URL=http://127.0.0.1:4321/ deno test -A tests/convergence_e2e_test.ts`.3232 33-## Deploy34-3533 `deno task build` produces a self-contained static PWA in `dist/` (the Preact islands compile to36-`dist/_astro/*.js`). The deploy tasks build locally, then push `dist/` **as the deploy root** to37-Deno Deploy's static hosting:38-39-- `deno task deploy:create --org <org> --app <app>` — one-time: create the app from the built40- `dist/` as a static site (`--runtime-mode static --static-dir .`).41-- `deno task deploy` — ongoing: build, then `deno deploy --prod dist`.42-43-Pushing `dist/` as the root is deliberate. If you deploy the project directory instead, Deno44-Deploy's framework detection sees `src/app.ts` and the `@nzip/lofi` imports and runs a **remote45-build** of the whole app — which fails here, because those imports are monorepo-relative46-(`../../package`) and don't exist on the build machine (`Module not found file:///tmp/package/...`).47-Deploying the prebuilt `dist/` has nothing to build and nothing to misdetect, so it serves as pure48-static assets.49-50-Supply the org/app once with `deno deploy switch` (or the `--org/--app` flags above); the `deploy`51-field in `deno.json` records this app's target for reference. The generator strips that field so a52-new project records its own association on first deploy.34+`dist/_astro/*.js`), and `deno task preview` serves it locally. Hosting the built site is left to35+the author's platform of choice; this repository ships no site-deploy pipeline.5336 5437 Passkey backup and recovery are intentionally absent. The pinned Jazz alpha exposes a rejected5538 credential design, so this reference uses a device-local identity and does not imply recoverability.
M apps/reference/deno.json +0 -6
M deno.json +32 -1
@@ -1,4 +1,16 @@
11 {2+ "name": "@nzip/lofi",3+ "version": "0.1.0",4+ "license": "MIT",5+ "exports": {6+ "./build": "./package/commands/build.ts",7+ "./create": "./package/create.ts",8+ "./dev": "./package/commands/dev.ts",9+ "./doctor": "./package/commands/doctor.ts",10+ "./preview": "./package/commands/preview.ts",11+ "./testing": "./package/testing/mod.ts",12+ "./test": "./package/commands/run_tests.ts"13+ },214 "imports": {315 "@astrojs/check": "npm:@astrojs/check@0.9.9",416 "@astrojs/preact": "npm:@astrojs/preact@6.0.1",
@@ -25,7 +37,8 @@
2537 "test:unit": "deno test --allow-env=LOFI_UPDATE_SNAPSHOT --allow-net=127.0.0.1 --allow-read --allow-write=. --allow-run tools package apps/reference/src/_lofi apps/reference/tests",2638 "test:update:create": "LOFI_UPDATE_SNAPSHOT=1 deno test --allow-env=LOFI_UPDATE_SNAPSHOT --allow-read --allow-write=. --allow-run package/create_core_test.ts",2739 "test": "deno task test:unit",28- "test:browser:install": "deno run -A npm:playwright@1.61.1 install chromium"40+ "test:browser:install": "deno run -A npm:playwright@1.61.1 install chromium",41+ "publish:dry": "deno publish --dry-run"2942 },3043 "fmt": {3144 "lineWidth": 100,
@@ -36,5 +49,23 @@
3649 "rules": {3750 "tags": ["recommended"]3851 }52+ },53+ "publish": {54+ "include": [55+ "LICENSE",56+ "README.md",57+ "apps/reference/astro.config.ts",58+ "apps/reference/deno.json",59+ "apps/reference/public",60+ "apps/reference/src",61+ "apps/reference/tests",62+ "apps/reference/tsconfig.json",63+ "package"64+ ],65+ "exclude": [66+ "package/**/*_test.ts",67+ "package/testing/fixture_integration.ts",68+ "package/testdata"69+ ]3970 }4071 }
D jsr.json +0 -32
M package/create_core.ts +0 -3
M package/create_core_test.ts +1 -1
M package/testdata/starter.snapshot.json +1 -1