fimo 0.3.3-staging.24 → 0.3.4-staging.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -12
- package/assets/agents-starter/AGENTS.md +14 -2
- package/assets/skills/fimo/SKILL.md +1 -1
- package/assets/skills/fimo/references/content.md +14 -2
- package/assets/skills/fimo/references/setup-plain-vite.md +8 -3
- package/assets/skills/fimo/references/setup-react-router.md +13 -6
- package/assets/skills/fimo/references/ui.md +1 -1
- package/assets/skills/fimo-cli/SKILL.md +30 -18
- package/assets/skills/fimo-cli/references/account.md +4 -2
- package/assets/skills/fimo-cli/references/agent-setup.md +14 -16
- package/assets/skills/fimo-cli/references/agents.md +2 -0
- package/assets/skills/fimo-cli/references/analytics.md +2 -0
- package/assets/skills/fimo-cli/references/assets.md +2 -0
- package/assets/skills/fimo-cli/references/branches.md +2 -0
- package/assets/skills/fimo-cli/references/content.md +3 -1
- package/assets/skills/fimo-cli/references/credits.md +2 -0
- package/assets/skills/fimo-cli/references/deploy.md +10 -4
- package/assets/skills/fimo-cli/references/describe.md +2 -0
- package/assets/skills/fimo-cli/references/domains.md +2 -0
- package/assets/skills/fimo-cli/references/forms.md +2 -0
- package/assets/skills/fimo-cli/references/init.md +114 -0
- package/assets/skills/fimo-cli/references/integrations/firecrawl.md +2 -0
- package/assets/skills/fimo-cli/references/integrations.md +2 -0
- package/assets/skills/fimo-cli/references/invite.md +2 -0
- package/assets/skills/fimo-cli/references/labels.md +2 -0
- package/assets/skills/fimo-cli/references/locales.md +2 -0
- package/assets/skills/fimo-cli/references/media.md +2 -0
- package/assets/skills/fimo-cli/references/preview.md +2 -0
- package/assets/skills/fimo-cli/references/project-vars-and-secrets.md +3 -1
- package/assets/skills/fimo-cli/references/projects.md +5 -3
- package/assets/skills/fimo-cli/references/schedules.md +2 -0
- package/assets/skills/fimo-migration/SKILL.md +2 -0
- package/assets/skills/fimo-migration/references/manifest.md +5 -1
- package/dist/build/vite/index.d.ts.map +1 -1
- package/dist/build/vite/index.js +17 -7
- package/dist/cli/bundle.json +1 -1
- package/dist/cli/index.js +2916 -2544
- package/package.json +2 -1
- package/scripts/lib/release-core.mjs +50 -2
- package/scripts/lib/release-core.test.ts +81 -0
- package/scripts/postinstall.mjs +10 -54
- package/scripts/publish-npm.mjs +7 -1
- package/templates/react-router/package.json +1 -1
- package/assets/agents-starter/claude/settings.json +0 -19
- package/assets/skills/fimo-cli/references/create.md +0 -90
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# `fimo init`
|
|
2
|
+
|
|
3
|
+
> **Run via `npx fimo@latest <command>`** — always the latest CLI, no install needed.
|
|
4
|
+
|
|
5
|
+
One-stop project setup: sign in, create a new Fimo project (or link an existing one), install dependencies, and optionally set up Fimo skills for your AI tools.
|
|
6
|
+
|
|
7
|
+
## Command
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
fimo init [dir] [options]
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
`fimo init` runs the full onboarding in one shot:
|
|
14
|
+
|
|
15
|
+
1. **Signs in automatically** — if there's no session it opens the browser loopback login. In `--json` / non-TTY with no session it fails with `NOT_AUTHENTICATED` (run `fimo login` first).
|
|
16
|
+
2. **Resolves the project** — with `--project-id <id>` it links an EXISTING project (clones it); without it, it creates a NEW project. An interactive TTY shows a "Create new / Link existing" picker; non-interactive shells default to create-new.
|
|
17
|
+
3. **Installs dependencies** — prompts for the package manager, or honor `--package-manager <pm>` / `--no-install`.
|
|
18
|
+
4. **Optionally sets up Fimo skills** — confirm prompt, or `--skills` / `--no-skills`.
|
|
19
|
+
|
|
20
|
+
| Flag | Required | Purpose |
|
|
21
|
+
| ---------------------------- | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
22
|
+
| `[dir]` positional | yes in non-TTY for create-new | Target directory (e.g. `my-site`) |
|
|
23
|
+
| `--project-id <id>` | no | Link an EXISTING project instead of creating one (clones it). |
|
|
24
|
+
| `--org <id>` | no | Target organization **id** when creating (use the `ID` column from `fimo orgs list`, NOT the slug). Picker shown interactively if omitted and TTY. |
|
|
25
|
+
| `--env <name>` | no | Env to check out when linking an existing project (defaults to `main`). |
|
|
26
|
+
| `--package-manager <pm>` | no | `npm` \| `pnpm` \| `yarn` \| `bun`. |
|
|
27
|
+
| `--install` / `--no-install` | yes in non-TTY | Install deps after checkout (or skip it). |
|
|
28
|
+
| `--skills` / `--no-skills` | yes in non-TTY | Set up Fimo skills (or skip it). |
|
|
29
|
+
| `--agents <list>` | no | Comma-separated agent IDs (e.g. `claude-code,cursor`). Pass `none` to write only universal AGENTS.md. |
|
|
30
|
+
| `-a, --agent <id>` | alternative | Repeatable form: `-a claude-code -a cursor`. |
|
|
31
|
+
| `--mode <symlink\|copy>` | no | Project skill install method. |
|
|
32
|
+
| `--template-root <path>` | no | Override the bundled template (development only). |
|
|
33
|
+
| `-y, --yes` | no | Skip the skills install preview confirmation. |
|
|
34
|
+
|
|
35
|
+
In a non-TTY shell the create-new path requires `[dir]`, `--install` / `--no-install`, and `--skills` / `--no-skills` (and `--org` if you have no active org and belong to multiple orgs). Without them the command exits with `Cannot prompt in a non-interactive shell.`
|
|
36
|
+
|
|
37
|
+
> **Zero-install:** run `npx fimo@latest init` — no global install needed. `fimo projects create` is also an alias of `fimo init` (create-new path).
|
|
38
|
+
|
|
39
|
+
For `--agents`, pass the AI tool you're running in: `--agents=claude-code` for Claude Code, `--agents=cursor` for Cursor, `--agents=codex` for Codex, etc. When the flag is omitted, env-var detection of the invoking harness (e.g. `CLAUDECODE` / `CLAUDE_CODE_ENTRYPOINT` → claude-code) auto-targets that agent; other agents must be selected explicitly via `--agents`/`-a` or the interactive picker.
|
|
40
|
+
|
|
41
|
+
## Linking an existing project
|
|
42
|
+
|
|
43
|
+
Pass `--project-id <id>` to link an EXISTING project instead of creating one. This clones the project's git repo into `[dir]` and writes the local `.fimo.settings.json` + agent files, the same as `fimo clone` (init's `--project-id` path reuses it). Use `--env <name>` to check out a specific env (defaults to `main`). Without `--project-id`, `fimo init` creates a new project.
|
|
44
|
+
|
|
45
|
+
## What gets written (create-new)
|
|
46
|
+
|
|
47
|
+
`fimo init` (create-new path) scaffolds:
|
|
48
|
+
|
|
49
|
+
- The project template (Vite + React 19 + TypeScript + Tailwind v4 + shadcn/ui + react-router)
|
|
50
|
+
- `.fimo.settings.json` — links this directory to the remote project (read-only after creation)
|
|
51
|
+
- `.env` — initial env vars (currently just `VITE_API_URL`)
|
|
52
|
+
- `AGENTS.md` — project rules read by all agentskills.io-compatible AI tools (Codex, OpenCode, Aider, etc.)
|
|
53
|
+
- Per-agent variants based on `--agents`:
|
|
54
|
+
- `claude-code` → `CLAUDE.md` + `.claude/settings.json`
|
|
55
|
+
- `cursor` → `.cursor/rules/fimo.mdc`
|
|
56
|
+
- `windsurf` → `.windsurfrules`
|
|
57
|
+
- `gemini-cli` → `GEMINI.md`
|
|
58
|
+
- codex / opencode / aider / others → no extra file; AGENTS.md is read natively
|
|
59
|
+
- The project-scope `fimo` skill (npm package surface: schemas, forms, `t()`, `fimo/ui` components) copied into each selected agent's skill dir (`.claude/skills/fimo/`, `.cursor/skills/fimo/`, etc.). Version-locked to the bundled `fimo` package — the installed `SKILL.md` is stamped with `fimoVersion`. Refresh later with `fimo skills sync`. See `references/agent-setup.md`.
|
|
60
|
+
- A git repository with `fimo` as the remote, an initial commit, and an initial push
|
|
61
|
+
|
|
62
|
+
Codex, OpenCode, Aider, and similar AGENTS.md-native tools work directly off AGENTS.md without a per-agent variant.
|
|
63
|
+
|
|
64
|
+
`.env` is only the bootstrap app env so local `pnpm dev` works immediately. User-managed public variables are stored with `fimo vars set` and synced into a managed `.env.local` block; hidden values use `fimo secrets set`. See `references/project-vars-and-secrets.md`.
|
|
65
|
+
|
|
66
|
+
## Right after scaffolding
|
|
67
|
+
|
|
68
|
+
Set a human-readable display name with `fimo rename "<Name>"`. Infer it from what the user is building (e.g. "Acme Coffee" for a café site, "Jane Doe Portfolio" for a personal site). The default post-`fimo init` name is an auto-generated slug; renaming updates the dashboard label and the SEO `siteName`.
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
cd my-site
|
|
72
|
+
fimo rename "Acme Coffee"
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Then start the local dev loop and ask the developer what they want to build.** Run the app with the project's package-manager `dev` script — `pnpm dev`, `npm run dev`, `yarn dev`, or `bun dev` (match the lockfile) — in the background; it serves the site on localhost with live reload. Edit, show, iterate. You do not need to deploy to see local changes.
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
pnpm dev & # or npm run dev / yarn dev / bun dev — the project's package manager
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
When a unit of work looks done, **offer** to deploy (`fimo deploy` for a hosted preview / shareable link, `fimo deploy --publish` to go live) and run it only after the developer confirms.
|
|
82
|
+
|
|
83
|
+
**Optional — warm the sandbox early:** only if you already know a deploy is coming, kick off a background `fimo deploy -m "chore: init" &` so the one-time ~15-30s sandbox provision + dep install happens while you work. This is a perf optimization, not a required step — skip it while you're just iterating locally. See `references/deploy.md` § Warm the sandbox early in a session.
|
|
84
|
+
|
|
85
|
+
## Load the project context
|
|
86
|
+
|
|
87
|
+
After `fimo init` completes, the project root has:
|
|
88
|
+
|
|
89
|
+
- `AGENTS.md` (universal) plus the per-agent variant for the AI tool you're running in (e.g. `CLAUDE.md` for Claude Code, `.cursor/rules/fimo.mdc` for Cursor)
|
|
90
|
+
- `.claude/skills/fimo/SKILL.md` (or the equivalent per-agent path) — the project-scope `fimo` skill, version-locked to the installed `fimo` package
|
|
91
|
+
|
|
92
|
+
**These files came into existence mid-session, so they may not be auto-loaded by the harness.** Explicitly:
|
|
93
|
+
|
|
94
|
+
1. `cd <project-dir>` — switch into the new project.
|
|
95
|
+
2. `Read` the project rules file: `AGENTS.md` (or `CLAUDE.md` if you're Claude Code).
|
|
96
|
+
3. `Read` the project skill: `.claude/skills/fimo/SKILL.md` (or `.cursor/skills/fimo/SKILL.md` for Cursor, etc.).
|
|
97
|
+
4. From the project skill's "load these references up front" section, batch-read `references/content.md`, `references/forms.md`, `references/assets.md`, `references/labels.md`, `references/locales.md`, `references/ui.md` before generating any significant code.
|
|
98
|
+
|
|
99
|
+
Once those are in context, generation respects the project's conventions (schemas, `t()`, `fimo/ui` components, asset handling).
|
|
100
|
+
|
|
101
|
+
## Adding another AI tool to an existing project later
|
|
102
|
+
|
|
103
|
+
If a teammate joins on a different AI tool (e.g. Cursor) after the project was scaffolded for claude-code only:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
fimo skills install --agents=cursor # one command — global skill + project skill + rule file
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Run from inside the project. The command detects the project context and wires up everything for the new agent in a single shot. See `references/agent-setup.md`.
|
|
110
|
+
|
|
111
|
+
## Multi-org accounts
|
|
112
|
+
|
|
113
|
+
If you belong to a single organization, `fimo init` defaults to it. If you belong to multiple and don't pass `--org`, the CLI shows an interactive picker. For `fimo init`, pass the org **id** (from the `ID` column of `fimo orgs list`) — not the slug. Use `fimo orgs switch --org <id-or-slug>` to set a default for future `fimo init` invocations. See `references/account.md`.
|
|
114
|
+
</content>
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Firecrawl Integration
|
|
2
2
|
|
|
3
|
+
> **Run via `npx fimo@latest <command>`** — always the latest CLI, no install needed.
|
|
4
|
+
|
|
3
5
|
Use Firecrawl when an agent needs to inspect public websites: landing-page research, competitor structure analysis, migration prep, link extraction, and factual page snapshots. Do not use Firecrawl for private URLs, logged-in websites, or content the user has not asked you to fetch.
|
|
4
6
|
|
|
5
7
|
Current execution support is `search`, `scrape`, `map`, `crawl`, and `monitor.*`.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Integrations
|
|
2
2
|
|
|
3
|
+
> **Run via `npx fimo@latest <command>`** — always the latest CLI, no install needed.
|
|
4
|
+
|
|
3
5
|
Use integrations to enable external services for a Fimo project. API keys are stored by Fimo and never printed back to the CLI. Teammates and agents receive access to the integration, not the underlying token.
|
|
4
6
|
|
|
5
7
|
## Inspect
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Invite users
|
|
2
2
|
|
|
3
|
+
> **Run via `npx fimo@latest <command>`** — always the latest CLI, no install needed.
|
|
4
|
+
|
|
3
5
|
Invite collaborators to your Fimo organization or project. After deploying a website for the first time, suggest inviting team members so they can contribute.
|
|
4
6
|
|
|
5
7
|
## When to suggest inviting users
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Labels workflow
|
|
2
2
|
|
|
3
|
+
> **Run via `npx fimo@latest <command>`** — always the latest CLI, no install needed.
|
|
4
|
+
|
|
3
5
|
> For the `t()` helper signature, `useLabels()` hook, key naming rules, and the "wrap every user-facing string" rule, see **`fimo/references/labels.md`**.
|
|
4
6
|
> For locale configuration and route-prefix validation, see **`references/locales.md`**.
|
|
5
7
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Locales Workflow
|
|
2
2
|
|
|
3
|
+
> **Run via `npx fimo@latest <command>`** — always the latest CLI, no install needed.
|
|
4
|
+
|
|
3
5
|
This file covers CLI-side locale configuration and validation. For code helpers such as `fimoRoutes()` and `FimoLink`, load `fimo/references/locales.md`.
|
|
4
6
|
|
|
5
7
|
## Configure Locales
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Media generation
|
|
2
2
|
|
|
3
|
+
> **Run via `npx fimo@latest <command>`** — always the latest CLI, no install needed.
|
|
4
|
+
|
|
3
5
|
> For uploading existing files, browsing the library, and opening assets, see
|
|
4
6
|
> `references/assets.md`. This file is **only** about generating new media
|
|
5
7
|
> via AI — the `fimo generate <model>` surface.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Preview URL (without deploying)
|
|
2
2
|
|
|
3
|
+
> **Run via `npx fimo@latest <command>`** — always the latest CLI, no install needed.
|
|
4
|
+
|
|
3
5
|
**Use `fimo preview url` whenever you need the current preview link — to open it, screenshot it, hand it to another tool, or verify a change you've already deployed. Never trigger a `fimo deploy` just to refresh a URL.**
|
|
4
6
|
|
|
5
7
|
`fimo deploy` is a milestone command: it commits, pushes, syncs the sandbox, and only then prints the preview URL. `fimo preview url` skips all of that. It calls the API directly, gets a fresh 15-min token, and prints the URL. No commit, no push, no restart. Sub-second on a warm sandbox.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Project Variables And Secrets
|
|
2
2
|
|
|
3
|
+
> **Run via `npx fimo@latest <command>`** — always the latest CLI, no install needed.
|
|
4
|
+
|
|
3
5
|
Use project variables for values that are safe to expose to the browser. Use project secrets for hidden values such as API keys, tokens, webhooks, and service credentials.
|
|
4
6
|
|
|
5
7
|
There is no private-variable mode. If leaking the value would be a problem, use `fimo secrets`.
|
|
@@ -40,7 +42,7 @@ Secrets are not written to `.env.local`, preview app env files, browser bundles,
|
|
|
40
42
|
|
|
41
43
|
## Local Env Files
|
|
42
44
|
|
|
43
|
-
`fimo
|
|
45
|
+
`fimo init` writes `.env` for bootstrap app runtime values such as `VITE_API_URL`. This lets `pnpm dev` work without a Fimo wrapper.
|
|
44
46
|
|
|
45
47
|
`fimo vars set` and `fimo vars pull` write public project variables to a managed block in `.env.local`.
|
|
46
48
|
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
# Managing projects
|
|
2
2
|
|
|
3
|
+
> **Run via `npx fimo@latest <command>`** — always the latest CLI, no install needed.
|
|
4
|
+
|
|
3
5
|
Commands for listing projects across an org, cloning a remote project locally, and managing the lifecycle of a single project (delete, publish, unpublish, rename). Most lifecycle commands operate on the **current project** (read from `.fimo.settings.json` in the cwd) by default; for `delete`, `publish`, and `unpublish` you can pass an explicit `[projectId]` to target another. (`rename` is local-only — it never targets a different project; see below.)
|
|
4
6
|
|
|
5
7
|
## The `fimo projects` namespace
|
|
6
8
|
|
|
7
9
|
```bash
|
|
8
10
|
fimo projects list [--org <id>] # list projects in an org (defaults to active org)
|
|
9
|
-
fimo projects create [dir] [--org <id>] [--install|--no-install] # alias of `fimo create
|
|
11
|
+
fimo projects create [dir] [--org <id>] [--install|--no-install] # alias of `fimo init` (create-new path)
|
|
10
12
|
fimo projects clone [projectId] [dir] [--env <name>] # clone an existing project locally
|
|
11
13
|
fimo projects delete [projectId] [-C <dir>] [-y] # delete (defaults to current project)
|
|
12
14
|
fimo projects publish [projectId] [-C <dir>] # make the project live (publish from main)
|
|
@@ -15,7 +17,7 @@ fimo projects rename <name> [projectId] [-C <dir>] # local-only: set seo.siteN
|
|
|
15
17
|
```
|
|
16
18
|
|
|
17
19
|
- **`list`** — projects you can see in the org. Live projects are marked.
|
|
18
|
-
- **`create`** — identical to `fimo create
|
|
20
|
+
- **`create`** — identical to `fimo init` (create-new path); see `references/init.md`.
|
|
19
21
|
- **`clone`** — clone a remote Fimo project's git repo to your machine and write the local `.fimo.settings.json`/agent files. Use `fimo clone <projectId>` when scripting or when the ID is known. In an interactive terminal, bare `fimo clone` opens a project picker for the active org; JSON mode and non-TTY shells require an explicit project ID and fail fast instead of prompting. By default it clones `main`; pass `--env <name>` to clone a specific env. The target directory defaults to the project display name/name, or pass `[dir]` explicitly.
|
|
20
22
|
- **`delete`** — destructive; prompts unless `-y`. Removes the remote project.
|
|
21
23
|
- **`publish` / `unpublish`** — toggle the project's public visibility. `publish` flips the current `main` state live (the same "go live" as `fimo deploy --publish`, minus the git push). This is **not** the versioned release path — for that, see `fimo publish` in `references/branches.md`.
|
|
@@ -39,7 +41,7 @@ fimo unpublish [-C <dir>] # unpublish the current project
|
|
|
39
41
|
fimo rename "<Site Name>" # local edit: set seo.siteName in fimo-config.json
|
|
40
42
|
```
|
|
41
43
|
|
|
42
|
-
`fimo rename` sets the **site name** (`seo.siteName`) in the local `fimo-config.json` — it is a local edit, not a remote update, so it requires a follow-up commit + `fimo deploy` to take effect. It does **not** change the project's remote display name (the `displayName` shown by `projects list`), which is set once at creation time from the project directory name. See `references/
|
|
44
|
+
`fimo rename` sets the **site name** (`seo.siteName`) in the local `fimo-config.json` — it is a local edit, not a remote update, so it requires a follow-up commit + `fimo deploy` to take effect. It does **not** change the project's remote display name (the `displayName` shown by `projects list`), which is set once at creation time from the project directory name. See `references/init.md` and `references/deploy.md`.
|
|
43
45
|
|
|
44
46
|
## Three "publish" verbs — don't confuse them
|
|
45
47
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Scheduled Commands
|
|
2
2
|
|
|
3
|
+
> **Run via `npx fimo@latest <command>`** — always the latest CLI, no install needed.
|
|
4
|
+
|
|
3
5
|
`fimo schedules` manages recurring commands for a project env. A schedule is scoped to the env of the current checkout by default, or to `--env <name>` when passed.
|
|
4
6
|
|
|
5
7
|
## Commands
|
|
@@ -17,6 +17,8 @@ exports, source repositories, CMS exports, media folders, or any hybrid of those
|
|
|
17
17
|
It owns intake, source inventory, URL crawl bootstrapping, ledger normalization,
|
|
18
18
|
imports, and QA so any LLM can run the work without silently dropping content.
|
|
19
19
|
|
|
20
|
+
> Run every `fimo` command as `npx fimo@latest <command>` — always the latest CLI, no global install.
|
|
21
|
+
|
|
20
22
|
## Non-Negotiables
|
|
21
23
|
|
|
22
24
|
- No source data may disappear silently. Every route, CMS export, entry, media
|
|
@@ -76,7 +76,6 @@ than first-party CSV/XML/JSON exports.
|
|
|
76
76
|
"importedCount": 0,
|
|
77
77
|
"fields": {
|
|
78
78
|
"title": { "type": "string", "source": "Name" },
|
|
79
|
-
"slug": { "type": "string", "source": "Slug" },
|
|
80
79
|
"body": { "type": "richtext", "source": "Post Body" },
|
|
81
80
|
"coverImage": { "type": "media", "source": "Main Image" },
|
|
82
81
|
"publishedAt": { "type": "datetime", "source": "Published On" }
|
|
@@ -85,6 +84,11 @@ than first-party CSV/XML/JSON exports.
|
|
|
85
84
|
}
|
|
86
85
|
```
|
|
87
86
|
|
|
87
|
+
> **Do not put reserved names in `fields`.** `id`, `documentId`, `slug`, `locale`,
|
|
88
|
+
> `createdAt`, `updatedAt`, and `__fimo` are built-in entry metadata — declaring them as
|
|
89
|
+
> schema fields makes `fimo schemas push` fail with a 400. Map a source "Slug" column onto
|
|
90
|
+
> the entry's built-in `slug` (inside `data`) at import time, not onto a schema field.
|
|
91
|
+
|
|
88
92
|
## Entry Batch Item
|
|
89
93
|
|
|
90
94
|
```json
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/build/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/build/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,MAAM,CAAC;AAmFjD,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;OAUG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAGD,wBAAgB,IAAI,CAAC,IAAI,GAAE,eAAoB,GAAG,YAAY,EAAE,CAsB/D"}
|
package/dist/build/vite/index.js
CHANGED
|
@@ -34,16 +34,26 @@ function bundleFimoIntoSsrPlugin() {
|
|
|
34
34
|
config: () => ({
|
|
35
35
|
ssr: { noExternal: ['fimo'] },
|
|
36
36
|
optimizeDeps: {
|
|
37
|
-
include
|
|
38
|
-
|
|
37
|
+
// Pre-include fimo's scanner-invisible dependency surface. The
|
|
38
|
+
// scanner can't traverse the fimo package (virtual: imports), so deps
|
|
39
|
+
// reached only THROUGH fimo (its react-router adapter subpath, its
|
|
40
|
+
// internal react-query usage) get discovered mid-first-load — vite
|
|
41
|
+
// re-optimizes and 504s the in-flight generation's chunks ("Outdated
|
|
42
|
+
// Optimize Dep") and the app never mounts (blank preview; caught by
|
|
43
|
+
// content/query e2e). Deps the template's own source imports (react,
|
|
44
|
+
// react-router) are scanner-visible and need no listing.
|
|
45
|
+
include: ['fimo/ui', 'fimo/react-router', '@tanstack/react-query'],
|
|
46
|
+
rolldownOptions: {
|
|
39
47
|
plugins: [
|
|
40
48
|
{
|
|
41
49
|
name: 'fimo-externalize-virtuals',
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
50
|
+
resolveId(id) {
|
|
51
|
+
if (id.startsWith('virtual:')) {
|
|
52
|
+
return {
|
|
53
|
+
id,
|
|
54
|
+
external: true,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
47
57
|
},
|
|
48
58
|
},
|
|
49
59
|
],
|