accept-md 2.0.0 → 2.0.1

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 CHANGED
@@ -10,6 +10,14 @@ Use via `npx` (no global install):
10
10
  npx accept-md init
11
11
  ```
12
12
 
13
+ **Recommended:** To ensure you get the latest version (bypassing npx cache):
14
+
15
+ ```bash
16
+ npx --yes accept-md@latest init
17
+ ```
18
+
19
+ The `@latest` flag ensures you get the most recent version even if npx has a cached older version. The `--yes` flag skips the confirmation prompt.
20
+
13
21
  Or install as a dev dependency:
14
22
 
15
23
  ```bash
@@ -23,11 +31,13 @@ pnpm add -D accept-md
23
31
 
24
32
  Scans your Next.js project, detects App Router vs Pages Router and middleware location, and:
25
33
 
26
- - Creates or updates middleware to rewrite `Accept: text/markdown` to the handler
34
+ - Adds rewrites to `next.config.js/ts` (preferred) or creates/updates middleware to rewrite `Accept: text/markdown` to the handler
27
35
  - Adds the handler at `app/api/accept-md/route.ts` or `route.js` (App) or `pages/api/accept-md/index.ts` or `index.js` (Pages), depending on whether the project has TypeScript
28
36
  - Creates `accept-md.config.js`
29
37
  - Adds `accept-md-runtime` to dependencies
30
38
 
39
+ **Note:** Rewrites in `next.config` are preferred over middleware for better compatibility with future Next.js versions. Middleware is still supported for backward compatibility.
40
+
31
41
  **Options:**
32
42
 
33
43
  | Option | Description |
