alinea 1.4.0 → 1.4.2
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/.init/content/pages/welcome.json +1 -1
- package/dist/.init/src/app/(alinea)/api/cms/route.ts +8 -0
- package/dist/.init/src/cms.ts +47 -0
- package/dist/LICENSES.md +92 -92
- package/dist/chunks/{chunk-OO7VJEA4.js → chunk-MFIAKJZR.js} +3 -2
- package/dist/chunks/{chunk-PFZOYHD6.js → chunk-VRLWRDI4.js} +3 -2
- package/dist/cli/Init.js +18 -4
- package/dist/cli/Serve.js +1 -1
- package/dist/cli/bin.js +10 -6
- package/dist/cli/static/init/cms.js +47 -35
- package/dist/cli/static/init/next-handler.js +8 -0
- package/dist/cli/util/EnsureLibs.d.ts +1 -0
- package/dist/cli/util/{EnsureReact.js → EnsureLibs.js} +9 -5
- package/dist/cloud/CloudRemote.js +1 -1
- package/dist/cloud/view/CloudAuth.browser.js +2 -2
- package/dist/core/Infer.d.ts +3 -2
- package/dist/core/source/GithubSource.js +2 -3
- package/dist/dashboard/Welcome.js +1 -1
- package/dist/dashboard/view/EntryTree.js +5 -1
- package/dist/field/link/LinkField.d.ts +7 -7
- package/dist/field/link/LinkField.js +1 -1
- package/dist/test/cms.js +1 -1
- package/dist/ui/icons/IcRoundAccountTree.d.ts +2 -0
- package/dist/ui/icons/IcRoundAccountTree.js +26 -0
- package/dist/ui/icons/IcRoundChevronRight.d.ts +2 -0
- package/dist/ui/icons/IcRoundChevronRight.js +26 -0
- package/dist/ui/icons/MdiTwitterCircle.d.ts +0 -1
- package/dist/ui/icons/MdiTwitterCircle.js +16 -8
- package/package.json +3 -2
- package/readme.md +6 -6
- package/dist/.init/cms.ts +0 -35
- package/dist/cli/util/EnsureReact.d.ts +0 -1
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {Config, Field} from 'alinea'
|
|
2
|
+
import {createCMS} from 'alinea/next'
|
|
3
|
+
|
|
4
|
+
// Create types for your CMS schema
|
|
5
|
+
const Page = Config.type('Page', {
|
|
6
|
+
fields: {
|
|
7
|
+
title: Field.text('Title'),
|
|
8
|
+
path: Field.path('Path')
|
|
9
|
+
}
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
export const cms = createCMS({
|
|
13
|
+
// List out available types in your schema
|
|
14
|
+
schema: {
|
|
15
|
+
Page
|
|
16
|
+
},
|
|
17
|
+
|
|
18
|
+
// Define the content structure of your CMS
|
|
19
|
+
workspaces: {
|
|
20
|
+
main: Config.workspace('Example', {
|
|
21
|
+
source: 'content',
|
|
22
|
+
mediaDir: 'public/media',
|
|
23
|
+
roots: {
|
|
24
|
+
pages: Config.root('Example site', {
|
|
25
|
+
contains: ['Page']
|
|
26
|
+
}),
|
|
27
|
+
media: Config.media()
|
|
28
|
+
}
|
|
29
|
+
})
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
baseUrl: {
|
|
33
|
+
// Point to your local website
|
|
34
|
+
development: 'http://localhost:3000',
|
|
35
|
+
// The production URL of your website
|
|
36
|
+
production: process.env.VERCEL_URL ?? 'https://example.com'
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
// Enable live previews after adding <cms.previews widget /> to your layout
|
|
40
|
+
// preview: true,
|
|
41
|
+
|
|
42
|
+
// The handler route URL
|
|
43
|
+
handlerUrl: '/api/cms',
|
|
44
|
+
|
|
45
|
+
// The admin dashboard will be bundled in this static file
|
|
46
|
+
dashboardFile: 'admin.html'
|
|
47
|
+
})
|
package/dist/LICENSES.md
CHANGED
|
@@ -28,11 +28,11 @@ SOFTWARE.
|
|
|
28
28
|
|
|
29
29
|
===
|
|
30
30
|
|
|
31
|
-
#
|
|
31
|
+
# react-query@3.39.3 (MIT)
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
MIT License
|
|
34
34
|
|
|
35
|
-
Copyright (c) 2019
|
|
35
|
+
Copyright (c) 2019 Tanner Linsley
|
|
36
36
|
|
|
37
37
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
38
38
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -55,11 +55,11 @@ SOFTWARE.
|
|
|
55
55
|
|
|
56
56
|
===
|
|
57
57
|
|
|
58
|
-
# @
|
|
58
|
+
# lib0@0.2.88 (MIT)
|
|
59
59
|
|
|
60
|
-
MIT License
|
|
60
|
+
The MIT License (MIT)
|
|
61
61
|
|
|
62
|
-
Copyright (c)
|
|
62
|
+
Copyright (c) 2019 Kevin Jahns <kevin.jahns@protonmail.com>.
|
|
63
63
|
|
|
64
64
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
65
65
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -79,13 +79,14 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
79
79
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
80
80
|
SOFTWARE.
|
|
81
81
|
|
|
82
|
+
|
|
82
83
|
===
|
|
83
84
|
|
|
84
|
-
# react
|
|
85
|
+
# @headlessui/react@2.2.0 (MIT)
|
|
85
86
|
|
|
86
87
|
MIT License
|
|
87
88
|
|
|
88
|
-
Copyright (c)
|
|
89
|
+
Copyright (c) 2020 Tailwind Labs
|
|
89
90
|
|
|
90
91
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
91
92
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -105,7 +106,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
105
106
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
106
107
|
SOFTWARE.
|
|
107
108
|
|
|
108
|
-
|
|
109
109
|
===
|
|
110
110
|
|
|
111
111
|
# htmlparser2@9.1.0 (MIT)
|
|
@@ -131,24 +131,33 @@ IN THE SOFTWARE.
|
|
|
131
131
|
|
|
132
132
|
===
|
|
133
133
|
|
|
134
|
-
#
|
|
134
|
+
# @popperjs/core@2.11.8 (MIT)
|
|
135
135
|
|
|
136
|
-
|
|
137
|
-
All rights reserved.
|
|
136
|
+
The MIT License (MIT)
|
|
138
137
|
|
|
139
|
-
|
|
138
|
+
Copyright (c) 2019 Federico Zivolo
|
|
140
139
|
|
|
141
|
-
|
|
140
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
141
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
142
|
+
the Software without restriction, including without limitation the rights to
|
|
143
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
144
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
145
|
+
subject to the following conditions:
|
|
142
146
|
|
|
143
|
-
|
|
147
|
+
The above copyright notice and this permission notice shall be included in all
|
|
148
|
+
copies or substantial portions of the Software.
|
|
144
149
|
|
|
145
|
-
|
|
146
|
-
|
|
150
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
151
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
152
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
153
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
154
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
155
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
147
156
|
|
|
148
157
|
|
|
149
158
|
===
|
|
150
159
|
|
|
151
|
-
#
|
|
160
|
+
# domutils@3.1.0 (BSD-2-Clause)
|
|
152
161
|
|
|
153
162
|
Copyright (c) Felix Böhm
|
|
154
163
|
All rights reserved.
|
|
@@ -165,7 +174,7 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
165
174
|
|
|
166
175
|
===
|
|
167
176
|
|
|
168
|
-
#
|
|
177
|
+
# domhandler@5.0.3 (BSD-2-Clause)
|
|
169
178
|
|
|
170
179
|
Copyright (c) Felix Böhm
|
|
171
180
|
All rights reserved.
|
|
@@ -182,55 +191,19 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
182
191
|
|
|
183
192
|
===
|
|
184
193
|
|
|
185
|
-
# @
|
|
186
|
-
|
|
187
|
-
The MIT License (MIT)
|
|
188
|
-
|
|
189
|
-
Copyright (c) 2019 Federico Zivolo
|
|
190
|
-
|
|
191
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
192
|
-
this software and associated documentation files (the "Software"), to deal in
|
|
193
|
-
the Software without restriction, including without limitation the rights to
|
|
194
|
-
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
195
|
-
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
196
|
-
subject to the following conditions:
|
|
197
|
-
|
|
198
|
-
The above copyright notice and this permission notice shall be included in all
|
|
199
|
-
copies or substantial portions of the Software.
|
|
200
|
-
|
|
201
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
202
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
203
|
-
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
204
|
-
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
205
|
-
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
206
|
-
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
===
|
|
210
|
-
|
|
211
|
-
# prop-types@15.8.1 (MIT)
|
|
194
|
+
# entities@4.5.0 (BSD-2-Clause)
|
|
212
195
|
|
|
213
|
-
|
|
196
|
+
Copyright (c) Felix Böhm
|
|
197
|
+
All rights reserved.
|
|
214
198
|
|
|
215
|
-
|
|
199
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
216
200
|
|
|
217
|
-
|
|
218
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
219
|
-
in the Software without restriction, including without limitation the rights
|
|
220
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
221
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
222
|
-
furnished to do so, subject to the following conditions:
|
|
201
|
+
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
223
202
|
|
|
224
|
-
|
|
225
|
-
copies or substantial portions of the Software.
|
|
203
|
+
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
226
204
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
230
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
231
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
232
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
233
|
-
SOFTWARE.
|
|
205
|
+
THIS IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS,
|
|
206
|
+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
234
207
|
|
|
235
208
|
|
|
236
209
|
===
|
|
@@ -442,28 +415,11 @@ SOFTWARE.
|
|
|
442
415
|
|
|
443
416
|
===
|
|
444
417
|
|
|
445
|
-
#
|
|
446
|
-
|
|
447
|
-
License
|
|
448
|
-
|
|
449
|
-
(The MIT License)
|
|
450
|
-
|
|
451
|
-
Copyright (c) 2014 The cheeriojs contributors
|
|
452
|
-
|
|
453
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
454
|
-
|
|
455
|
-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
456
|
-
|
|
457
|
-
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
===
|
|
461
|
-
|
|
462
|
-
# react-is@16.13.1 (MIT)
|
|
418
|
+
# prop-types@15.8.1 (MIT)
|
|
463
419
|
|
|
464
420
|
MIT License
|
|
465
421
|
|
|
466
|
-
Copyright (c) Facebook, Inc.
|
|
422
|
+
Copyright (c) 2013-present, Facebook, Inc.
|
|
467
423
|
|
|
468
424
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
469
425
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -486,23 +442,28 @@ SOFTWARE.
|
|
|
486
442
|
|
|
487
443
|
===
|
|
488
444
|
|
|
489
|
-
#
|
|
445
|
+
# dom-serializer@2.0.0 (MIT)
|
|
490
446
|
|
|
491
|
-
|
|
447
|
+
License
|
|
492
448
|
|
|
493
|
-
|
|
449
|
+
(The MIT License)
|
|
494
450
|
|
|
495
|
-
|
|
451
|
+
Copyright (c) 2014 The cheeriojs contributors
|
|
452
|
+
|
|
453
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
454
|
+
|
|
455
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
456
|
+
|
|
457
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
496
458
|
|
|
497
|
-
MIT
|
|
498
459
|
|
|
499
460
|
===
|
|
500
461
|
|
|
501
|
-
#
|
|
462
|
+
# react-is@16.13.1 (MIT)
|
|
502
463
|
|
|
503
|
-
|
|
464
|
+
MIT License
|
|
504
465
|
|
|
505
|
-
Copyright (c)
|
|
466
|
+
Copyright (c) Facebook, Inc. and its affiliates.
|
|
506
467
|
|
|
507
468
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
508
469
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -523,6 +484,18 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
523
484
|
SOFTWARE.
|
|
524
485
|
|
|
525
486
|
|
|
487
|
+
===
|
|
488
|
+
|
|
489
|
+
# @headless-tree/react@0.0.15 (MIT)
|
|
490
|
+
|
|
491
|
+
MIT
|
|
492
|
+
|
|
493
|
+
===
|
|
494
|
+
|
|
495
|
+
# @headless-tree/core@0.0.15 (MIT)
|
|
496
|
+
|
|
497
|
+
MIT
|
|
498
|
+
|
|
526
499
|
===
|
|
527
500
|
|
|
528
501
|
# @babel/runtime@7.25.4 (MIT)
|
|
@@ -553,7 +526,34 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
553
526
|
|
|
554
527
|
===
|
|
555
528
|
|
|
556
|
-
#
|
|
529
|
+
# y-prosemirror@1.2.15 (MIT)
|
|
530
|
+
|
|
531
|
+
The MIT License (MIT)
|
|
532
|
+
|
|
533
|
+
Copyright (c) 2019 Kevin Jahns <kevin.jahns@protonmail.com>.
|
|
534
|
+
|
|
535
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
536
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
537
|
+
in the Software without restriction, including without limitation the rights
|
|
538
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
539
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
540
|
+
furnished to do so, subject to the following conditions:
|
|
541
|
+
|
|
542
|
+
The above copyright notice and this permission notice shall be included in all
|
|
543
|
+
copies or substantial portions of the Software.
|
|
544
|
+
|
|
545
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
546
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
547
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
548
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
549
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
550
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
551
|
+
SOFTWARE.
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
===
|
|
555
|
+
|
|
556
|
+
# @react-aria/focus@3.19.1 (Apache-2.0)
|
|
557
557
|
|
|
558
558
|
Apache License
|
|
559
559
|
Version 2.0, January 2004
|
|
@@ -760,7 +760,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
760
760
|
|
|
761
761
|
===
|
|
762
762
|
|
|
763
|
-
# @react-aria/
|
|
763
|
+
# @react-aria/interactions@3.23.0 (Apache-2.0)
|
|
764
764
|
|
|
765
765
|
Apache License
|
|
766
766
|
Version 2.0, January 2004
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
var package_default = {
|
|
3
3
|
bin: "./dist/cli.js",
|
|
4
4
|
name: "alinea",
|
|
5
|
-
version: "1.4.
|
|
5
|
+
version: "1.4.2",
|
|
6
6
|
description: "Headless git-based CMS",
|
|
7
7
|
repository: {
|
|
8
8
|
type: "git",
|
|
@@ -39,7 +39,8 @@ var package_default = {
|
|
|
39
39
|
],
|
|
40
40
|
dependencies: {
|
|
41
41
|
"@alinea/iso": "^0.3.3",
|
|
42
|
-
esbuild: "^0.25.4"
|
|
42
|
+
esbuild: "^0.25.4",
|
|
43
|
+
next: "^15.3.5"
|
|
43
44
|
},
|
|
44
45
|
peerDependencies: {
|
|
45
46
|
react: "*",
|
|
@@ -50,7 +50,8 @@ var package_default = {
|
|
|
50
50
|
],
|
|
51
51
|
dependencies: {
|
|
52
52
|
"@alinea/iso": "^0.3.3",
|
|
53
|
-
esbuild: "^0.25.4"
|
|
53
|
+
esbuild: "^0.25.4",
|
|
54
|
+
next: "^15.3.5"
|
|
54
55
|
},
|
|
55
56
|
peerDependencies: {
|
|
56
57
|
react: "*",
|
|
@@ -59,7 +60,7 @@ var package_default = {
|
|
|
59
60
|
devDependencies: {
|
|
60
61
|
"@alinea/styler": "^1.0.3",
|
|
61
62
|
"@alinea/suite": "^0.6.2",
|
|
62
|
-
"@biomejs/biome": "^
|
|
63
|
+
"@biomejs/biome": "^2.0.0",
|
|
63
64
|
"@esbx/reporter": "^0.0.20",
|
|
64
65
|
"@esbx/workspaces": "^0.0.20",
|
|
65
66
|
"@ladle/react": "^4.1.2",
|
package/dist/cli/Init.js
CHANGED
|
@@ -60,18 +60,32 @@ async function init(options) {
|
|
|
60
60
|
pkg = pkg.replace('"build": "', '"build": "alinea build -- ');
|
|
61
61
|
await fs.writeFile(path.join(cwd, "package.json"), pkg);
|
|
62
62
|
try {
|
|
63
|
-
const
|
|
64
|
-
if (
|
|
63
|
+
const isNext2 = JSON.parse(pkg).dependencies?.next;
|
|
64
|
+
if (isNext2) options.next = true;
|
|
65
65
|
} catch {
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
const
|
|
68
|
+
const isNext = options.next ?? false;
|
|
69
|
+
const configFileContents = isNext ? configFile.replaceAll("alinea/core", "alinea/next") : configFile;
|
|
69
70
|
const hasSrcDir = await fs.access(path.join(cwd, "src")).then(
|
|
70
71
|
() => true,
|
|
71
72
|
() => false
|
|
72
73
|
);
|
|
73
|
-
const
|
|
74
|
+
const installInto = hasSrcDir ? path.join(cwd, "src") : cwd;
|
|
75
|
+
const configFileLocation = path.join(installInto, "cms.ts");
|
|
74
76
|
await fs.writeFile(configFileLocation, configFileContents);
|
|
77
|
+
if (isNext) {
|
|
78
|
+
const handlerFile = await fs.readFile(
|
|
79
|
+
path.join(__dirname, "static/init/next-handler.js"),
|
|
80
|
+
"utf-8"
|
|
81
|
+
);
|
|
82
|
+
const routeLocation = path.join(
|
|
83
|
+
installInto,
|
|
84
|
+
"app/(alinea)/api/cms/route.ts"
|
|
85
|
+
);
|
|
86
|
+
await fs.mkdir(path.dirname(routeLocation), { recursive: true });
|
|
87
|
+
await fs.writeFile(routeLocation, handlerFile);
|
|
88
|
+
}
|
|
75
89
|
const command = `${runner} alinea dev`;
|
|
76
90
|
if (!quiet)
|
|
77
91
|
console.info(
|
package/dist/cli/Serve.js
CHANGED
package/dist/cli/bin.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
package_default
|
|
3
|
-
} from "../chunks/chunk-
|
|
3
|
+
} from "../chunks/chunk-MFIAKJZR.js";
|
|
4
4
|
import "../chunks/chunk-NZLE2WMY.js";
|
|
5
5
|
|
|
6
6
|
// node_modules/mri/lib/index.mjs
|
|
@@ -222,18 +222,22 @@ var lib_default2 = (e, t2) => new o(e, t2);
|
|
|
222
222
|
|
|
223
223
|
// src/cli/bin.ts
|
|
224
224
|
import { ensureEnv } from "./util/EnsureEnv.js";
|
|
225
|
+
import { ensureLibs } from "./util/EnsureLibs.js";
|
|
225
226
|
import { ensureNode } from "./util/EnsureNode.js";
|
|
226
|
-
import { ensureReact } from "./util/EnsureReact.js";
|
|
227
227
|
import { forwardCommand } from "./util/ForwardCommand.js";
|
|
228
228
|
var prog = lib_default2("alinea");
|
|
229
|
-
|
|
229
|
+
var libs = {
|
|
230
|
+
react: "18.0.0",
|
|
231
|
+
"react-dom": "18.0.0"
|
|
232
|
+
};
|
|
233
|
+
prog.version(package_default.version).command("init").describe("Initialize a new Alinea project in the current directory").action(async (args) => {
|
|
230
234
|
ensureNode();
|
|
231
|
-
|
|
235
|
+
ensureLibs(libs);
|
|
232
236
|
const { init } = await import("./Init.js");
|
|
233
237
|
return init(args);
|
|
234
238
|
}).command("dev").alias("serve").describe("Start a development dashboard").option("-c, --config", "Config file location").option("-d, --dir", "Root directory of the project").option("-p, --port", "Port to listen on").option("-b, --base", "Base URL for previews").option("--production", "Use production backend").option("--dev", "Watch alinea sources").action(async (args) => {
|
|
235
239
|
ensureNode();
|
|
236
|
-
|
|
240
|
+
ensureLibs(libs);
|
|
237
241
|
ensureEnv(args.dir);
|
|
238
242
|
process.env.NODE_ENV = args.production ? "production" : "development";
|
|
239
243
|
const { serve } = await import("./Serve.js");
|
|
@@ -251,7 +255,7 @@ prog.version(package_default.version).command("init").describe("Copy a sample co
|
|
|
251
255
|
"Any missing or incorrect properties will be overwritten by their default"
|
|
252
256
|
).action(async (args) => {
|
|
253
257
|
ensureNode();
|
|
254
|
-
|
|
258
|
+
ensureLibs(libs);
|
|
255
259
|
ensureEnv(args.dir);
|
|
256
260
|
process.env.NODE_ENV = "production";
|
|
257
261
|
if (args.fix) {
|
|
@@ -1,35 +1,47 @@
|
|
|
1
|
-
import {Config, Field} from 'alinea'
|
|
2
|
-
import {createCMS} from 'alinea/core'
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
1
|
+
import {Config, Field} from 'alinea'
|
|
2
|
+
import {createCMS} from 'alinea/core'
|
|
3
|
+
|
|
4
|
+
// Create types for your CMS schema
|
|
5
|
+
const Page = Config.type('Page', {
|
|
6
|
+
fields: {
|
|
7
|
+
title: Field.text('Title'),
|
|
8
|
+
path: Field.path('Path')
|
|
9
|
+
}
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
export const cms = createCMS({
|
|
13
|
+
// List out available types in your schema
|
|
14
|
+
schema: {
|
|
15
|
+
Page
|
|
16
|
+
},
|
|
17
|
+
|
|
18
|
+
// Define the content structure of your CMS
|
|
19
|
+
workspaces: {
|
|
20
|
+
main: Config.workspace('Example', {
|
|
21
|
+
source: 'content',
|
|
22
|
+
mediaDir: 'public/media',
|
|
23
|
+
roots: {
|
|
24
|
+
pages: Config.root('Example site', {
|
|
25
|
+
contains: ['Page']
|
|
26
|
+
}),
|
|
27
|
+
media: Config.media()
|
|
28
|
+
}
|
|
29
|
+
})
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
baseUrl: {
|
|
33
|
+
// Point to your local website
|
|
34
|
+
development: 'http://localhost:3000',
|
|
35
|
+
// The production URL of your website
|
|
36
|
+
production: process.env.VERCEL_URL ?? 'https://example.com'
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
// Enable live previews after adding <cms.previews widget /> to your layout
|
|
40
|
+
// preview: true,
|
|
41
|
+
|
|
42
|
+
// The handler route URL
|
|
43
|
+
handlerUrl: '/api/cms',
|
|
44
|
+
|
|
45
|
+
// The admin dashboard will be bundled in this static file
|
|
46
|
+
dashboardFile: 'admin.html'
|
|
47
|
+
})
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function ensureLibs(libs: Record<string, string>): void;
|
|
@@ -3,15 +3,16 @@ import {
|
|
|
3
3
|
} from "../../chunks/chunk-5RKITIG5.js";
|
|
4
4
|
import "../../chunks/chunk-NZLE2WMY.js";
|
|
5
5
|
|
|
6
|
-
// src/cli/util/
|
|
7
|
-
import { outcome } from "alinea/core/Outcome";
|
|
6
|
+
// src/cli/util/EnsureLibs.ts
|
|
8
7
|
import fs from "node:fs";
|
|
9
8
|
import { createRequire } from "node:module";
|
|
10
9
|
import path from "node:path";
|
|
10
|
+
import { outcome } from "alinea/core/Outcome";
|
|
11
|
+
import { reportFatal } from "./Report.js";
|
|
11
12
|
var require2 = createRequire(import.meta.url);
|
|
12
|
-
function
|
|
13
|
+
function ensureLibs(libs) {
|
|
13
14
|
function fail(message) {
|
|
14
|
-
|
|
15
|
+
reportFatal(message);
|
|
15
16
|
process.exit(1);
|
|
16
17
|
}
|
|
17
18
|
function ensurePackage(pkg, minVersion) {
|
|
@@ -35,9 +36,12 @@ You can install it with: npm i ${pkg}`
|
|
|
35
36
|
`
|
|
36
37
|
);
|
|
37
38
|
}
|
|
39
|
+
for (const [pkg, minVersion] of Object.entries(libs)) {
|
|
40
|
+
ensurePackage(pkg, minVersion);
|
|
41
|
+
}
|
|
38
42
|
ensurePackage("react", "18.0.0");
|
|
39
43
|
ensurePackage("react-dom", "18.0.0");
|
|
40
44
|
}
|
|
41
45
|
export {
|
|
42
|
-
|
|
46
|
+
ensureLibs
|
|
43
47
|
};
|
|
@@ -39,7 +39,7 @@ function CloudAuthView({ setSession }) {
|
|
|
39
39
|
/* @__PURE__ */ jsxs(Typo.P, { children: [
|
|
40
40
|
"Alinea requires a",
|
|
41
41
|
" ",
|
|
42
|
-
/* @__PURE__ */ jsx(Typo.Link, { href: "https://
|
|
42
|
+
/* @__PURE__ */ jsx(Typo.Link, { href: "https://alineacms.com/docs/deploy", target: "_blank", children: "handler" }),
|
|
43
43
|
" ",
|
|
44
44
|
"to continue."
|
|
45
45
|
] })
|
|
@@ -81,7 +81,7 @@ function CloudAuthView({ setSession }) {
|
|
|
81
81
|
/* @__PURE__ */ jsx(
|
|
82
82
|
Typo.Link,
|
|
83
83
|
{
|
|
84
|
-
href: "https://
|
|
84
|
+
href: "https://alineacms.com/docs/deploy",
|
|
85
85
|
target: "_blank",
|
|
86
86
|
children: /* @__PURE__ */ jsx("span", { children: "fully configure a custom backend" })
|
|
87
87
|
}
|
package/dist/core/Infer.d.ts
CHANGED
|
@@ -2,14 +2,15 @@ import type { Expand, UnionOfValues } from 'alinea/core/util/Types';
|
|
|
2
2
|
import type { EntryFields } from './EntryFields.js';
|
|
3
3
|
import type { Expr } from './Expr.js';
|
|
4
4
|
import type { Field } from './Field.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type { InferProjection } from './Graph.js';
|
|
6
6
|
import type { ListRow } from './shape/ListShape.js';
|
|
7
|
+
import type { Type } from './Type.js';
|
|
7
8
|
type QueryList<T> = Expand<UnionOfValues<{
|
|
8
9
|
[K in keyof T]: {
|
|
9
10
|
_type: K;
|
|
10
11
|
} & Type.Infer<T[K]>;
|
|
11
12
|
}>>;
|
|
12
|
-
export type InferQueryValue<T> = T extends Array<Type<infer X>> ? InferQueryValue<X> : T extends Type<infer Fields> ? Type.Infer<Fields> : T extends Expr<infer QueryValue> ? QueryValue : T extends Record<string, Type> ? QueryList<T> :
|
|
13
|
+
export type InferQueryValue<T> = T extends Array<Type<infer X>> ? InferQueryValue<X> : T extends Type<infer Fields> ? Type.Infer<Fields> : T extends Expr<infer QueryValue> ? QueryValue : T extends Record<string, Type> ? QueryList<T> : InferProjection<T>;
|
|
13
14
|
type StoredList<T> = Expand<UnionOfValues<{
|
|
14
15
|
[K in keyof T]: {
|
|
15
16
|
_type: K;
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
import "../../chunks/chunk-NZLE2WMY.js";
|
|
5
5
|
|
|
6
6
|
// src/core/source/GithubSource.ts
|
|
7
|
+
import * as paths from "alinea/core/util/Paths";
|
|
7
8
|
import { HttpError } from "../HttpError.js";
|
|
8
9
|
import { ReadonlyTree } from "./Tree.js";
|
|
9
10
|
import { assert } from "./Utils.js";
|
|
@@ -16,9 +17,7 @@ var GithubSource = class {
|
|
|
16
17
|
}
|
|
17
18
|
get contentLocation() {
|
|
18
19
|
const { contentDir, rootDir } = this.#options;
|
|
19
|
-
|
|
20
|
-
if (rootDir.endsWith("/")) return rootDir + contentDir;
|
|
21
|
-
return `${rootDir}/${contentDir}`;
|
|
20
|
+
return paths.join(rootDir, contentDir);
|
|
22
21
|
}
|
|
23
22
|
async getTree() {
|
|
24
23
|
const current = this.#current;
|
|
@@ -1297,7 +1297,8 @@ function EntryTree({ selectedId, expanded = [] }) {
|
|
|
1297
1297
|
const customClickBehavior = useMemo(() => {
|
|
1298
1298
|
return {
|
|
1299
1299
|
itemInstance: {
|
|
1300
|
-
getProps: ({ item }) => ({
|
|
1300
|
+
getProps: ({ item, prev }) => ({
|
|
1301
|
+
...prev?.(),
|
|
1301
1302
|
onClick: (e) => {
|
|
1302
1303
|
if (item.isSelected() && item.isFolder() && item.isExpanded()) {
|
|
1303
1304
|
item.collapse();
|
|
@@ -1324,6 +1325,9 @@ function EntryTree({ selectedId, expanded = [] }) {
|
|
|
1324
1325
|
dataLoader: treeProvider,
|
|
1325
1326
|
getItemName: (item) => selectedEntry(locale, item.getItemData()).title,
|
|
1326
1327
|
isItemFolder: (item) => Boolean(item.getItemData().isFolder),
|
|
1328
|
+
onPrimaryAction: (item) => {
|
|
1329
|
+
navigate(nav.entry({ id: item.getId() }));
|
|
1330
|
+
},
|
|
1327
1331
|
initialState: {
|
|
1328
1332
|
expandedItems: [...expanded].concat(selectedId ?? [])
|
|
1329
1333
|
},
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { FieldOptions, WithoutLabel } from 'alinea/core/Field';
|
|
2
|
-
import type { EdgeQuery, GraphQuery, IncludeGuard, SelectionGuard, TypeGuard } from 'alinea/core/Graph';
|
|
3
|
-
import type { Picker } from 'alinea/core/Picker';
|
|
4
|
-
import { Reference } from 'alinea/core/Reference';
|
|
5
2
|
import { ListField } from 'alinea/core/field/ListField';
|
|
6
3
|
import { UnionField } from 'alinea/core/field/UnionField';
|
|
4
|
+
import type { EdgeEntries, EdgeEntry, GraphQuery, IncludeGuard, SelectionGuard, TypeGuard } from 'alinea/core/Graph';
|
|
5
|
+
import type { Picker } from 'alinea/core/Picker';
|
|
6
|
+
import { Reference } from 'alinea/core/Reference';
|
|
7
7
|
import { ListRow } from 'alinea/core/shape/ListShape';
|
|
8
8
|
import type { ReactNode } from 'react';
|
|
9
9
|
/** Optional settings to configure a link field */
|
|
@@ -20,18 +20,18 @@ export interface LinkOptions<Value> extends LinkFieldOptions<Value> {
|
|
|
20
20
|
pickers: Record<string, Picker<any, any>>;
|
|
21
21
|
}
|
|
22
22
|
export declare class LinkField<StoredValue extends Reference, QueryValue> extends UnionField<StoredValue, QueryValue, LinkOptions<StoredValue>> {
|
|
23
|
-
first<Selection extends SelectionGuard = undefined, const Type extends TypeGuard = undefined, Include extends IncludeGuard = undefined>(query: GraphQuery<Selection, Type, Include>):
|
|
23
|
+
first<Selection extends SelectionGuard = undefined, const Type extends TypeGuard = undefined, Include extends IncludeGuard = undefined>(query: GraphQuery<Selection, Type, Include>): GraphQuery<Selection, Type, Include> & EdgeEntry & {
|
|
24
24
|
first: true;
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
export declare function createLink<StoredValue extends Reference, QueryValue>(label: string, options: WithoutLabel<LinkOptions<StoredValue>>): LinkField<StoredValue, QueryValue>;
|
|
28
28
|
/** Internal representation of a link field */
|
|
29
29
|
export declare class LinksField<StoredValue extends ListRow, QueryValue> extends ListField<StoredValue, QueryValue, LinkOptions<Array<StoredValue>>> {
|
|
30
|
-
find<Selection extends SelectionGuard = undefined, Type extends TypeGuard = undefined, Include extends IncludeGuard = undefined>(query: GraphQuery<Selection, Type, Include>):
|
|
31
|
-
first<Selection extends SelectionGuard = undefined, const Type extends TypeGuard = undefined, Include extends IncludeGuard = undefined>(query?: GraphQuery<Selection, Type, Include>):
|
|
30
|
+
find<Selection extends SelectionGuard = undefined, Type extends TypeGuard = undefined, Include extends IncludeGuard = undefined>(query: GraphQuery<Selection, Type, Include>): GraphQuery<Selection, Type, Include> & EdgeEntries;
|
|
31
|
+
first<Selection extends SelectionGuard = undefined, const Type extends TypeGuard = undefined, Include extends IncludeGuard = undefined>(query?: GraphQuery<Selection, Type, Include>): GraphQuery<Selection, Type, Include> & EdgeEntries & {
|
|
32
32
|
first: true;
|
|
33
33
|
};
|
|
34
|
-
count<Selection extends SelectionGuard = undefined, const Type extends TypeGuard = undefined, Include extends IncludeGuard = undefined>(query?: GraphQuery<Selection, Type, Include>):
|
|
34
|
+
count<Selection extends SelectionGuard = undefined, const Type extends TypeGuard = undefined, Include extends IncludeGuard = undefined>(query?: GraphQuery<Selection, Type, Include>): GraphQuery<Selection, Type, Include> & EdgeEntries & {
|
|
35
35
|
count: true;
|
|
36
36
|
};
|
|
37
37
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import "../../chunks/chunk-NZLE2WMY.js";
|
|
2
2
|
|
|
3
3
|
// src/field/link/LinkField.ts
|
|
4
|
-
import { Reference } from "alinea/core/Reference";
|
|
5
4
|
import { ListField } from "alinea/core/field/ListField";
|
|
6
5
|
import { UnionField } from "alinea/core/field/UnionField";
|
|
6
|
+
import { Reference } from "alinea/core/Reference";
|
|
7
7
|
import { ListRow } from "alinea/core/shape/ListShape";
|
|
8
8
|
import { entries, fromEntries } from "alinea/core/util/Objects";
|
|
9
9
|
import { viewKeys } from "alinea/dashboard/editor/ViewKeys";
|
package/dist/test/cms.js
CHANGED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import "../../chunks/chunk-NZLE2WMY.js";
|
|
2
|
+
|
|
3
|
+
// src/ui/icons/IcRoundAccountTree.tsx
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
function IcRoundAccountTree(props) {
|
|
6
|
+
return /* @__PURE__ */ jsx(
|
|
7
|
+
"svg",
|
|
8
|
+
{
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
width: "1em",
|
|
11
|
+
height: "1em",
|
|
12
|
+
viewBox: "0 0 24 24",
|
|
13
|
+
...props,
|
|
14
|
+
children: /* @__PURE__ */ jsx(
|
|
15
|
+
"path",
|
|
16
|
+
{
|
|
17
|
+
fill: "currentColor",
|
|
18
|
+
d: "M17 11h3a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2h-3a2 2 0 0 0-2 2v1H9.01V5a2 2 0 0 0-2-2H4c-1.1 0-2 .9-2 2v4a2 2 0 0 0 2 2h3a2 2 0 0 0 2-2V8h2v7.01c0 1.65 1.34 2.99 2.99 2.99H15v1a2 2 0 0 0 2 2h3a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-3a2 2 0 0 0-2 2v1h-1.01c-.54 0-.99-.45-.99-.99V8h2v1c0 1.1.9 2 2 2"
|
|
19
|
+
}
|
|
20
|
+
)
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
IcRoundAccountTree
|
|
26
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import "../../chunks/chunk-NZLE2WMY.js";
|
|
2
|
+
|
|
3
|
+
// src/ui/icons/IcRoundChevronRight.tsx
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
function IcRoundChevronRight(props) {
|
|
6
|
+
return /* @__PURE__ */ jsx(
|
|
7
|
+
"svg",
|
|
8
|
+
{
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
width: "1em",
|
|
11
|
+
height: "1em",
|
|
12
|
+
viewBox: "0 0 24 24",
|
|
13
|
+
...props,
|
|
14
|
+
children: /* @__PURE__ */ jsx(
|
|
15
|
+
"path",
|
|
16
|
+
{
|
|
17
|
+
fill: "currentColor",
|
|
18
|
+
d: "M9.29 6.71a.996.996 0 0 0 0 1.41L13.17 12l-3.88 3.88a.996.996 0 1 0 1.41 1.41l4.59-4.59a.996.996 0 0 0 0-1.41L10.7 6.7c-.38-.38-1.02-.38-1.41.01"
|
|
19
|
+
}
|
|
20
|
+
)
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
IcRoundChevronRight
|
|
26
|
+
};
|
|
@@ -3,16 +3,24 @@ import "../../chunks/chunk-NZLE2WMY.js";
|
|
|
3
3
|
// src/ui/icons/MdiTwitterCircle.tsx
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
function MdiTwitterCircle(props) {
|
|
6
|
-
return /* @__PURE__ */ jsx(
|
|
7
|
-
"
|
|
6
|
+
return /* @__PURE__ */ jsx(
|
|
7
|
+
"svg",
|
|
8
8
|
{
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
10
|
+
width: "0.88em",
|
|
11
|
+
height: "1em",
|
|
12
|
+
viewBox: "0 0 448 512",
|
|
13
|
+
...props,
|
|
14
|
+
children: /* @__PURE__ */ jsx(
|
|
15
|
+
"path",
|
|
16
|
+
{
|
|
17
|
+
fill: "currentColor",
|
|
18
|
+
d: "M64 32C28.7 32 0 60.7 0 96v320c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64zm297.1 84L257.3 234.6L379.4 396h-95.6L209 298.1L123.3 396H75.8l111-126.9L69.7 116h98l67.7 89.5l78.2-89.5zm-37.8 251.6L153.4 142.9h-28.3l171.8 224.7h26.3z"
|
|
19
|
+
}
|
|
20
|
+
)
|
|
11
21
|
}
|
|
12
|
-
)
|
|
22
|
+
);
|
|
13
23
|
}
|
|
14
|
-
var MdiTwitterCircle_default = MdiTwitterCircle;
|
|
15
24
|
export {
|
|
16
|
-
MdiTwitterCircle
|
|
17
|
-
MdiTwitterCircle_default as default
|
|
25
|
+
MdiTwitterCircle
|
|
18
26
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"bin": "./dist/cli.js",
|
|
3
3
|
"name": "alinea",
|
|
4
|
-
"version": "1.4.
|
|
4
|
+
"version": "1.4.2",
|
|
5
5
|
"description": "Headless git-based CMS",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -38,7 +38,8 @@
|
|
|
38
38
|
],
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@alinea/iso": "^0.3.3",
|
|
41
|
-
"esbuild": "^0.25.4"
|
|
41
|
+
"esbuild": "^0.25.4",
|
|
42
|
+
"next": "^15.3.5"
|
|
42
43
|
},
|
|
43
44
|
"peerDependencies": {
|
|
44
45
|
"react": "*",
|
package/readme.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[](https://npmjs.org/package/alinea)
|
|
2
2
|
[](https://packagephobia.com/result?p=alinea)
|
|
3
3
|
|
|
4
|
-
# [](https://
|
|
4
|
+
# [](https://alineacms.com)
|
|
5
5
|
|
|
6
6
|
Alinea is a modern content management system.
|
|
7
7
|
|
|
@@ -29,7 +29,7 @@ Open the dashboard to have a look around
|
|
|
29
29
|
npx alinea dev
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
[Start configuring types and fields →](https://
|
|
32
|
+
[Start configuring types and fields →](https://alineacms.com/docs/configuration)
|
|
33
33
|
|
|
34
34
|
## Configure
|
|
35
35
|
|
|
@@ -50,7 +50,7 @@ const Blog = Config.document('Blog', {
|
|
|
50
50
|
})
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
[Type options and fields →](https://
|
|
53
|
+
[Type options and fields →](https://alineacms.com/docs/configuration)
|
|
54
54
|
|
|
55
55
|
## Query
|
|
56
56
|
|
|
@@ -76,18 +76,18 @@ console.log(
|
|
|
76
76
|
)
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
[See the full api →](https://
|
|
79
|
+
[See the full api →](https://alineacms.com/docs/content/query)
|
|
80
80
|
|
|
81
81
|
Content is available during static site generation and when server side querying.
|
|
82
82
|
Content is bundled with your code and can be queried with zero network overhead.
|
|
83
83
|
|
|
84
|
-
[How alinea bundles content →](https://
|
|
84
|
+
[How alinea bundles content →](https://alineacms.com/docs/content)
|
|
85
85
|
|
|
86
86
|
## Deploy anywhere
|
|
87
87
|
|
|
88
88
|
Alinea supports custom backends that can be hosted as a simple Node.js process or on serverless runtimes.
|
|
89
89
|
|
|
90
|
-
[Setup your backend →](https://
|
|
90
|
+
[Setup your backend →](https://alineacms.com/docs/deploy)
|
|
91
91
|
|
|
92
92
|
## How to contribute to this project
|
|
93
93
|
|
package/dist/.init/cms.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import {Config, Field} from 'alinea'
|
|
2
|
-
import {createCMS} from 'alinea/next'
|
|
3
|
-
|
|
4
|
-
const Page = Config.type('Page', {
|
|
5
|
-
fields: {
|
|
6
|
-
title: Field.text('Title'),
|
|
7
|
-
path: Field.path('Path')
|
|
8
|
-
}
|
|
9
|
-
})
|
|
10
|
-
|
|
11
|
-
export const cms = createCMS({
|
|
12
|
-
schema: {
|
|
13
|
-
Page
|
|
14
|
-
},
|
|
15
|
-
workspaces: {
|
|
16
|
-
main: Config.workspace('Example', {
|
|
17
|
-
source: 'content',
|
|
18
|
-
mediaDir: 'public',
|
|
19
|
-
roots: {
|
|
20
|
-
pages: Config.root('Example site', {
|
|
21
|
-
contains: ['Page'],
|
|
22
|
-
children: {
|
|
23
|
-
welcome: Config.page({
|
|
24
|
-
type: Page,
|
|
25
|
-
fields: {
|
|
26
|
-
title: 'Welcome'
|
|
27
|
-
}
|
|
28
|
-
})
|
|
29
|
-
}
|
|
30
|
-
}),
|
|
31
|
-
media: Config.media()
|
|
32
|
-
}
|
|
33
|
-
})
|
|
34
|
-
}
|
|
35
|
-
})
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function ensureReact(): void;
|