svelte-intlayer 8.4.5 → 8.4.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/dist/plugins.js +25 -12
- package/package.json +7 -7
package/dist/plugins.js
CHANGED
|
@@ -1,15 +1,28 @@
|
|
|
1
1
|
import configuration from '@intlayer/config/built';
|
|
2
2
|
import { conditionPlugin, enumerationPlugin, filePlugin, genderPlugin, getHTML, nestedPlugin, translationPlugin, } from '@intlayer/core/interpreter';
|
|
3
|
-
import { compile, getMarkdownMetadata } from '@intlayer/core/markdown';
|
|
4
3
|
import { HTML_TAGS, } from '@intlayer/core/transpiler';
|
|
5
4
|
import * as NodeTypes from '@intlayer/types/nodeType';
|
|
6
5
|
import { default as ContentSelector } from './editor/ContentSelector.svelte';
|
|
7
|
-
import MarkdownMetadataRenderer from './markdown/MarkdownMetadataRenderer.svelte';
|
|
8
|
-
import MarkdownMetadataWithSelector from './markdown/MarkdownMetadataWithSelector.svelte';
|
|
9
|
-
import MarkdownRenderer from './markdown/MarkdownRenderer.svelte';
|
|
10
|
-
import MarkdownWithSelector from './markdown/MarkdownWithSelector.svelte';
|
|
11
|
-
import { svelteHtmlRuntime } from './markdown/runtime';
|
|
12
6
|
import { renderIntlayerNode } from './renderIntlayerNode';
|
|
7
|
+
// Lazy pre-load heavy modules — creates separate code-split chunks
|
|
8
|
+
let _getMarkdownMetadata = null;
|
|
9
|
+
let _compile = null;
|
|
10
|
+
void import('@intlayer/core/markdown').then((m) => {
|
|
11
|
+
_getMarkdownMetadata = m.getMarkdownMetadata;
|
|
12
|
+
_compile = m.compile;
|
|
13
|
+
});
|
|
14
|
+
let _MarkdownMetadataRenderer = null;
|
|
15
|
+
let _MarkdownMetadataWithSelector = null;
|
|
16
|
+
let _MarkdownRenderer = null;
|
|
17
|
+
let _MarkdownWithSelector = null;
|
|
18
|
+
let _svelteHtmlRuntime = null;
|
|
19
|
+
void Promise.all([
|
|
20
|
+
import('./markdown/MarkdownMetadataRenderer.svelte').then((m) => (_MarkdownMetadataRenderer = m.default)),
|
|
21
|
+
import('./markdown/MarkdownMetadataWithSelector.svelte').then((m) => (_MarkdownMetadataWithSelector = m.default)),
|
|
22
|
+
import('./markdown/MarkdownRenderer.svelte').then((m) => (_MarkdownRenderer = m.default)),
|
|
23
|
+
import('./markdown/MarkdownWithSelector.svelte').then((m) => (_MarkdownWithSelector = m.default)),
|
|
24
|
+
import('./markdown/runtime').then((m) => (_svelteHtmlRuntime = m.svelteHtmlRuntime)),
|
|
25
|
+
]);
|
|
13
26
|
/**
|
|
14
27
|
* Basic Intlayer node plugins for content handling
|
|
15
28
|
* These handle the core content transformation logic
|
|
@@ -129,7 +142,7 @@ export const markdownStringPlugin = {
|
|
|
129
142
|
canHandle: (node) => typeof node === 'string',
|
|
130
143
|
transform: (node, props, deepTransformNode) => {
|
|
131
144
|
const { ...rest } = props;
|
|
132
|
-
const metadata =
|
|
145
|
+
const metadata = _getMarkdownMetadata?.(node) ?? {};
|
|
133
146
|
const metadataPlugins = {
|
|
134
147
|
id: 'markdown-metadata-plugin',
|
|
135
148
|
canHandle: (metadataNode) => typeof metadataNode === 'string' ||
|
|
@@ -139,8 +152,8 @@ export const markdownStringPlugin = {
|
|
|
139
152
|
transform: (metadataNode, props) => renderIntlayerNode({
|
|
140
153
|
value: metadataNode,
|
|
141
154
|
component: configuration?.editor.enabled
|
|
142
|
-
?
|
|
143
|
-
:
|
|
155
|
+
? (_MarkdownMetadataWithSelector ?? _MarkdownMetadataRenderer)
|
|
156
|
+
: _MarkdownMetadataRenderer,
|
|
144
157
|
props: {
|
|
145
158
|
...rest,
|
|
146
159
|
value: node, // The full markdown string
|
|
@@ -158,8 +171,8 @@ export const markdownStringPlugin = {
|
|
|
158
171
|
const nodeResult = renderIntlayerNode({
|
|
159
172
|
value: node,
|
|
160
173
|
component: configuration?.editor.enabled
|
|
161
|
-
?
|
|
162
|
-
:
|
|
174
|
+
? (_MarkdownWithSelector ?? _MarkdownRenderer)
|
|
175
|
+
: _MarkdownRenderer,
|
|
163
176
|
props: {
|
|
164
177
|
...rest,
|
|
165
178
|
value: node,
|
|
@@ -181,7 +194,7 @@ export const markdownStringPlugin = {
|
|
|
181
194
|
return (newComponents) => render(newComponents);
|
|
182
195
|
}
|
|
183
196
|
if (prop === 'toString') {
|
|
184
|
-
return () =>
|
|
197
|
+
return () => _compile?.(node, { runtime: _svelteHtmlRuntime, components: components }, {}) ?? node;
|
|
185
198
|
}
|
|
186
199
|
return Reflect.get(target, prop, receiver);
|
|
187
200
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svelte-intlayer",
|
|
3
|
-
"version": "8.4.
|
|
3
|
+
"version": "8.4.7",
|
|
4
4
|
"description": "Easily internationalize i18n your Svelte applications with type-safe multilingual content management.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"intlayer",
|
|
@@ -72,11 +72,11 @@
|
|
|
72
72
|
"typecheck": "tsc --noEmit --project tsconfig.types.json"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@intlayer/api": "8.4.
|
|
76
|
-
"@intlayer/config": "8.4.
|
|
77
|
-
"@intlayer/core": "8.4.
|
|
78
|
-
"@intlayer/editor": "8.4.
|
|
79
|
-
"@intlayer/types": "8.4.
|
|
75
|
+
"@intlayer/api": "8.4.7",
|
|
76
|
+
"@intlayer/config": "8.4.7",
|
|
77
|
+
"@intlayer/core": "8.4.7",
|
|
78
|
+
"@intlayer/editor": "8.4.7",
|
|
79
|
+
"@intlayer/types": "8.4.7"
|
|
80
80
|
},
|
|
81
81
|
"devDependencies": {
|
|
82
82
|
"@sveltejs/adapter-auto": "7.0.1",
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"svelte-check": "4.4.5",
|
|
92
92
|
"tsdown": "0.21.4",
|
|
93
93
|
"typescript": "5.9.3",
|
|
94
|
-
"vite": "8.0.
|
|
94
|
+
"vite": "8.0.1",
|
|
95
95
|
"vitest": "4.1.0"
|
|
96
96
|
},
|
|
97
97
|
"peerDependencies": {
|