naro-cli 0.27.0 → 0.28.0
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 +49 -7
- package/dist/args.d.ts +2 -0
- package/dist/artifact-types.d.ts +1 -1
- package/dist/{chunk-UGJFIEH7.js → chunk-UJGDKNDM.js} +700 -903
- package/dist/deploy.d.ts +11 -2
- package/dist/deploy.js +7 -1
- package/dist/index.js +134 -9
- package/dist/user-adapter.d.ts +32 -0
- package/dist/working-tree.d.ts +1 -1
- package/package.json +5 -6
package/README.md
CHANGED
|
@@ -23,6 +23,18 @@ asks before opening a dotenv file to fill what is missing. Decline and it
|
|
|
23
23
|
prints the `naro env add` commands instead. With `--yes`, `--json` or outside
|
|
24
24
|
a TTY it never asks — it just lists what is missing and deploys.
|
|
25
25
|
|
|
26
|
+
An app whose `next.config` sets its own Next.js adapter (`adapterPath`, or
|
|
27
|
+
`experimental.adapterPath`) gets one question on the first deploy: replace it
|
|
28
|
+
with the Naro adapter on Naro's builders (recommended; your repository stays as
|
|
29
|
+
it is) or keep it, in which case Naro builds with vinext only. The answer is
|
|
30
|
+
saved on the project, so the deploy asks once. `--user-adapter replace|keep`
|
|
31
|
+
answers it without a prompt and saves it too; `naro project set --user-adapter
|
|
32
|
+
replace|keep` changes it later. With `--yes`, `--json` or outside a TTY and no
|
|
33
|
+
saved answer, the deploy only warns and builds as before (replace). When the
|
|
34
|
+
saved answer cannot be read, it asks nothing and warns that the setting could
|
|
35
|
+
not be read, since the saved answer may be keep. A local build has no Naro
|
|
36
|
+
adapter either way; the choice matters for Naro's remote builds.
|
|
37
|
+
|
|
26
38
|
When those names give away a service you are already running, the deploy says
|
|
27
39
|
so instead of leaving you with a list of names. An app that talks to an
|
|
28
40
|
existing Supabase project prints `Supabase — in that project's dashboard:` and
|
|
@@ -36,7 +48,7 @@ effectively your env credentials.
|
|
|
36
48
|
|
|
37
49
|
## Requirements
|
|
38
50
|
|
|
39
|
-
Next.js **
|
|
51
|
+
Next.js **16 or newer**. Next 15 and below are not supported — they stop at the
|
|
40
52
|
version gate right after install with `NEXT_VERSION_UNSUPPORTED`.
|
|
41
53
|
|
|
42
54
|
Vite, Create React App and plain static sites deploy too.
|
|
@@ -65,11 +77,12 @@ naro link | init Link this directory to a Naro project
|
|
|
65
77
|
naro unlink Remove the link
|
|
66
78
|
naro projects [--team <slug>] List projects
|
|
67
79
|
naro project inspect Show the linked project
|
|
68
|
-
naro usage Team usage this month: requests, builds and custom domains against the plan, then by project
|
|
80
|
+
naro usage Team usage this month: requests, builds and custom domains against the plan, then by project, then CPU by project and environment
|
|
69
81
|
naro usage --month 2026-09 --team acme Another UTC month, another team
|
|
70
82
|
|
|
71
83
|
naro deploy [--prod] Build locally and deploy
|
|
72
84
|
naro deploy --env qa Deploy to a named environment (<subdomain>--qa) instead of the preview; not with --prod
|
|
85
|
+
naro deploy --user-adapter keep Answer the Next.js adapter question up front (replace | keep); see the adapter paragraph above
|
|
73
86
|
naro deployments List deployments
|
|
74
87
|
naro inspect <deployment-id> One deployment + build logs
|
|
75
88
|
naro cancel <deployment-id> Stop a build that is still running
|
|
@@ -884,6 +897,31 @@ An `--update-check` you give replaces the default: without
|
|
|
884
897
|
|
|
885
898
|
## Release notes
|
|
886
899
|
|
|
900
|
+
### 0.28.0
|
|
901
|
+
|
|
902
|
+
- Next.js 15 and below are refused up front with `NEXT_VERSION_UNSUPPORTED`
|
|
903
|
+
(`Naro deploys Next.js 16 or newer.`); a newer major than Naro has a release
|
|
904
|
+
date for is no longer reported as too old.
|
|
905
|
+
- The OpenNext fallback is gone. Naro's builders try vinext, then the Naro
|
|
906
|
+
adapter (Next.js 16.2+); local builds try vinext only. An app nothing can
|
|
907
|
+
build or serve fails with `NO_DEPLOYMENT_STRATEGY`. An unreadable
|
|
908
|
+
`vinext check` report no longer stops the deploy; the build and the smoke
|
|
909
|
+
check still decide.
|
|
910
|
+
- `@opennextjs/cloudflare` is no longer a dependency of naro-cli.
|
|
911
|
+
- `naro deploy --user-adapter replace|keep` and `naro project set
|
|
912
|
+
--user-adapter replace|keep` choose what Naro's builders do with an app whose
|
|
913
|
+
`next.config` sets its own Next.js adapter. `naro deploy` asks once when the
|
|
914
|
+
project has no saved choice.
|
|
915
|
+
- With `naro project set --vinext off`, Naro's builders (git push,
|
|
916
|
+
`naro deployments create`) build a Next.js 16.2+ app with the Naro adapter.
|
|
917
|
+
Local builds (`naro deploy`) have no Naro adapter yet, so a server-rendered
|
|
918
|
+
Next.js app cannot deploy locally while vinext is off.
|
|
919
|
+
- `naro usage` adds CPU time by project and environment (observed, not
|
|
920
|
+
billed).
|
|
921
|
+
- naro-mcp 0.27.0 goes out with it: `update_project` and `deploy` take
|
|
922
|
+
`userAdapter`, `deploy` answers `needsAdapterChoice` when it has to ask, and
|
|
923
|
+
`get_team_usage` adds `hosting` (CPU time per project and environment).
|
|
924
|
+
|
|
887
925
|
### 0.27.0
|
|
888
926
|
|
|
889
927
|
- `naro supabase` and `naro supabase disconnect` are gone, with the
|
|
@@ -921,7 +959,12 @@ browser or your own folder (the capability registry in
|
|
|
921
959
|
- Projects: `naro project set` (name, subdomain), `naro project check
|
|
922
960
|
<subdomain>`, `naro project access` (`grant`, `revoke`) and `naro project
|
|
923
961
|
delete`, which asks you to type the project's name (`--yes` only with
|
|
924
|
-
`--project`).
|
|
962
|
+
`--project`). `naro project set --vinext on|off` switches vinext for the
|
|
963
|
+
project. It governs Naro's build runner (git and dashboard deploys), where off
|
|
964
|
+
skips vinext and builds with the Naro adapter (Next.js 16.2 or newer). A local
|
|
965
|
+
`naro deploy` reads it too but has no Naro adapter, so while it is off
|
|
966
|
+
`naro deploy` cannot build a server-rendered Next.js app
|
|
967
|
+
(`NO_DEPLOYMENT_STRATEGY`); static exports (`output: "export"`) still build.
|
|
925
968
|
- The edge: `naro firewall` (`add`, `enable`, `disable`, `remove`), `naro flags`
|
|
926
969
|
(`add`, `on`, `off`, `remove`) and `naro bindings` (`add`, `remove` — removing
|
|
927
970
|
deletes the R2 bucket, KV namespace or D1 database with its data, and asks).
|
|
@@ -1895,10 +1938,9 @@ Next.js), `INSTALL_FAILED` (the dependency install), `ARTIFACT_INVALID` (static
|
|
|
1895
1938
|
output a deploy cannot take, like a symbolic link), `FRAMEWORK_DETECTION_FAILED`
|
|
1896
1939
|
(no framework found, or an Angular app without an output path) and
|
|
1897
1940
|
`BUILD_FAILED` (the app's own build, or a failure that carried no code). A
|
|
1898
|
-
Next.js app is built
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
what each strategy failed at.
|
|
1941
|
+
Next.js app (16 or newer) is built with vinext. Local builds use vinext only for
|
|
1942
|
+
now (no Naro adapter), so an app's own build error there still shows as
|
|
1943
|
+
`NO_DEPLOYMENT_STRATEGY`: read the message and the build log.
|
|
1902
1944
|
|
|
1903
1945
|
`--yes` (or `-y`) suppresses every prompt — destructive actions
|
|
1904
1946
|
(production rollback, promote to production or to an environment, env/domain/environment removal, `naro env import`, turning off an environment's protection, database reset, backend key
|
package/dist/args.d.ts
CHANGED
|
@@ -39,6 +39,8 @@ export interface GlobalFlags {
|
|
|
39
39
|
outputDir?: string | undefined;
|
|
40
40
|
/** `naro project set --vinext on|off`. */
|
|
41
41
|
vinext?: string | undefined;
|
|
42
|
+
/** `naro project set` and `naro deploy`: --user-adapter replace|keep. */
|
|
43
|
+
userAdapter?: string | undefined;
|
|
42
44
|
/** `naro storage sign --expires <seconds>`: 1-3600, an hour by default. */
|
|
43
45
|
expires?: string | undefined;
|
|
44
46
|
/** `naro storage sign --download`: the browser saves the file. */
|
package/dist/artifact-types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export type DeploymentStatus = "QUEUED" | "CLONING" | "INSTALLING" | "BUILDING" | "DEPLOYING" | "READY" | "FAILED";
|
|
3
3
|
/** Mirrors the artifact file shape from the internal build package. */
|
|
4
4
|
export interface ArtifactFile {
|
|
5
|
-
/** Module name relative to the
|
|
5
|
+
/** Module name relative to the build output root. */
|
|
6
6
|
name: string;
|
|
7
7
|
/** Immutable bytes retained after the isolated build workspace is removed. */
|
|
8
8
|
data: Uint8Array;
|