kreftjs 0.0.6-beta → 0.0.9-beta

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.
Files changed (92) hide show
  1. package/README.md +5 -31
  2. package/bin/artisan-more.js +2 -0
  3. package/bin/artisan.js +51 -49
  4. package/bin/backend/config.js +2 -2
  5. package/bin/backend/http.js +5 -5
  6. package/bin/backend/index.js +2 -2
  7. package/bin/backend/mcp.js +3 -5
  8. package/bin/backend/migrator.js +1 -3
  9. package/bin/backend/query.js +1 -1
  10. package/bin/backend/queue.js +8 -9
  11. package/bin/backend/redis.js +1 -1
  12. package/bin/backend/typescript.js +1 -1
  13. package/bin/build.js +23 -19
  14. package/bin/db-api.js +2 -2
  15. package/bin/db.js +4 -4
  16. package/bin/deps.js +1 -1
  17. package/bin/electron.js +3 -5
  18. package/bin/kreftjs-config.js +1 -6
  19. package/bin/kreftjs.js +34 -35
  20. package/bin/layout.js +1 -1
  21. package/bin/no-auth.js +21 -19
  22. package/bin/prerender.js +1 -1
  23. package/bin/ssr.js +3 -3
  24. package/bin/update.js +10 -10
  25. package/docs/{Docs.kreftjs → Docs.kreft} +1 -1
  26. package/docs/README.md +90 -102
  27. package/editors/vscode/README.md +3 -3
  28. package/editors/vscode/package.json +3 -4
  29. package/editors/vscode/snippets/kreftjs.json +2 -2
  30. package/kreftjs.d.ts +15 -27
  31. package/kreftjs.js +69 -79
  32. package/package.json +4 -4
  33. package/templates/app/README.md +11 -11
  34. package/templates/app/_env.example +4 -2
  35. package/templates/app/_vscode/settings.json +3 -2
  36. package/templates/app/backend/app/Http/Controllers/Admin/DashboardController.js +2 -2
  37. package/templates/app/backend/app/Http/Controllers/Admin/UserController.js +1 -1
  38. package/templates/app/backend/app/Http/Controllers/Auth/ApiTokenController.js +1 -1
  39. package/templates/app/backend/app/Http/Controllers/Auth/AuthenticatedSessionController.js +1 -1
  40. package/templates/app/backend/app/Http/Controllers/Auth/ConfirmablePasswordController.js +1 -1
  41. package/templates/app/backend/app/Http/Controllers/Auth/EmailVerificationController.js +1 -1
  42. package/templates/app/backend/app/Http/Controllers/Auth/NewPasswordController.js +1 -1
  43. package/templates/app/backend/app/Http/Controllers/Auth/PasswordResetLinkController.js +1 -1
  44. package/templates/app/backend/app/Http/Controllers/Auth/RegisteredUserController.js +1 -1
  45. package/templates/app/backend/app/Http/Controllers/Auth/SessionController.js +1 -1
  46. package/templates/app/backend/app/Http/Controllers/Auth/TwoFactorController.js +1 -1
  47. package/templates/app/backend/app/Http/Controllers/ProfileController.js +1 -1
  48. package/templates/app/backend/app/Http/Middleware/RequirePassword.js +1 -1
  49. package/templates/app/frontend/{App.kreftjs → App.kreft} +1 -1
  50. package/templates/app/frontend/components/profile/{ApiTokens.kreftjs → ApiTokens.kreft} +1 -1
  51. package/templates/app/frontend/components/profile/{Sessions.kreftjs → Sessions.kreft} +1 -1
  52. package/templates/app/frontend/components/profile/{TwoFactor.kreftjs → TwoFactor.kreft} +1 -1
  53. package/templates/app/frontend/errors/{ErrorMonitor.kreftjs → ErrorMonitor.kreft} +6 -4
  54. package/templates/app/frontend/index.html +8 -8
  55. package/templates/app/frontend/kreftjs.d.ts +15 -27
  56. package/templates/app/frontend/kreftjs.js +69 -79
  57. package/templates/app/frontend/layouts/{app.kreftjs → app.kreft} +7 -1
  58. package/templates/app/frontend/layouts/{docs.kreftjs → docs.kreft} +1 -1
  59. package/templates/app/frontend/pages/{Dashboard.kreftjs → Dashboard.kreft} +4 -2
  60. package/templates/app/frontend/pages/{ErrorMonitor.kreftjs → ErrorMonitor.kreft} +2 -2
  61. package/templates/app/frontend/pages/{Home.kreftjs → Home.kreft} +10 -9
  62. package/templates/app/frontend/pages/{Profile.kreftjs → Profile.kreft} +3 -3
  63. package/templates/app/frontend/routes/web.kreft +34 -0
  64. package/templates/app/frontend/tests/components/{Counter.kreftjs → Counter.kreft} +1 -1
  65. package/templates/app/frontend/tests/pages/About.kreft +12 -0
  66. package/templates/app/frontend/tests/pages/{Test.kreftjs → Test.kreft} +1 -1
  67. package/templates/errors/{401.kreftjs → 401.kreft} +2 -2
  68. package/templates/errors/{402.kreftjs → 402.kreft} +2 -2
  69. package/templates/errors/{403.kreftjs → 403.kreft} +2 -2
  70. package/templates/errors/{404.kreftjs → 404.kreft} +2 -2
  71. package/templates/errors/{419.kreftjs → 419.kreft} +2 -2
  72. package/templates/errors/{429.kreftjs → 429.kreft} +2 -2
  73. package/templates/errors/{500.kreftjs → 500.kreft} +2 -2
  74. package/templates/errors/{503.kreftjs → 503.kreft} +2 -2
  75. package/templates/errors/{ErrorMonitor.kreftjs → ErrorMonitor.kreft} +17 -14
  76. package/templates/errors/{error.kreftjs → error.kreft} +2 -2
  77. package/templates/errors/{minimal.kreftjs → minimal.kreft} +1 -1
  78. package/tools/dev-client.js +2 -2
  79. package/tools/vite-plugin-kreftjs.d.ts +3 -5
  80. package/tools/vite-plugin-kreftjs.js +12 -14
  81. package/templates/app/frontend/routes/web.kreftjs +0 -34
  82. package/templates/app/frontend/tests/pages/About.kreftjs +0 -12
  83. /package/templates/app/frontend/components/{Field.kreftjs → Field.kreft} +0 -0
  84. /package/templates/app/frontend/components/{StatCard.kreftjs → StatCard.kreft} +0 -0
  85. /package/templates/app/frontend/layouts/{guest.kreftjs → guest.kreft} +0 -0
  86. /package/templates/app/frontend/pages/{Users.kreftjs → Users.kreft} +0 -0
  87. /package/templates/app/frontend/pages/auth/{ConfirmPassword.kreftjs → ConfirmPassword.kreft} +0 -0
  88. /package/templates/app/frontend/pages/auth/{ForgotPassword.kreftjs → ForgotPassword.kreft} +0 -0
  89. /package/templates/app/frontend/pages/auth/{Login.kreftjs → Login.kreft} +0 -0
  90. /package/templates/app/frontend/pages/auth/{Register.kreftjs → Register.kreft} +0 -0
  91. /package/templates/app/frontend/pages/auth/{ResetPassword.kreftjs → ResetPassword.kreft} +0 -0
  92. /package/templates/app/frontend/pages/auth/{VerifyEmail.kreftjs → VerifyEmail.kreft} +0 -0