@@ -43,7 +53,22 @@ Reports detected router, routes, and potential issues (missing handler, config,
43
53
 
44
54
  ### `accept-md fix-routes [path]`
45
55
 
46
- Patches `.next/routes-manifest.json` so it has a `dataRoutes` array. Use after `next build` if you hit routesManifest.dataRoutes is not iterable on Next.js 15+ with `next start`.
56
+ Patches `.next/routes-manifest.json` so it has a `dataRoutes` array. Use after `next build` if you hit "routesManifest.dataRoutes is not iterable" on Next.js 15+ with `next start`.
57
+
58
+ ### `accept-md version-check [path]`
59
+
60
+ Checks version compatibility between the CLI and installed `accept-md-runtime` package. Reports any mismatches and suggests fixes.
61
+
62
+ ## Version Management
63
+
64
+ The CLI automatically ensures version compatibility:
65
+
66
+ - Fetches latest version from npm registry when running `init`
67
+ - Installs `accept-md-runtime` with exact version matching (no `^` or `~` ranges)
68
+ - Warns if installed runtime version doesn't match CLI version
69
+ - The `doctor` command also reports version compatibility
70
+
71
+ Use `npx --yes accept-md@latest init` (recommended) to ensure you get the latest version, bypassing any cached older versions.
47
72
 
48
73
  ## Programmatic API
49
74
 
package/dist/cli.js CHANGED
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { createInterface } from 'node:readline';
6
6
  import { resolve } from 'node:path';
7
- import { runInit } from './init.js';
7
+ import { runInit, runVersionCheck } from './init.js';
8
8
  import { runDoctor, formatDoctorReport } from './doctor.js';
9
9
  import { runFixRoutes } from './fix-routes.js';
10
10
  import { detectProject } from './detect.js';
@@ -73,7 +73,7 @@ async function main() {
73
73
  return;
74
74
  }
75
75
  if (command === 'doctor') {
76
- const report = runDoctor(getProjectRoot());
76
+ const report = await runDoctor(getProjectRoot());
77
77
  console.log(formatDoctorReport(report));
78
78
  if (report.issues.length)
79
79
  process.exit(1);
@@ -89,6 +89,14 @@ async function main() {
89
89
  }
90
90
  return;
91
91
  }
92
+ if (command === 'version-check') {
93
+ const result = await runVersionCheck(getProjectRoot());
94
+ result.messages.forEach((m) => console.log(m));
95
+ if (!result.ok) {
96
+ process.exit(1);
97
+ }
98
+ return;
99
+ }
92
100
  console.log(`
93
101
  accept-md
94
102
 
@@ -96,6 +104,7 @@ Usage:
96
104
  npx accept-md init [path] Add markdown middleware to a Next.js project
97
105
  npx accept-md doctor [path] Report routes and check setup
98
106
  npx accept-md fix-routes [path] Ensure routes-manifest has dataRoutes (Next.js 15)
107
+ npx accept-md version-check [path] Check version compatibility between CLI and runtime
99
108
 
100
109
  Init options:
101
110
  --app-dir=<path> App directory (e.g. app or src/app)
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAqCxD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CA8EnE"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAuExD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAgFnE"}
package/dist/detect.js CHANGED
@@ -40,6 +40,41 @@ function findNextAppInWorkspace(projectRoot) {
40
40
  }
41
41
  return undefined;
42
42
  }
43
+ /**
44
+ * Check if next.config has accept-md rewrite configuration.
45
+ * Uses pattern matching to avoid executing the config file.
46
+ */
47
+ function hasAcceptMdRewrite(projectRoot) {
48
+ const configPaths = [
49
+ 'next.config.js',
50
+ 'next.config.ts',
51
+ 'next.config.mjs',
52
+ 'src/next.config.js',
53
+ 'src/next.config.ts',
54
+ 'src/next.config.mjs',
55
+ ];
56
+ for (const configPath of configPaths) {
57
+ const fullPath = join(projectRoot, configPath);
58
+ if (!existsSync(fullPath))
59
+ continue;
60
+ try {
61
+ const content = readFileSync(fullPath, 'utf-8');
62
+ // Check for accept-md rewrite pattern:
63
+ // - destination: '/api/accept-md?path=:path*' or '/api/accept-md?path=:path'
64
+ // - has header with accept and text/markdown
65
+ const hasDestination = /['"]\/api\/accept-md\?path=:path/.test(content);
66
+ const hasAcceptHeader = /accept.*text\/markdown|text\/markdown.*accept/i.test(content);
67
+ const hasBeforeFiles = /beforeFiles/i.test(content);
68
+ if (hasDestination && hasAcceptHeader && hasBeforeFiles) {
69
+ return true;
70
+ }
71
+ }
72
+ catch {
73
+ // Continue to next config file
74
+ }
75
+ }
76
+ return false;
77
+ }
43
78
  export function detectProject(projectRoot) {
44
79
  const pkgPath = join(projectRoot, 'package.json');
45
80
  let nextVersion;
@@ -106,6 +141,7 @@ export function detectProject(projectRoot) {
106
141
  else if (hasPagesDir)
107
142
  routerType = 'pages';
108
143
  const hasTypeScript = existsSync(join(projectRoot, 'tsconfig.json'));
144
+ const hasRewriteConfig = hasAcceptMdRewrite(projectRoot);
109
145
  return {
110
146
  isNext,
111
147
  routerType,
@@ -118,6 +154,7 @@ export function detectProject(projectRoot) {
118
154
  configPath,
119
155
  nextAppPath,
120
156
  hasTypeScript,
157
+ hasRewriteConfig,
121
158
  };
122
159
  }
123
160
  //# sourceMappingURL=detect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../src/detect.ts"],"names":[],"mappings":"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"}
package/dist/doctor.d.ts CHANGED
@@ -2,6 +2,6 @@
2
2
  * Doctor command: report detected routes, conflicts, and suggestions.
3
3
  */
4
4
  import { type DoctorReport } from '@accept-md/core';
5
- export declare function runDoctor(projectRoot: string): DoctorReport;
5
+ export declare function runDoctor(projectRoot: string): Promise<DoctorReport>;
6
6
  export declare function formatDoctorReport(report: DoctorReport): string;
7
7
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE7E,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,CA+D3D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAoC/D"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG7E,wBAAsB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAkF1E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAwC/D"}
package/dist/doctor.js CHANGED
@@ -5,7 +5,8 @@ import { existsSync, readFileSync } from 'node:fs';
5
5
  import { join } from 'node:path';
6
6
  import { detectProject } from './detect.js';
7
7
  import { scanProject, loadConfig } from '@accept-md/core';
8
- export function runDoctor(projectRoot) {
8
+ import { getRuntimeVersion, checkRuntimeVersion } from './init.js';
9
+ export async function runDoctor(projectRoot) {
9
10
  const detected = detectProject(projectRoot);
10
11
  const { routes } = scanProject(projectRoot, {
11
12
  appDir: detected.appDir ?? undefined,
@@ -21,14 +22,21 @@ export function runDoctor(projectRoot) {
21
22
  if (!detected.routerType) {
22
23
  issues.push('No app/ or pages/ directory found.');
23
24
  }
24
- if (detected.middlewarePath) {
25
+ // Check for rewrites first (preferred method)
26
+ if (detected.hasRewriteConfig) {
27
+ suggestions.push('Using next.config rewrites (preferred method).');
28
+ }
29
+ else if (detected.middlewarePath) {
25
30
  const content = readFileSync(join(projectRoot, detected.middlewarePath), 'utf-8');
26
31
  if (!content.includes('accept-md')) {
27
32
  suggestions.push('Middleware exists but markdown rewrite not detected. Run `npx accept-md init` to add it.');
28
33
  }
34
+ else {
35
+ suggestions.push('Using middleware (consider migrating to next.config rewrites for better compatibility).');
36
+ }
29
37
  }
30
38
  else {
31
- suggestions.push('No middleware found (middleware.ts, middleware.js, or under src/). Run init to create it.');
39
+ suggestions.push('No rewrite configuration found. Run `npx accept-md init` to set up rewrites in next.config (preferred) or middleware.');
32
40
  }
33
41
  if (detected.routerType) {
34
42
  const handlerDir = detected.routerType === 'app'
@@ -54,6 +62,21 @@ export function runDoctor(projectRoot) {
54
62
  if (routes.length === 0 && (detected.hasAppDir || detected.hasPagesDir)) {
55
63
  issues.push('No page routes detected. Check that you have page.tsx (app) or index/page files (pages).');
56
64
  }
65
+ // Check version compatibility
66
+ try {
67
+ const cliVersion = await getRuntimeVersion();
68
+ const versionCheck = checkRuntimeVersion(projectRoot, cliVersion);
69
+ if (!versionCheck.compatible && versionCheck.installed) {
70
+ issues.push(versionCheck.message);
71
+ }
72
+ else if (versionCheck.installed) {
73
+ suggestions.push(`Version compatibility: OK (CLI ${cliVersion}, runtime ${versionCheck.installed})`);
74
+ }
75
+ }
76
+ catch {
77
+ // Version check failed (network issue, etc.) - non-blocking
78
+ suggestions.push('Could not verify version compatibility (network issue).');
79
+ }
57
80
  return {
58
81
  detected,
59
82
  routes,
@@ -72,8 +95,11 @@ export function formatDoctorReport(report) {
72
95
  lines.push(` App dir: ${report.detected.hasAppDir} (${report.detected.appDir ?? 'n/a'})`);
73
96
  lines.push(` Pages dir: ${report.detected.hasPagesDir} (${report.detected.pagesDir ?? 'n/a'})`);
74
97
  lines.push(` Middleware: ${report.detected.middlewarePath ?? 'none'}`);
98
+ lines.push(` Rewrites: ${report.detected.hasRewriteConfig ? 'yes (preferred)' : 'no'}`);
75
99
  lines.push(` Config: ${report.detected.configPath ?? 'none'}`);
76
100
  lines.push('');
101
+ // Version info will be in suggestions or issues
102
+ lines.push('');
77
103
  lines.push(`Routes (${report.routes.length}):`);
78
104
  for (const r of report.routes.slice(0, 30)) {
79
105
  lines.push(` ${r.path} ${r.isDynamic ? '(dynamic)' : ''}`);
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
package/dist/init.d.ts CHANGED
@@ -1,11 +1,29 @@
1
1
  /**
2
2
  * Init command: generate middleware, handler, config, and add dependency.
3
3
  */
4
+ /** Get the current CLI version to use for accept-md-runtime. */
5
+ export declare function getRuntimeVersion(): Promise<string>;
6
+ /**
7
+ * Check if installed accept-md-runtime version matches expected version.
8
+ */
9
+ export declare function checkRuntimeVersion(projectRoot: string, expectedVersion: string): {
10
+ compatible: boolean;
11
+ installed?: string;
12
+ message: string;
13
+ };
4
14
  export interface InitOverrides {
5
15
  appDir?: string;
6
16
  pagesDir?: string;
7
17
  middlewarePath?: string;
8
18
  }
19
+ /**
20
+ * Check version compatibility between CLI and installed runtime.
21
+ * Exported for use in version-check command.
22
+ */
23
+ export declare function runVersionCheck(projectRoot: string): Promise<{
24
+ ok: boolean;
25
+ messages: string[];
26
+ }>;
9
27
  export declare function runInit(projectRoot: string, overrides?: InitOverrides): Promise<{
10
28
  ok: boolean;
11
29
  messages: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAqIH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,OAAO,CAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAoI9C"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiCH,gEAAgE;AAChE,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAwBzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,GACtB;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAwD9D;AAmPD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAuBvG;AAED,wBAAsB,OAAO,CAC3B,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAgO9C"}
package/dist/init.js CHANGED
@@ -8,8 +8,33 @@ import { detectProject } from './detect.js';
8
8
  import { scanProject } from '@accept-md/core';
9
9
  import { MIDDLEWARE_TEMPLATE, APP_ROUTE_HANDLER_TEMPLATE, PAGES_API_HANDLER_TEMPLATE, } from 'accept-md-runtime';
10
10
  const MARKDOWN_MARKER = 'accept-md';
11
+ /**
12
+ * Fetch the latest published version of a package from npm registry.
13
+ */
14
+ async function fetchLatestVersionFromRegistry(packageName) {
15
+ try {
16
+ const response = await fetch(`https://registry.npmjs.org/${packageName}/latest`, {
17
+ headers: {
18
+ Accept: 'application/json',
19
+ },
20
+ });
21
+ if (!response.ok)
22
+ return null;
23
+ const data = await response.json();
24
+ return data.version || null;
25
+ }
26
+ catch {
27
+ return null;
28
+ }
29
+ }
11
30
  /** Get the current CLI version to use for accept-md-runtime. */
