create-nextly-app 0.0.2-alpha.60 → 0.0.2-alpha.62

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/dist/cli.cjs CHANGED
@@ -6259,7 +6259,7 @@ var require_package = __commonJS({
6259
6259
  "package.json"(exports$1, module) {
6260
6260
  module.exports = {
6261
6261
  name: "create-nextly-app",
6262
- version: "0.0.2-alpha.60",
6262
+ version: "0.0.2-alpha.62",
6263
6263
  description: "CLI to scaffold Nextly in your Next.js project",
6264
6264
  license: "MIT",
6265
6265
  type: "module",
@@ -6301,11 +6301,13 @@ var require_package = __commonJS({
6301
6301
  },
6302
6302
  devDependencies: {
6303
6303
  "@nextlyhq/eslint-config": "workspace:*",
6304
+ "@nextlyhq/eslint-plugin": "workspace:*",
6304
6305
  "@nextlyhq/telemetry": "workspace:*",
6305
6306
  "@nextlyhq/tsconfig": "workspace:*",
6306
6307
  "@types/fs-extra": "^11.0.4",
6307
6308
  "@types/node": "^20.19.17",
6308
6309
  "@types/tar": "^6.1.13",
6310
+ "@typescript-eslint/parser": "^8.59.0",
6309
6311
  "@vitest/coverage-v8": "^4.1.0",
6310
6312
  "@vitest/ui": "^4.1.0",
6311
6313
  eslint: "^9.39.1",
@@ -28760,7 +28762,15 @@ async function walkSourceFiles(root) {
28760
28762
  function projectUsesFormBuilder(projectType) {
28761
28763
  return PROJECT_TYPES_WITH_FORM_BUILDER.has(projectType);
28762
28764
  }
28763
- var CONTENT_TEMPLATE_TYPES = /* @__PURE__ */ new Set(["blog"]);
28765
+ var CONTENT_TEMPLATE_TYPES = /* @__PURE__ */ new Set([
28766
+ "blog",
28767
+ // The plugin template installs `@nextlyhq/eslint-plugin` for the design-token
28768
+ // rules, and that package exists on `alpha` only — `latest` is the conservative
28769
+ // tag and lags the active release line. Pinned to `latest` a plugin scaffold
28770
+ // would resolve a version of it that predates the rules, exactly as a content
28771
+ // scaffold would resolve a `nextly` missing the helpers its pages import.
28772
+ "plugin"
28773
+ ]);
28764
28774
  function templateNextlyChannel(projectType) {
28765
28775
  return CONTENT_TEMPLATE_TYPES.has(projectType) ? "alpha" : "latest";
28766
28776
  }
@@ -29048,7 +29058,12 @@ var PINNED_VERSIONS = {
29048
29058
  "@types/react-dom": "^19",
29049
29059
  "@tailwindcss/postcss": "^4",
29050
29060
  tailwindcss: "^4",
29051
- eslint: "^9"
29061
+ eslint: "^9",
29062
+ // Compiles `nextly.config.ts` so the dev server and the CLI can read it.
29063
+ // An optional peer of `nextly` rather than a dependency, because nothing
29064
+ // that serves a request needs it: a production install omitting dev
29065
+ // dependencies never downloads it.
29066
+ esbuild: "^0.28.1"
29052
29067
  };
29053
29068
  var RUNTIME_RESOLVED_PACKAGES = ["next", "eslint-config-next"];
29054
29069
  var NEXTLY_PACKAGES = [
@@ -29060,7 +29075,8 @@ var NEXTLY_PACKAGES = [
29060
29075
  "@nextlyhq/adapter-mysql",
29061
29076
  "@nextlyhq/adapter-sqlite",
29062
29077
  "@nextlyhq/plugin-form-builder",
29063
- "@nextlyhq/plugin-sdk"
29078
+ "@nextlyhq/plugin-sdk",
29079
+ "@nextlyhq/eslint-plugin"
29064
29080
  ];
29065
29081
  var resolvedNextlyVersions = /* @__PURE__ */ new Map();
29066
29082
  async function fetchLatestVersion(pkg2, channel = "latest") {
@@ -29107,7 +29123,11 @@ async function resolveRuntimeVersions() {
29107
29123
  }
29108
29124
  async function generatePackageJson(projectName, database, useYalc = false, projectType = "blank", templateDirs = [], targetDir) {
29109
29125
  if (projectType === "plugin") {
29110
- return generatePluginPackageJson(projectName, useYalc);
29126
+ return generatePluginPackageJson(
29127
+ projectName,
29128
+ useYalc,
29129
+ templateNextlyChannel(projectType)
29130
+ );
29111
29131
  }
29112
29132
  const runtimeVersions = await resolveRuntimeVersions();
29113
29133
  const dependencies = {
@@ -29142,7 +29162,11 @@ async function generatePackageJson(projectName, database, useYalc = false, proje
29142
29162
  "@tailwindcss/postcss": PINNED_VERSIONS["@tailwindcss/postcss"],
29143
29163
  tailwindcss: PINNED_VERSIONS.tailwindcss,
29144
29164
  eslint: PINNED_VERSIONS.eslint,
29145
- "eslint-config-next": runtimeVersions["eslint-config-next"]
29165
+ "eslint-config-next": runtimeVersions["eslint-config-next"],
29166
+ // Declared HERE rather than inherited: `nextly` takes esbuild as an
29167
+ // optional peer, so nothing installs it on a project's behalf. Without it
29168
+ // the dev server cannot read `nextly.config.ts`.
29169
+ esbuild: PINNED_VERSIONS.esbuild
29146
29170
  };
29147
29171
  const shipsSearchIndex = targetDir ? await projectHasSearchIndexScript(targetDir) : false;
29148
29172
  if (shipsSearchIndex) devDependencies.pagefind = "^1.1.0";
@@ -29203,10 +29227,10 @@ async function resolvePluginNextlyRange(useYalc) {
29203
29227
  const v2 = versions["nextly"];
29204
29228
  return v2 && v2 !== "latest" ? v2 : ">=0.0.0";
29205
29229
  }
29206
- async function generatePluginPackageJson(projectName, useYalc) {
29207
- const versions = useYalc ? {} : await resolveNextlyVersions();
29230
+ async function generatePluginPackageJson(projectName, useYalc, channel) {
29231
+ const versions = useYalc ? {} : await resolveNextlyVersions(channel);
29208
29232
  const runtimeVersions = await resolveRuntimeVersions();
29209
- const range = (pkg3) => versions[pkg3] ?? "latest";
29233
+ const range = (pkg3) => versions[pkg3] ?? channel;
29210
29234
  const peerDependencies = {
29211
29235
  nextly: range("nextly"),
29212
29236
  "@nextlyhq/admin": range("@nextlyhq/admin"),
@@ -29238,7 +29262,11 @@ async function generatePluginPackageJson(projectName, useYalc) {
29238
29262
  vitest: "^4.1.0",
29239
29263
  eslint: PINNED_VERSIONS.eslint,
29240
29264
  "@eslint/js": PINNED_VERSIONS.eslint,
29241
- "typescript-eslint": "^8.0.0"
29265
+ "typescript-eslint": "^8.0.0",
29266
+ // The design-token rules the admin holds itself to. Shipped to the author
29267
+ // rather than documented at them: a rule that runs only in Nextly's own
29268
+ // repository governs the first-party plugins and nothing anyone else builds.
29269
+ "@nextlyhq/eslint-plugin": range("@nextlyhq/eslint-plugin")
29242
29270
  };
29243
29271
  const pkg2 = {
29244
29272
  name: projectName,