package/bin/ssr.js CHANGED
@@ -11,7 +11,7 @@
11
11
  * KREFT_SSR_TTL seconds a drawn page is kept (default 300)
12
12
  *
13
13
  * Needs jsdom (npm i -D jsdom). Without it, or when a page fails or is too slow, the normal page is sent.
14
- * If the app answers with its 404 page (errors/404.kreftjs), the response status is 404 too.
14
+ * If the app answers with its 404 page (errors/404.kreft), the response status is 404 too.
15
15
  *
16
16
  * The simulated browser asks this same server, so its requests carry a secret User-Agent (new on every start):
17
17
  * the server never draws them again, and lets them through the HTTPS redirect.
@@ -32,8 +32,8 @@ const decode = (p) => { try { return decodeURIComponent(p); } catch (_) { return
32
32
  const trimSlash = (p) => (p.length > 1 ? p.replace(/\/+$/, '') : p);
33
33
 
34
34
  function create({ root, origin, log = () => { }, cached = true }) {
35
- const mode = String((process.env.KREFT_SSR || process.env.SOM_SSR) || 'bots').toLowerCase();
36
- const ttl = cached ? (Number((process.env.KREFT_SSR_TTL || process.env.SOM_SSR_TTL)) || 300) * 1000 : 0; // kreftjs dev: always the latest files
35
+ const mode = String(process.env.KREFT_SSR || 'bots').toLowerCase();
36
+ const ttl = cached ? (Number(process.env.KREFT_SSR_TTL) || 300) * 1000 : 0; // kreftjs dev: always the latest files
37
37
  const userAgent = 'kreft-ssr/' + crypto.randomBytes(16).toString('hex');
38
38
  const cache = new Map(); // address → { at, html, status }
39
39
  const failed = new Map(); // address → when it failed
package/bin/update.js CHANGED
@@ -31,7 +31,7 @@ module.exports = function update(args = []) {
31
31
  const a = args[i];
32
32
  if (a === '--latest' || a === '-L') flags.add('latest');
33
33
  else if (a === '--check' || a === '--dry-run') flags.add('check');
34
- else if (a === '--core' || a === '--kreft' || a === '--som') flags.add('core'); // --som: the Som.js name
34
+ else if (a === '--core' || a === '--kreft') flags.add('core');
35
35
  else if (a === '--npm') flags.add('npm');
36
36
  else if (a === '--help' || a === '-h') {
37
37
  printHelp();
@@ -74,16 +74,16 @@ function updateRuntimeFiles(lay, project) {
74
74
  const targets = [];
75
75
 
76
76
  // Check frontend / local kreftjs.js
77
- // an older project has kreft.js / som.js (and the .d.ts): those files keep their names (index.html loads them) but get the new code
77
+ // an older project has kreft.js (and the .d.ts): those files keep their names (index.html loads them) but get the new code
78
78
  const named = (dir, name, ...legacy) => (!fs.existsSync(path.join(dir, name)) ? legacy.find((l) => fs.existsSync(path.join(dir, l))) || name : name);
79
- const frontKreftJs = path.join(lay.frontend, named(lay.frontend, 'kreftjs.js', 'kreft.js', 'som.js'));
80
- const rootKreftJs = path.join(project, named(project, 'kreftjs.js', 'kreft.js', 'som.js'));
79
+ const frontKreftJs = path.join(lay.frontend, named(lay.frontend, 'kreftjs.js', 'kreft.js'));
80
+ const rootKreftJs = path.join(project, named(project, 'kreftjs.js', 'kreft.js'));
81
81
  if (fs.existsSync(frontKreftJs) && frontKreftJs !== sourceKreftJs) targets.push({ src: sourceKreftJs, dest: frontKreftJs, label: 'frontend/' + path.basename(frontKreftJs) });
82
82
  else if (fs.existsSync(rootKreftJs) && rootKreftJs !== sourceKreftJs) targets.push({ src: sourceKreftJs, dest: rootKreftJs, label: path.basename(rootKreftJs) });
83
83
 
84
84
  // Check frontend / local kreftjs.d.ts
85
- const frontKreftDts = path.join(lay.frontend, named(lay.frontend, 'kreftjs.d.ts', 'kreft.d.ts', 'som.d.ts'));
86
- const rootKreftDts = path.join(project, named(project, 'kreftjs.d.ts', 'kreft.d.ts', 'som.d.ts'));
85
+ const frontKreftDts = path.join(lay.frontend, named(lay.frontend, 'kreftjs.d.ts', 'kreft.d.ts'));
86
+ const rootKreftDts = path.join(project, named(project, 'kreftjs.d.ts', 'kreft.d.ts'));
87
87
  if (fs.existsSync(frontKreftDts) && frontKreftDts !== sourceKreftDts) targets.push({ src: sourceKreftDts, dest: frontKreftDts, label: 'frontend/' + path.basename(frontKreftDts) });
88
88
  else if (fs.existsSync(rootKreftDts) && rootKreftDts !== sourceKreftDts) targets.push({ src: sourceKreftDts, dest: rootKreftDts, label: path.basename(rootKreftDts) });
89
89
 
@@ -134,8 +134,8 @@ function updateRuntimeFiles(lay, project) {
134
134
  }
135
135
 
136
136
  function upgradeAppLayout(lay) {
137
- let layoutFile = path.join(lay.frontend, 'layouts', 'app.kreftjs');
138
- if (!fs.existsSync(layoutFile)) layoutFile = ['app.kreft', 'app.som'].map((n) => path.join(lay.frontend, 'layouts', n)).find((p) => fs.existsSync(p)) || layoutFile; // older projects
137
+ let layoutFile = path.join(lay.frontend, 'layouts', 'app.kreft');
138
+ if (!fs.existsSync(layoutFile)) layoutFile = ['app.kreftjs'].map((n) => path.join(lay.frontend, 'layouts', n)).find((p) => fs.existsSync(p)) || layoutFile; // older projects
139
139
  if (!fs.existsSync(layoutFile)) return;
140
140
  let text = fs.readFileSync(layoutFile, 'utf8');
141
141
  let changed = false;
@@ -162,9 +162,9 @@ function upgradeAppLayout(lay) {
162
162
  if (changed) {
163
163
  try {
164
164
  fs.writeFileSync(layoutFile, text);
165
- console.log(` ${green('DONE')} frontend/layouts/app.kreftjs ${dim('(upgraded sidebar navigation to route names)')}`);
165
+ console.log(` ${green('DONE')} frontend/layouts/app.kreft ${dim('(upgraded sidebar navigation to route names)')}`);
166
166
  } catch (err) {
167
- console.error(` ${red('FAIL')} frontend/layouts/app.kreftjs: ${err.message}`);
167
+ console.error(` ${red('FAIL')} frontend/layouts/app.kreft: ${err.message}`);
168
168
  }
169
169
  }
170
170
  }
@@ -1,4 +1,4 @@
1
- <!-- Kreft documentation viewer (docs/Docs.kreftjs)
1
+ <!-- Kreft documentation viewer (docs/Docs.kreft)
2
2
  Reads docs/README.md, shows it as a manual: parts and chapters on the left, the page in the middle,
3
3
  "On this page" on the right. It sits under the site header, so it uses the site's colours (ui.css),
4
4
  including the light/dark switch. Keys: ⌘K or / search · [ and ] previous / next chapter · Esc closes. -->