12
- function getRuntimeVersion() {
31
+ export async function getRuntimeVersion() {
32
+ // Try fetching latest from npm registry first
33
+ const latestVersion = await fetchLatestVersionFromRegistry('accept-md');
34
+ if (latestVersion) {
35
+ return latestVersion; // Return exact version, no ^ prefix
36
+ }
37
+ // Fallback to local package.json version
13
38
  try {
14
39
  const __filename = fileURLToPath(import.meta.url);
15
40
  const __dirname = dirname(__filename);
@@ -18,7 +43,7 @@ function getRuntimeVersion() {
18
43
  const cliPkg = JSON.parse(readFileSync(cliPkgPath, 'utf-8'));
19
44
  const version = cliPkg.version;
20
45
  if (version && typeof version === 'string') {
21
- return `^${version}`;
46
+ return version; // Return exact version, no ^ prefix
22
47
  }
23
48
  }
24
49
  }
@@ -26,7 +51,199 @@ function getRuntimeVersion() {
26
51
  // Fall through to default
27
52
  }
28
53
  // Fallback: use current version (update this when publishing)
29
- return '^1.0.24';
54
+ return '2.0.1';
55
+ }
56
+ /**
57
+ * Check if installed accept-md-runtime version matches expected version.
58
+ */
59
+ export function checkRuntimeVersion(projectRoot, expectedVersion) {
60
+ const pkgPath = join(projectRoot, 'package.json');
61
+ if (!existsSync(pkgPath)) {
62
+ return {
63
+ compatible: true,
64
+ message: 'accept-md-runtime not installed yet.',
65
+ };
66
+ }
67
+ try {
68
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
69
+ const installedVersion = pkg.dependencies?.['accept-md-runtime'] || pkg.devDependencies?.['accept-md-runtime'];
70
+ if (!installedVersion) {
71
+ return {
72
+ compatible: true,
73
+ message: 'accept-md-runtime not installed yet.',
74
+ };
75
+ }
76
+ // Extract version number from version string (handle ranges like ^2.0.1, ~2.0.1, 2.0.1)
77
+ const extractVersion = (v) => {
78
+ // Remove range prefixes
79
+ return v.replace(/^[\^~>=<]+\s*/, '').trim();
80
+ };
81
+ const installed = extractVersion(installedVersion);
82
+ const expected = extractVersion(expectedVersion);
83
+ if (installed === expected) {
84
+ return {
85
+ compatible: true,
86
+ installed,
87
+ message: `Version match: accept-md-runtime@${installed}`,
88
+ };
89
+ }
90
+ // Check if it's a major version mismatch (more serious)
91
+ const installedMajor = installed.split('.')[0];
92
+ const expectedMajor = expected.split('.')[0];
93
+ const isMajorMismatch = installedMajor !== expectedMajor;
94
+ return {
95
+ compatible: false,
96
+ installed,
97
+ message: isMajorMismatch
98
+ ? `⚠️ Major version mismatch: CLI expects accept-md-runtime@${expected} but found ${installedVersion}. This may cause compatibility issues. Run: npm install accept-md-runtime@${expected}`
99
+ : `⚠️ Version mismatch: CLI expects accept-md-runtime@${expected} but found ${installedVersion}. Run: npm install accept-md-runtime@${expected}`,
100
+ };
101
+ }
102
+ catch {
103
+ return {
104
+ compatible: true,
105
+ message: 'Could not check version (package.json parse error).',
106
+ };
107
+ }
108
+ }
109
+ /**
110
+ * Find next.config file in project root.
111
+ */
112
+ function findNextConfig(projectRoot) {
113
+ const configPaths = [
114
+ 'next.config.js',
115
+ 'next.config.ts',
116
+ 'next.config.mjs',
117
+ ];
118
+ for (const configPath of configPaths) {
119
+ const fullPath = join(projectRoot, configPath);
120
+ if (existsSync(fullPath)) {
121
+ return configPath;
122
+ }
123
+ }
124
+ return null;
125
+ }
126
+ /**
127
+ * Check if next.config already has accept-md rewrite.
128
+ */
129
+ function hasAcceptMdRewriteInConfig(projectRoot, configPath) {
130
+ try {
131
+ const fullPath = join(projectRoot, configPath);
132
+ const content = readFileSync(fullPath, 'utf-8');
133
+ // Check for accept-md rewrite pattern
134
+ const hasDestination = /['"]\/api\/accept-md\?path=:path/.test(content);
135
+ const hasAcceptHeader = /accept.*text\/markdown|text\/markdown.*accept/i.test(content);
136
+ const hasBeforeFiles = /beforeFiles/i.test(content);
137
+ return hasDestination && hasAcceptHeader && hasBeforeFiles;
138
+ }
139
+ catch {
140
+ return false;
141
+ }
142
+ }
143
+ /**
144
+ * Add accept-md rewrite to next.config file.
145
+ * Uses string manipulation to safely add the rewrite without executing the config.
146
+ */
147
+ function addRewriteToNextConfig(projectRoot, configPath) {
148
+ try {
149
+ const fullPath = join(projectRoot, configPath);
150
+ const content = readFileSync(fullPath, 'utf-8');
151
+ // Check if rewrites already exist
152
+ const hasRewrites = /rewrites\s*[:=]/.test(content);
153
+ const hasBeforeFiles = /beforeFiles\s*[:=]/.test(content);
154
+ // Format the rewrite object as a string (JS-compatible)
155
+ const rewriteStr = ` {
156
+ source: '/:path*',
157
+ destination: '/api/accept-md?path=:path*',
158
+ has: [
159
+ {
160
+ type: 'header',
161
+ key: 'accept',
162
+ value: '(.*)text/markdown(.*)',
163
+ },
164
+ ],
165
+ }`;
166
+ if (hasRewrites && hasBeforeFiles) {
167
+ // Find beforeFiles array and add to it
168
+ const beforeFilesMatch = content.match(/beforeFiles\s*[:=]\s*\[/);
169
+ if (beforeFilesMatch) {
170
+ const insertPos = beforeFilesMatch.index + beforeFilesMatch[0].length;
171
+ // Check if array is empty or has items
172
+ const afterBracket = content.slice(insertPos);
173
+ const nextBracket = afterBracket.indexOf(']');
174
+ const arrayContent = afterBracket.slice(0, nextBracket).trim();
175
+ const needsComma = arrayContent.length > 0 && !arrayContent.endsWith(',');
176
+ const newContent = content.slice(0, insertPos) +
177
+ (needsComma ? ',\n' : '') +
178
+ rewriteStr +
179
+ '\n' +
180
+ content.slice(insertPos);
181
+ writeFileSync(fullPath, newContent);
182
+ return { success: true, message: `Added accept-md rewrite to ${configPath}.` };
183
+ }
184
+ }
185
+ else if (hasRewrites) {
186
+ // Has rewrites but no beforeFiles - add beforeFiles
187
+ const rewritesMatch = content.match(/rewrites\s*[:=]\s*\{/);
188
+ if (rewritesMatch) {
189
+ const insertPos = rewritesMatch.index + rewritesMatch[0].length;
190
+ const newContent = content.slice(0, insertPos) +
191
+ '\n beforeFiles: [\n' +
192
+ rewriteStr +
193
+ '\n ],\n' +
194
+ content.slice(insertPos);
195
+ writeFileSync(fullPath, newContent);
196
+ return { success: true, message: `Added accept-md rewrite to ${configPath}.` };
197
+ }
198
+ }
199
+ else {
200
+ // No rewrites at all - add rewrites function or object
201
+ const configMatch = content.match(/(const|let|var)\s+nextConfig\s*[:=]/);
202
+ if (configMatch) {
203
+ const insertPos = configMatch.index + configMatch[0].length;
204
+ // Find the closing brace of nextConfig
205
+ let braceCount = 0;
206
+ let inString = false;
207
+ let stringChar = '';
208
+ let pos = insertPos;
209
+ while (pos < content.length) {
210
+ const char = content[pos];
211
+ if (!inString && (char === '"' || char === "'" || char === '`')) {
212
+ inString = true;
213
+ stringChar = char;
214
+ }
215
+ else if (inString && char === stringChar && content[pos - 1] !== '\\') {
216
+ inString = false;
217
+ }
218
+ else if (!inString) {
219
+ if (char === '{')
220
+ braceCount++;
221
+ if (char === '}') {
222
+ braceCount--;
223
+ if (braceCount === 0) {
224
+ // Found closing brace
225
+ const newContent = content.slice(0, pos) +
226
+ '\n rewrites: async () => {\n return {\n beforeFiles: [\n' +
227
+ rewriteStr +
228
+ '\n ],\n };\n },\n' +
229
+ content.slice(pos);
230
+ writeFileSync(fullPath, newContent);
231
+ return { success: true, message: `Added accept-md rewrite to ${configPath}.` };
232
+ }
233
+ }
234
+ }
235
+ pos++;
236
+ }
237
+ }
238
+ }
239
+ return { success: false, message: `Could not automatically add rewrite to ${configPath}. Please add it manually.` };
240
+ }
241
+ catch (err) {
242
+ return {
243
+ success: false,
244
+ message: `Error modifying ${configPath}: ${err instanceof Error ? err.message : 'Unknown error'}`,
245
+ };
246
+ }
30
247
  }
31
248
  /** When writing .ts files, add type annotations so strict type-check passes. Leaves .js content unchanged. */
32
249
  function forTypeScript(content, kind, ext) {
@@ -102,6 +319,32 @@ export async function middleware(request) {
102
319
  writeFileSync(join(projectRoot, userPath), content);
103
320
  return wrapper;
104
321
  }
322
+ /**
323
+ * Check version compatibility between CLI and installed runtime.
324
+ * Exported for use in version-check command.
325
+ */
326
+ export async function runVersionCheck(projectRoot) {
327
+ const messages = [];
328
+ // Get CLI version
329
+ const cliVersion = await getRuntimeVersion();
330
+ messages.push(`CLI version: ${cliVersion}`);
331
+ // Check installed runtime version
332
+ const versionCheck = checkRuntimeVersion(projectRoot, cliVersion);
333
+ if (versionCheck.installed) {
334
+ messages.push(`Installed accept-md-runtime: ${versionCheck.installed}`);
335
+ }
336
+ else {
337
+ messages.push('accept-md-runtime: not installed');
338
+ }
339
+ if (versionCheck.compatible) {
340
+ messages.push('✓ Version compatibility: OK');
341
+ return { ok: true, messages };
342
+ }
343
+ else {
344
+ messages.push(versionCheck.message);
345
+ return { ok: false, messages };
346
+ }
347
+ }
105
348
  export async function runInit(projectRoot, overrides) {
106
349
  const messages = [];
107
350
  const detection = detectProject(projectRoot);
@@ -123,22 +366,106 @@ export async function runInit(projectRoot, overrides) {
123
366
  messages.push(`Detected Next.js (${detection.routerType} router).`);
124
367
  const { routes } = scanProject(projectRoot, { appDir, pagesDir });
125
368
  messages.push(`Found ${routes.length} route(s).`);
126
- const middlewarePathAbs = join(projectRoot, middlewarePathRel);
127
- let middlewareContent;
128
- if (detection.middlewarePath && existsSync(middlewarePathAbs)) {
129
- middlewareContent = getMiddlewareWithExisting(middlewarePathRel, projectRoot);
130
- if (middlewareContent.includes('middleware.user')) {
131
- const userPath = middlewarePathRel.replace(/\.(ts|js)$/, '.user.$1');
132
- messages.push(`Existing middleware backed up to ${userPath} – markdown runs first.`);
369
+ // Prefer rewrites in next.config over middleware
370
+ const nextConfigPath = findNextConfig(projectRoot);
371
+ let useRewrites = false;
372
+ if (nextConfigPath) {
373
+ if (hasAcceptMdRewriteInConfig(projectRoot, nextConfigPath)) {
374
+ messages.push(`Accept-md rewrite already exists in ${nextConfigPath}.`);
375
+ useRewrites = true;
376
+ }
377
+ else {
378
+ const result = addRewriteToNextConfig(projectRoot, nextConfigPath);
379
+ if (result.success) {
380
+ messages.push(result.message);
381
+ useRewrites = true;
382
+ }
383
+ else {
384
+ messages.push(`Could not add rewrite to ${nextConfigPath}: ${result.message}. Falling back to middleware.`);
385
+ }
133
386
  }
134
387
  }
135
388
  else {
136
- middlewareContent = MIDDLEWARE_TEMPLATE;
389
+ // No next.config found - create one with rewrites
390
+ const newConfigPath = detection.hasTypeScript ? 'next.config.ts' : 'next.config.js';
391
+ const configContent = detection.hasTypeScript
392
+ ? `import type { NextConfig } from 'next';
393
+
394
+ const nextConfig: NextConfig = {
395
+ rewrites: async () => {
396
+ return {
397
+ beforeFiles: [
398
+ {
399
+ source: '/:path*',
400
+ destination: '/api/accept-md?path=:path*',
401
+ has: [
402
+ {
403
+ type: 'header',
404
+ key: 'accept',
405
+ value: '(.*)text/markdown(.*)',
406
+ },
407
+ ],
408
+ },
409
+ ],
410
+ };
411
+ },
412
+ };
413
+
414
+ export default nextConfig;
415
+ `
416
+ : `/** @type { import('next').NextConfig } */
417
+ const nextConfig = {
418
+ rewrites: async () => {
419
+ return {
420
+ beforeFiles: [
421
+ {
422
+ source: '/:path*',
423
+ destination: '/api/accept-md?path=:path*',
424
+ has: [
425
+ {
426
+ type: 'header',
427
+ key: 'accept',
428
+ value: '(.*)text/markdown(.*)',
429
+ },
430
+ ],
431
+ },
432
+ ],
433
+ };
434
+ },
435
+ };
436
+
437
+ module.exports = nextConfig;
438
+ `;
439
+ writeFileSync(join(projectRoot, newConfigPath), configContent);
440
+ messages.push(`Created ${newConfigPath} with accept-md rewrite.`);
441
+ useRewrites = true;
442
+ }
443
+ // Only create middleware if rewrites weren't successfully added
444
+ if (!useRewrites) {
445
+ const middlewarePathAbs = join(projectRoot, middlewarePathRel);
446
+ let middlewareContent;
447
+ if (detection.middlewarePath && existsSync(middlewarePathAbs)) {
448
+ middlewareContent = getMiddlewareWithExisting(middlewarePathRel, projectRoot);
449
+ if (middlewareContent.includes('middleware.user')) {
450
+ const userPath = middlewarePathRel.replace(/\.(ts|js)$/, '.user.$1');
451
+ messages.push(`Existing middleware backed up to ${userPath} – markdown runs first.`);
452
+ }
453
+ }
454
+ else {
455
+ middlewareContent = MIDDLEWARE_TEMPLATE;
456
+ }
457
+ const middlewareOutputExt = middlewarePathRel.match(/\.(ts|js)$/)?.[1] ?? 'js';
458
+ middlewareContent = forTypeScript(middlewareContent, middlewareContent.includes('middleware.user') ? 'wrapper' : 'middleware', middlewareOutputExt);
459
+ writeFileSync(middlewarePathAbs, middlewareContent);
460
+ messages.push(`Wrote ${middlewarePathRel}.`);
461
+ }
462
+ else if (detection.middlewarePath && existsSync(join(projectRoot, middlewarePathRel))) {
463
+ // Rewrites are being used, but middleware exists - inform user
464
+ const middlewareContent = readFileSync(join(projectRoot, middlewarePathRel), 'utf-8');
465
+ if (middlewareContent.includes(MARKDOWN_MARKER)) {
466
+ messages.push(`Note: ${middlewarePathRel} exists but rewrites are preferred. You can remove the middleware file if desired.`);
467
+ }
137
468
  }
138
- const middlewareOutputExt = middlewarePathRel.match(/\.(ts|js)$/)?.[1] ?? 'js';
139
- middlewareContent = forTypeScript(middlewareContent, middlewareContent.includes('middleware.user') ? 'wrapper' : 'middleware', middlewareOutputExt);
140
- writeFileSync(middlewarePathAbs, middlewareContent);
141
- messages.push(`Wrote ${middlewarePathRel}.`);
142
469
  const routeExt = detection.hasTypeScript ? 'ts' : 'js';
143
470
  if (detection.routerType === 'app') {
144
471
  const handlerDir = join(projectRoot, appDir, 'api', 'accept-md');
@@ -180,9 +507,16 @@ module.exports = {
180
507
  if (existsSync(pkgPath)) {
181
508
  const pkg = JSON.parse(readFileSync(pkgPath, 'utf-8'));
182
509
  let pkgModified = false;
183
- const runtimeVersion = getRuntimeVersion();
510
+ const runtimeVersion = await getRuntimeVersion();
184
511
  const hasRuntimeInDeps = pkg.dependencies?.['accept-md-runtime'];
185
512
  const hasRuntimeInDevDeps = pkg.devDependencies?.['accept-md-runtime'];
513
+ // Check version compatibility before installing/updating
514
+ if (hasRuntimeInDeps || hasRuntimeInDevDeps) {
515
+ const versionCheck = checkRuntimeVersion(projectRoot, runtimeVersion);
516
+ if (!versionCheck.compatible) {
517
+ messages.push(versionCheck.message);
518
+ }
519
+ }
186
520
  if (!hasRuntimeInDeps && !hasRuntimeInDevDeps) {
187
521
  pkg.dependencies = pkg.dependencies || {};
188
522
  pkg.dependencies['accept-md-runtime'] = runtimeVersion;
@@ -190,9 +524,11 @@ module.exports = {
190
524
  messages.push(`Added accept-md-runtime@${runtimeVersion} to dependencies. Run pnpm install (or npm install).`);
191
525
  }
192
526
  else {
193
- // Update existing installation to latest version
527
+ // Update existing installation to exact matching version
194
528
  const currentVersion = hasRuntimeInDeps || hasRuntimeInDevDeps;
195
- if (currentVersion !== runtimeVersion) {
529
+ // Extract version number for comparison (handle ranges)
530
+ const extractVersion = (v) => v.replace(/^[\^~>=<]+\s*/, '').trim();
531
+ if (extractVersion(currentVersion) !== runtimeVersion) {
196
532
  if (hasRuntimeInDeps) {
197
533
  pkg.dependencies['accept-md-runtime'] = runtimeVersion;
198
534
  }
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "accept-md",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "CLI and init for accept-md: serve Markdown from Next.js via Accept: text/markdown",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -42,8 +42,8 @@
42
42
  "README.md"
43
43
  ],
44
44
  "dependencies": {
45
- "@accept-md/core": "2.0.0",
46
- "accept-md-runtime": "2.0.0"
45
+ "@accept-md/core": "2.0.1",
46
+ "accept-md-runtime": "2.0.1"
47
47
  },
48
48
  "devDependencies": {
49
49
  "typescript": "^5.3.0"