@trustme24/flext 1.10.6 → 2.0.0
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 +4 -4
- package/bin/flext.mjs +24 -0
- package/dist/dialects/index.d.ts +3 -0
- package/dist/dialects/latest.d.ts +6 -0
- package/dist/dialects/legacy-1-0-beta3.d.ts +5 -0
- package/dist/dialects/legacy-1-0-beta4.d.ts +5 -0
- package/dist/index.cjs +257 -253
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +8 -7
- package/dist/index.js +29 -29
- package/dist/index.js.map +4 -4
- package/dist/types.d.ts +3 -74
- package/package.json +13 -11
- package/src/dialects/index.ts +3 -0
- package/src/dialects/latest.ts +8 -0
- package/src/dialects/legacy-1-0-beta3.ts +7 -0
- package/src/dialects/legacy-1-0-beta4.ts +7 -0
- package/src/index.ts +75 -16
- package/src/tsconfig.json +3 -3
- package/src/types.ts +2 -102
- package/dist/engine.d.ts +0 -66
- package/dist/errors.d.ts +0 -25
- package/dist/index.css +0 -2
- package/dist/lib/index.d.ts +0 -70
- package/dist/modules/array/index.d.ts +0 -5
- package/dist/modules/cond/index.d.ts +0 -10
- package/dist/modules/date/index.d.ts +0 -16
- package/dist/modules/index.d.ts +0 -9
- package/dist/modules/match/index.d.ts +0 -5
- package/dist/modules/math/index.d.ts +0 -17
- package/dist/modules/media/index.d.ts +0 -3
- package/dist/modules/number/index.d.ts +0 -8
- package/dist/modules/put/index.d.ts +0 -7
- package/dist/modules/string/index.d.ts +0 -5
- package/src/engine.ts +0 -414
- package/src/env.d.ts +0 -4
- package/src/errors.ts +0 -51
- package/src/index.css +0 -1
- package/src/lib/index.ts +0 -931
- package/src/lib/unocssShadowDomHack.css +0 -133
- package/src/modules/array/index.ts +0 -68
- package/src/modules/cond/index.ts +0 -123
- package/src/modules/date/index.ts +0 -254
- package/src/modules/index.ts +0 -9
- package/src/modules/match/index.ts +0 -54
- package/src/modules/math/index.ts +0 -198
- package/src/modules/media/index.ts +0 -27
- package/src/modules/number/index.ts +0 -73
- package/src/modules/number/localeNames.json +0 -16
- package/src/modules/number/locales/kkKz.json +0 -98
- package/src/modules/put/index.ts +0 -61
- package/src/modules/string/index.ts +0 -45
package/README.md
CHANGED
|
@@ -74,7 +74,7 @@ This approach helps systems understand what a template requires before rendering
|
|
|
74
74
|
import Flext from '@trustme24/flext';
|
|
75
75
|
|
|
76
76
|
const template = `
|
|
77
|
-
{{!-- @
|
|
77
|
+
{{!-- @syntax "1.0" --}}
|
|
78
78
|
{{!-- @use "put" --}}
|
|
79
79
|
<p>{{ put name 'Unknown user...' }}</p>
|
|
80
80
|
`;
|
|
@@ -88,7 +88,7 @@ document.body.innerHTML = flext.html;
|
|
|
88
88
|
|
|
89
89
|
## Core Ideas
|
|
90
90
|
|
|
91
|
-
A **Flext** template contains three conceptual layers. The first layer is markup: HTML and standard Handlebars expressions. The second layer is Metadata written as directives such as `@
|
|
91
|
+
A **Flext** template contains three conceptual layers. The first layer is markup: HTML and standard Handlebars expressions. The second layer is Metadata written as directives such as `@syntax`, `@field`, or `@use`. The third layer is runtime behavior provided through Modules and helpers.
|
|
92
92
|
|
|
93
93
|
Keeping these elements close together makes templates easier to move between systems and reduces hidden assumptions.
|
|
94
94
|
|
|
@@ -100,7 +100,7 @@ Metadata directives can describe template Version, language, title, rendering pa
|
|
|
100
100
|
import Flext from '@trustme24/flext';
|
|
101
101
|
|
|
102
102
|
const template = `
|
|
103
|
-
{{!-- @
|
|
103
|
+
{{!-- @syntax "1.0" --}}
|
|
104
104
|
{{!-- @use "put" --}}
|
|
105
105
|
{{!-- @group "data" --}}
|
|
106
106
|
{{!-- @field "data.someField" type="string" label="Message" required --}}
|
|
@@ -141,7 +141,7 @@ Templates should stay declarative and focused on layout. Business logic is usual
|
|
|
141
141
|
### Example:
|
|
142
142
|
|
|
143
143
|
```handlebars
|
|
144
|
-
{{!-- @
|
|
144
|
+
{{!-- @syntax "1.0" --}}
|
|
145
145
|
{{!-- @use "put" "date" --}}
|
|
146
146
|
{{!-- @group "data" --}
|
|
147
147
|
{{!-- @field "data.city" type="string" label="City" required --}}
|
package/bin/flext.mjs
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
async function flext() {
|
|
4
|
+
const [ command = '' ] = process.argv.slice(2);
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
// Doing some checks
|
|
8
|
+
|
|
9
|
+
if (command !== 'sync') {
|
|
10
|
+
console.log(`Flext: Unknown command: '${command}'\n\nUsage: flext sync`);
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
await import('./sync-dialects.mjs');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
flext().catch((e) => {
|
|
19
|
+
const message = e instanceof Error ? e.message : String(e);
|
|
20
|
+
|
|
21
|
+
console.error('Flext: Unable to execute: ' + message);
|
|
22
|
+
|
|
23
|
+
process.exit(1);
|
|
24
|
+
});
|