svelte-intlayer 8.4.5 → 8.4.6

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.
Files changed (2) hide show
  1. package/dist/plugins.js +25 -12
  2. 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 = getMarkdownMetadata(node) ?? {};
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
- ? MarkdownMetadataWithSelector
143
- : MarkdownMetadataRenderer,
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
- ? MarkdownWithSelector
162
- : MarkdownRenderer,
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 () => compile(node, { runtime: svelteHtmlRuntime, components: components }, {});
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.5",
3
+ "version": "8.4.6",
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.5",
76
- "@intlayer/config": "8.4.5",
77
- "@intlayer/core": "8.4.5",
78
- "@intlayer/editor": "8.4.5",
79
- "@intlayer/types": "8.4.5"
75
+ "@intlayer/api": "8.4.6",
76
+ "@intlayer/config": "8.4.6",
77
+ "@intlayer/core": "8.4.6",
78
+ "@intlayer/editor": "8.4.6",
79
+ "@intlayer/types": "8.4.6"
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.0",
94
+ "vite": "8.0.1",
95
95
  "vitest": "4.1.0"
96
96
  },
97
97
  "peerDependencies": {