@sonicjs-cms/core 2.0.4 → 2.0.7
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 +16 -0
- package/dist/{chunk-4BJGEGX5.cjs → chunk-3R7EQNGO.cjs} +19 -32
- package/dist/chunk-3R7EQNGO.cjs.map +1 -0
- package/dist/{chunk-CDBVZEWR.js → chunk-4MBTSUI6.js} +35 -3
- package/dist/chunk-4MBTSUI6.js.map +1 -0
- package/dist/{chunk-LH4Z7QID.js → chunk-6FR25MPC.js} +111 -3
- package/dist/chunk-6FR25MPC.js.map +1 -0
- package/dist/{chunk-3SPQ3J4N.cjs → chunk-7XEESVSX.cjs} +73 -2
- package/dist/chunk-7XEESVSX.cjs.map +1 -0
- package/dist/{chunk-3NVJ6W27.cjs → chunk-DOR2IU73.cjs} +111 -2
- package/dist/chunk-DOR2IU73.cjs.map +1 -0
- package/dist/{chunk-CQ2VMJQO.js → chunk-JB2NUJJ5.js} +253 -85
- package/dist/chunk-JB2NUJJ5.js.map +1 -0
- package/dist/{chunk-5APKEYFK.cjs → chunk-KHNSPJ6X.cjs} +5 -5
- package/dist/{chunk-5APKEYFK.cjs.map → chunk-KHNSPJ6X.cjs.map} +1 -1
- package/dist/{chunk-RYQCT2IV.js → chunk-LS5CMDNL.js} +3 -3
- package/dist/{chunk-RYQCT2IV.js.map → chunk-LS5CMDNL.js.map} +1 -1
- package/dist/{chunk-M6FPVS7E.js → chunk-O7LMFJMZ.js} +16 -29
- package/dist/chunk-O7LMFJMZ.js.map +1 -0
- package/dist/{chunk-RZW752PE.cjs → chunk-OOV64BK4.cjs} +429 -261
- package/dist/chunk-OOV64BK4.cjs.map +1 -0
- package/dist/{chunk-BRPONFW6.cjs → chunk-RSFXIU6A.cjs} +14 -14
- package/dist/{chunk-BRPONFW6.cjs.map → chunk-RSFXIU6A.cjs.map} +1 -1
- package/dist/{chunk-LEG4KNFP.cjs → chunk-YGVWY6KO.cjs} +35 -3
- package/dist/chunk-YGVWY6KO.cjs.map +1 -0
- package/dist/{chunk-3LZ6TLPC.js → chunk-YHLLVUJC.js} +73 -2
- package/dist/chunk-YHLLVUJC.js.map +1 -0
- package/dist/{chunk-WKGONLHK.js → chunk-YURRY22X.js} +14 -14
- package/dist/{chunk-WKGONLHK.js.map → chunk-YURRY22X.js.map} +1 -1
- package/dist/index.cjs +886 -137
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +761 -11
- package/dist/index.js.map +1 -1
- package/dist/middleware.cjs +23 -23
- package/dist/middleware.js +2 -2
- package/dist/routes.cjs +26 -26
- package/dist/routes.js +6 -6
- package/dist/services.cjs +25 -21
- package/dist/services.js +2 -2
- package/dist/templates.cjs +18 -18
- package/dist/templates.js +2 -2
- package/dist/utils.cjs +11 -11
- package/dist/utils.js +1 -1
- package/migrations/006_plugin_system.sql +2 -2
- package/migrations/011_config_managed_collections.sql +1 -0
- package/migrations/018_settings_table.sql +23 -0
- package/package.json +12 -12
- package/dist/chunk-3LZ6TLPC.js.map +0 -1
- package/dist/chunk-3NVJ6W27.cjs.map +0 -1
- package/dist/chunk-3SPQ3J4N.cjs.map +0 -1
- package/dist/chunk-4BJGEGX5.cjs.map +0 -1
- package/dist/chunk-CDBVZEWR.js.map +0 -1
- package/dist/chunk-CQ2VMJQO.js.map +0 -1
- package/dist/chunk-LEG4KNFP.cjs.map +0 -1
- package/dist/chunk-LH4Z7QID.js.map +0 -1
- package/dist/chunk-M6FPVS7E.js.map +0 -1
- package/dist/chunk-RZW752PE.cjs.map +0 -1
package/dist/templates.cjs
CHANGED
|
@@ -1,74 +1,74 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var chunkKHNSPJ6X_cjs = require('./chunk-KHNSPJ6X.cjs');
|
|
4
|
+
var chunk7XEESVSX_cjs = require('./chunk-7XEESVSX.cjs');
|
|
5
5
|
require('./chunk-IGJUBJBW.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "renderFilterBar", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunkKHNSPJ6X_cjs.renderFilterBar; }
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "getConfirmationDialogScript", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunk7XEESVSX_cjs.getConfirmationDialogScript; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "renderAdminLayout", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return chunk7XEESVSX_cjs.renderAdminLayout; }
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(exports, "renderAdminLayoutCatalyst", {
|
|
22
22
|
enumerable: true,
|
|
23
|
-
get: function () { return
|
|
23
|
+
get: function () { return chunk7XEESVSX_cjs.renderAdminLayoutCatalyst; }
|
|
24
24
|
});
|
|
25
25
|
Object.defineProperty(exports, "renderAlert", {
|
|
26
26
|
enumerable: true,
|
|
27
|
-
get: function () { return
|
|
27
|
+
get: function () { return chunk7XEESVSX_cjs.renderAlert; }
|
|
28
28
|
});
|
|
29
29
|
Object.defineProperty(exports, "renderCheckboxPage", {
|
|
30
30
|
enumerable: true,
|
|
31
|
-
get: function () { return
|
|
31
|
+
get: function () { return chunk7XEESVSX_cjs.renderCheckboxPage; }
|
|
32
32
|
});
|
|
33
33
|
Object.defineProperty(exports, "renderCodeExamplesList", {
|
|
34
34
|
enumerable: true,
|
|
35
|
-
get: function () { return
|
|
35
|
+
get: function () { return chunk7XEESVSX_cjs.renderCodeExamplesList; }
|
|
36
36
|
});
|
|
37
37
|
Object.defineProperty(exports, "renderConfirmationDialog", {
|
|
38
38
|
enumerable: true,
|
|
39
|
-
get: function () { return
|
|
39
|
+
get: function () { return chunk7XEESVSX_cjs.renderConfirmationDialog; }
|
|
40
40
|
});
|
|
41
41
|
Object.defineProperty(exports, "renderDesignPage", {
|
|
42
42
|
enumerable: true,
|
|
43
|
-
get: function () { return
|
|
43
|
+
get: function () { return chunk7XEESVSX_cjs.renderDesignPage; }
|
|
44
44
|
});
|
|
45
45
|
Object.defineProperty(exports, "renderFAQList", {
|
|
46
46
|
enumerable: true,
|
|
47
|
-
get: function () { return
|
|
47
|
+
get: function () { return chunk7XEESVSX_cjs.renderFAQList; }
|
|
48
48
|
});
|
|
49
49
|
Object.defineProperty(exports, "renderForm", {
|
|
50
50
|
enumerable: true,
|
|
51
|
-
get: function () { return
|
|
51
|
+
get: function () { return chunk7XEESVSX_cjs.renderForm; }
|
|
52
52
|
});
|
|
53
53
|
Object.defineProperty(exports, "renderFormField", {
|
|
54
54
|
enumerable: true,
|
|
55
|
-
get: function () { return
|
|
55
|
+
get: function () { return chunk7XEESVSX_cjs.renderFormField; }
|
|
56
56
|
});
|
|
57
57
|
Object.defineProperty(exports, "renderLogo", {
|
|
58
58
|
enumerable: true,
|
|
59
|
-
get: function () { return
|
|
59
|
+
get: function () { return chunk7XEESVSX_cjs.renderLogo; }
|
|
60
60
|
});
|
|
61
61
|
Object.defineProperty(exports, "renderPagination", {
|
|
62
62
|
enumerable: true,
|
|
63
|
-
get: function () { return
|
|
63
|
+
get: function () { return chunk7XEESVSX_cjs.renderPagination; }
|
|
64
64
|
});
|
|
65
65
|
Object.defineProperty(exports, "renderTable", {
|
|
66
66
|
enumerable: true,
|
|
67
|
-
get: function () { return
|
|
67
|
+
get: function () { return chunk7XEESVSX_cjs.renderTable; }
|
|
68
68
|
});
|
|
69
69
|
Object.defineProperty(exports, "renderTestimonialsList", {
|
|
70
70
|
enumerable: true,
|
|
71
|
-
get: function () { return
|
|
71
|
+
get: function () { return chunk7XEESVSX_cjs.renderTestimonialsList; }
|
|
72
72
|
});
|
|
73
73
|
//# sourceMappingURL=templates.cjs.map
|
|
74
74
|
//# sourceMappingURL=templates.cjs.map
|
package/dist/templates.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { renderFilterBar } from './chunk-
|
|
2
|
-
export { getConfirmationDialogScript, renderAdminLayout, renderAdminLayoutCatalyst, renderAlert, renderCheckboxPage, renderCodeExamplesList, renderConfirmationDialog, renderDesignPage, renderFAQList, renderForm, renderFormField, renderLogo, renderPagination, renderTable, renderTestimonialsList } from './chunk-
|
|
1
|
+
export { renderFilterBar } from './chunk-LS5CMDNL.js';
|
|
2
|
+
export { getConfirmationDialogScript, renderAdminLayout, renderAdminLayoutCatalyst, renderAlert, renderCheckboxPage, renderCodeExamplesList, renderConfirmationDialog, renderDesignPage, renderFAQList, renderForm, renderFormField, renderLogo, renderPagination, renderTable, renderTestimonialsList } from './chunk-YHLLVUJC.js';
|
|
3
3
|
import './chunk-V4OQ3NZ2.js';
|
|
4
4
|
//# sourceMappingURL=templates.js.map
|
|
5
5
|
//# sourceMappingURL=templates.js.map
|
package/dist/utils.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkRSFXIU6A_cjs = require('./chunk-RSFXIU6A.cjs');
|
|
4
4
|
var chunkRCQ2HIQD_cjs = require('./chunk-RCQ2HIQD.cjs');
|
|
5
5
|
require('./chunk-IGJUBJBW.cjs');
|
|
6
6
|
|
|
@@ -8,43 +8,43 @@ require('./chunk-IGJUBJBW.cjs');
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "QueryFilterBuilder", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunkRSFXIU6A_cjs.QueryFilterBuilder; }
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "SONICJS_VERSION", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunkRSFXIU6A_cjs.SONICJS_VERSION; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "TemplateRenderer", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return chunkRSFXIU6A_cjs.TemplateRenderer; }
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(exports, "buildQuery", {
|
|
22
22
|
enumerable: true,
|
|
23
|
-
get: function () { return
|
|
23
|
+
get: function () { return chunkRSFXIU6A_cjs.buildQuery; }
|
|
24
24
|
});
|
|
25
25
|
Object.defineProperty(exports, "escapeHtml", {
|
|
26
26
|
enumerable: true,
|
|
27
|
-
get: function () { return
|
|
27
|
+
get: function () { return chunkRSFXIU6A_cjs.escapeHtml; }
|
|
28
28
|
});
|
|
29
29
|
Object.defineProperty(exports, "getCoreVersion", {
|
|
30
30
|
enumerable: true,
|
|
31
|
-
get: function () { return
|
|
31
|
+
get: function () { return chunkRSFXIU6A_cjs.getCoreVersion; }
|
|
32
32
|
});
|
|
33
33
|
Object.defineProperty(exports, "renderTemplate", {
|
|
34
34
|
enumerable: true,
|
|
35
|
-
get: function () { return
|
|
35
|
+
get: function () { return chunkRSFXIU6A_cjs.renderTemplate; }
|
|
36
36
|
});
|
|
37
37
|
Object.defineProperty(exports, "sanitizeInput", {
|
|
38
38
|
enumerable: true,
|
|
39
|
-
get: function () { return
|
|
39
|
+
get: function () { return chunkRSFXIU6A_cjs.sanitizeInput; }
|
|
40
40
|
});
|
|
41
41
|
Object.defineProperty(exports, "sanitizeObject", {
|
|
42
42
|
enumerable: true,
|
|
43
|
-
get: function () { return
|
|
43
|
+
get: function () { return chunkRSFXIU6A_cjs.sanitizeObject; }
|
|
44
44
|
});
|
|
45
45
|
Object.defineProperty(exports, "templateRenderer", {
|
|
46
46
|
enumerable: true,
|
|
47
|
-
get: function () { return
|
|
47
|
+
get: function () { return chunkRSFXIU6A_cjs.templateRenderer; }
|
|
48
48
|
});
|
|
49
49
|
Object.defineProperty(exports, "metricsTracker", {
|
|
50
50
|
enumerable: true,
|
package/dist/utils.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { QueryFilterBuilder, SONICJS_VERSION, TemplateRenderer, buildQuery, escapeHtml, getCoreVersion, renderTemplate, sanitizeInput, sanitizeObject, templateRenderer } from './chunk-
|
|
1
|
+
export { QueryFilterBuilder, SONICJS_VERSION, TemplateRenderer, buildQuery, escapeHtml, getCoreVersion, renderTemplate, sanitizeInput, sanitizeObject, templateRenderer } from './chunk-YURRY22X.js';
|
|
2
2
|
export { metricsTracker } from './chunk-FICTAGD4.js';
|
|
3
3
|
import './chunk-V4OQ3NZ2.js';
|
|
4
4
|
//# sourceMappingURL=utils.js.map
|
|
@@ -88,8 +88,8 @@ CREATE INDEX IF NOT EXISTS idx_plugin_activity_plugin ON plugin_activity_log(plu
|
|
|
88
88
|
CREATE INDEX IF NOT EXISTS idx_plugin_activity_timestamp ON plugin_activity_log(timestamp);
|
|
89
89
|
|
|
90
90
|
-- Insert core plugins
|
|
91
|
-
INSERT INTO plugins (
|
|
92
|
-
id, name, display_name, description, version, author, category, icon,
|
|
91
|
+
INSERT OR IGNORE INTO plugins (
|
|
92
|
+
id, name, display_name, description, version, author, category, icon,
|
|
93
93
|
status, is_core, permissions, installed_at, last_updated
|
|
94
94
|
) VALUES
|
|
95
95
|
(
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
-- Add 'managed' column to collections table
|
|
6
6
|
-- This column indicates whether a collection is managed by configuration files (true) or user-created (false)
|
|
7
7
|
-- Managed collections cannot be edited through the admin UI
|
|
8
|
+
-- Use a safe approach to add the column only if it doesn't exist
|
|
8
9
|
ALTER TABLE collections ADD COLUMN managed INTEGER DEFAULT 0 NOT NULL;
|
|
9
10
|
|
|
10
11
|
-- Create an index on the managed column for faster queries
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
-- Create settings table for storing application settings
|
|
2
|
+
CREATE TABLE IF NOT EXISTS settings (
|
|
3
|
+
id TEXT PRIMARY KEY,
|
|
4
|
+
category TEXT NOT NULL, -- 'general', 'appearance', 'security', etc.
|
|
5
|
+
key TEXT NOT NULL,
|
|
6
|
+
value TEXT NOT NULL, -- JSON value
|
|
7
|
+
created_at INTEGER NOT NULL,
|
|
8
|
+
updated_at INTEGER NOT NULL,
|
|
9
|
+
UNIQUE(category, key)
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
-- Insert default general settings
|
|
13
|
+
INSERT OR IGNORE INTO settings (id, category, key, value, created_at, updated_at)
|
|
14
|
+
VALUES
|
|
15
|
+
(lower(hex(randomblob(16))), 'general', 'siteName', '"SonicJS AI"', unixepoch() * 1000, unixepoch() * 1000),
|
|
16
|
+
(lower(hex(randomblob(16))), 'general', 'siteDescription', '"A modern headless CMS powered by AI"', unixepoch() * 1000, unixepoch() * 1000),
|
|
17
|
+
(lower(hex(randomblob(16))), 'general', 'timezone', '"UTC"', unixepoch() * 1000, unixepoch() * 1000),
|
|
18
|
+
(lower(hex(randomblob(16))), 'general', 'language', '"en"', unixepoch() * 1000, unixepoch() * 1000),
|
|
19
|
+
(lower(hex(randomblob(16))), 'general', 'maintenanceMode', 'false', unixepoch() * 1000, unixepoch() * 1000);
|
|
20
|
+
|
|
21
|
+
-- Create index for faster lookups
|
|
22
|
+
CREATE INDEX IF NOT EXISTS idx_settings_category ON settings(category);
|
|
23
|
+
CREATE INDEX IF NOT EXISTS idx_settings_category_key ON settings(category, key);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sonicjs-cms/core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.7",
|
|
4
4
|
"description": "Core framework for SonicJS headless CMS - Edge-first, TypeScript-native CMS built for Cloudflare Workers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -92,20 +92,20 @@
|
|
|
92
92
|
"zod": "^3.0.0"
|
|
93
93
|
},
|
|
94
94
|
"dependencies": {
|
|
95
|
-
"drizzle-zod": "^0.8.
|
|
96
|
-
"marked": "^
|
|
95
|
+
"drizzle-zod": "^0.8.3",
|
|
96
|
+
"marked": "^16.4.1",
|
|
97
97
|
"highlight.js": "^11.11.1",
|
|
98
|
-
"semver": "^7.7.
|
|
98
|
+
"semver": "^7.7.3"
|
|
99
99
|
},
|
|
100
100
|
"devDependencies": {
|
|
101
|
-
"@cloudflare/workers-types": "^4.
|
|
102
|
-
"@types/node": "^
|
|
103
|
-
"drizzle-orm": "^0.44.
|
|
104
|
-
"hono": "^4.10.
|
|
105
|
-
"tsup": "^8.
|
|
106
|
-
"typescript": "^5.
|
|
107
|
-
"vitest": "^
|
|
108
|
-
"zod": "^
|
|
101
|
+
"@cloudflare/workers-types": "^4.20251014.0",
|
|
102
|
+
"@types/node": "^24.9.2",
|
|
103
|
+
"drizzle-orm": "^0.44.7",
|
|
104
|
+
"hono": "^4.10.4",
|
|
105
|
+
"tsup": "^8.5.0",
|
|
106
|
+
"typescript": "^5.9.3",
|
|
107
|
+
"vitest": "^4.0.5",
|
|
108
|
+
"zod": "^4.1.12"
|
|
109
109
|
},
|
|
110
110
|
"engines": {
|
|
111
111
|
"node": ">=18.0.0"
|