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.
- package/README.md +5 -31
- package/bin/artisan-more.js +2 -0
- package/bin/artisan.js +51 -49
- package/bin/backend/config.js +2 -2
- package/bin/backend/http.js +5 -5
- package/bin/backend/index.js +2 -2
- package/bin/backend/mcp.js +3 -5
- package/bin/backend/migrator.js +1 -3
- package/bin/backend/query.js +1 -1
- package/bin/backend/queue.js +8 -9
- package/bin/backend/redis.js +1 -1
- package/bin/backend/typescript.js +1 -1
- package/bin/build.js +23 -19
- package/bin/db-api.js +2 -2
- package/bin/db.js +4 -4
- package/bin/deps.js +1 -1
- package/bin/electron.js +3 -5
- package/bin/kreftjs-config.js +1 -6
- package/bin/kreftjs.js +34 -35
- package/bin/layout.js +1 -1
- package/bin/no-auth.js +21 -19
- package/bin/prerender.js +1 -1
- package/bin/ssr.js +3 -3
- package/bin/update.js +10 -10
- package/docs/{Docs.kreftjs → Docs.kreft} +1 -1
- package/docs/README.md +90 -102
- package/editors/vscode/README.md +3 -3
- package/editors/vscode/package.json +3 -4
- package/editors/vscode/snippets/kreftjs.json +2 -2
- package/kreftjs.d.ts +15 -27
- package/kreftjs.js +69 -79
- package/package.json +4 -4
- package/templates/app/README.md +11 -11
- package/templates/app/_env.example +4 -2
- package/templates/app/_vscode/settings.json +3 -2
- package/templates/app/backend/app/Http/Controllers/Admin/DashboardController.js +2 -2
- package/templates/app/backend/app/Http/Controllers/Admin/UserController.js +1 -1
- package/templates/app/backend/app/Http/Controllers/Auth/ApiTokenController.js +1 -1
- package/templates/app/backend/app/Http/Controllers/Auth/AuthenticatedSessionController.js +1 -1
- package/templates/app/backend/app/Http/Controllers/Auth/ConfirmablePasswordController.js +1 -1
- package/templates/app/backend/app/Http/Controllers/Auth/EmailVerificationController.js +1 -1
- package/templates/app/backend/app/Http/Controllers/Auth/NewPasswordController.js +1 -1
- package/templates/app/backend/app/Http/Controllers/Auth/PasswordResetLinkController.js +1 -1
- package/templates/app/backend/app/Http/Controllers/Auth/RegisteredUserController.js +1 -1
- package/templates/app/backend/app/Http/Controllers/Auth/SessionController.js +1 -1
- package/templates/app/backend/app/Http/Controllers/Auth/TwoFactorController.js +1 -1
- package/templates/app/backend/app/Http/Controllers/ProfileController.js +1 -1
- package/templates/app/backend/app/Http/Middleware/RequirePassword.js +1 -1
- package/templates/app/frontend/{App.kreftjs → App.kreft} +1 -1
- package/templates/app/frontend/components/profile/{ApiTokens.kreftjs → ApiTokens.kreft} +1 -1
- package/templates/app/frontend/components/profile/{Sessions.kreftjs → Sessions.kreft} +1 -1
- package/templates/app/frontend/components/profile/{TwoFactor.kreftjs → TwoFactor.kreft} +1 -1
- package/templates/app/frontend/errors/{ErrorMonitor.kreftjs → ErrorMonitor.kreft} +6 -4
- package/templates/app/frontend/index.html +8 -8
- package/templates/app/frontend/kreftjs.d.ts +15 -27
- package/templates/app/frontend/kreftjs.js +69 -79
- package/templates/app/frontend/layouts/{app.kreftjs → app.kreft} +7 -1
- package/templates/app/frontend/layouts/{docs.kreftjs → docs.kreft} +1 -1
- package/templates/app/frontend/pages/{Dashboard.kreftjs → Dashboard.kreft} +4 -2
- package/templates/app/frontend/pages/{ErrorMonitor.kreftjs → ErrorMonitor.kreft} +2 -2
- package/templates/app/frontend/pages/{Home.kreftjs → Home.kreft} +10 -9
- package/templates/app/frontend/pages/{Profile.kreftjs → Profile.kreft} +3 -3
- package/templates/app/frontend/routes/web.kreft +34 -0
- package/templates/app/frontend/tests/components/{Counter.kreftjs → Counter.kreft} +1 -1
- package/templates/app/frontend/tests/pages/About.kreft +12 -0
- package/templates/app/frontend/tests/pages/{Test.kreftjs → Test.kreft} +1 -1
- package/templates/errors/{401.kreftjs → 401.kreft} +2 -2
- package/templates/errors/{402.kreftjs → 402.kreft} +2 -2
- package/templates/errors/{403.kreftjs → 403.kreft} +2 -2
- package/templates/errors/{404.kreftjs → 404.kreft} +2 -2
- package/templates/errors/{419.kreftjs → 419.kreft} +2 -2
- package/templates/errors/{429.kreftjs → 429.kreft} +2 -2
- package/templates/errors/{500.kreftjs → 500.kreft} +2 -2
- package/templates/errors/{503.kreftjs → 503.kreft} +2 -2
- package/templates/errors/{ErrorMonitor.kreftjs → ErrorMonitor.kreft} +17 -14
- package/templates/errors/{error.kreftjs → error.kreft} +2 -2
- package/templates/errors/{minimal.kreftjs → minimal.kreft} +1 -1
- package/tools/dev-client.js +2 -2
- package/tools/vite-plugin-kreftjs.d.ts +3 -5
- package/tools/vite-plugin-kreftjs.js +12 -14
- package/templates/app/frontend/routes/web.kreftjs +0 -34
- package/templates/app/frontend/tests/pages/About.kreftjs +0 -12
- /package/templates/app/frontend/components/{Field.kreftjs → Field.kreft} +0 -0
- /package/templates/app/frontend/components/{StatCard.kreftjs → StatCard.kreft} +0 -0
- /package/templates/app/frontend/layouts/{guest.kreftjs → guest.kreft} +0 -0
- /package/templates/app/frontend/pages/{Users.kreftjs → Users.kreft} +0 -0
- /package/templates/app/frontend/pages/auth/{ConfirmPassword.kreftjs → ConfirmPassword.kreft} +0 -0
- /package/templates/app/frontend/pages/auth/{ForgotPassword.kreftjs → ForgotPassword.kreft} +0 -0
- /package/templates/app/frontend/pages/auth/{Login.kreftjs → Login.kreft} +0 -0
- /package/templates/app/frontend/pages/auth/{Register.kreftjs → Register.kreft} +0 -0
- /package/templates/app/frontend/pages/auth/{ResetPassword.kreftjs → ResetPassword.kreft} +0 -0
- /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.
|
|
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(
|
|
36
|
-
const ttl = cached ? (Number(
|
|
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'
|
|
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
|
|
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'
|
|
80
|
-
const rootKreftJs = path.join(project, named(project, 'kreftjs.js', 'kreft.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'
|
|
86
|
-
const rootKreftDts = path.join(project, named(project, 'kreftjs.d.ts', 'kreft.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.
|
|
138
|
-
if (!fs.existsSync(layoutFile)) layoutFile = ['app.
|
|
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.
|
|
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.
|
|
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.
|
|
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. -->
|