svelte-intlayer 8.7.11 → 8.7.12

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.
@@ -1,7 +1,6 @@
1
1
  import { isEnabled } from '@intlayer/editor/isEnabled';
2
2
  import { onDestroy, onMount } from 'svelte';
3
3
  import { intlayerStore } from '../client/intlayerStore';
4
- const TREE_SHAKE_EDITOR = process.env['INTLAYER_EDITOR_ENABLED'] === 'false';
5
4
  /**
6
5
  * Initialises the Intlayer editor client singleton when the editor is enabled.
7
6
  * Syncs the current locale from intlayerStore into the editor manager so the
@@ -12,7 +11,7 @@ const TREE_SHAKE_EDITOR = process.env['INTLAYER_EDITOR_ENABLED'] === 'false';
12
11
  * direct access to the Svelte 5 rune state.
13
12
  */
14
13
  export const useEditor = () => {
15
- if (TREE_SHAKE_EDITOR || !isEnabled)
14
+ if (process.env['INTLAYER_EDITOR_ENABLED'] === 'false' || !isEnabled)
16
15
  return;
17
16
  let unsubscribeLocale = null;
18
17
  onMount(() => {
package/dist/plugins.js CHANGED
@@ -4,29 +4,6 @@ import * as NodeTypes from '@intlayer/types/nodeType';
4
4
  import { default as ContentSelector } from './editor/ContentSelector.svelte';
5
5
  import { HTMLRenderer } from './html/index';
6
6
  import { renderIntlayerNode } from './renderIntlayerNode';
7
- // ── Tree-shake constants ──────────────────────────────────────────────────────
8
- // When these env vars are injected at build time, bundlers eliminate the
9
- // branches guarded by these constants.
10
- /**
11
- * True when the intlayer node type is explicitly disabled at build time.
12
- */
13
- const TREE_SHAKE_INTLAYER_NODE = process.env['INTLAYER_NODE_TYPE_INTLAYER_NODE'] === 'false';
14
- /**
15
- * True when the markdown node type is explicitly disabled at build time.
16
- */
17
- const TREE_SHAKE_MARKDOWN = process.env['INTLAYER_NODE_TYPE_MARKDOWN'] === 'false';
18
- /**
19
- * True when the HTML node type is explicitly disabled at build time.
20
- */
21
- const TREE_SHAKE_HTML = process.env['INTLAYER_NODE_TYPE_HTML'] === 'false';
22
- /**
23
- * True when the insertion node type is explicitly disabled at build time.
24
- */
25
- const TREE_SHAKE_INSERTION = process.env['INTLAYER_NODE_TYPE_INSERTION'] === 'false';
26
- /**
27
- * True when the editor is explicitly disabled at build time.
28
- */
29
- const TREE_SHAKE_EDITOR = process.env['INTLAYER_EDITOR_ENABLED'] === 'false';
30
7
  // Lazy pre-load heavy modules — creates separate code-split chunks.
31
8
  // Guarded by tree-shake constants so bundlers can eliminate the dynamic import()
32
9
  // entirely when the feature is disabled at build time.
@@ -38,7 +15,7 @@ let _MarkdownRenderer = null;
38
15
  let _MarkdownWithSelector = null;
39
16
  let _svelteHtmlRuntime = null;
40
17
  let _HTMLWithSelector = null;
41
- if (!TREE_SHAKE_MARKDOWN) {
18
+ if (process.env['INTLAYER_NODE_TYPE_MARKDOWN'] !== 'false') {
42
19
  void import('@intlayer/core/markdown').then((m) => {
43
20
  _getMarkdownMetadata = m.getMarkdownMetadata;
44
21
  _compile = m.compile;
@@ -51,26 +28,26 @@ if (!TREE_SHAKE_MARKDOWN) {
51
28
  import('./markdown/runtime').then((m) => (_svelteHtmlRuntime = m.svelteHtmlRuntime)),
52
29
  ]);
53
30
  }
54
- if (!TREE_SHAKE_HTML) {
31
+ if (process.env['INTLAYER_NODE_TYPE_HTML'] !== 'false') {
55
32
  void import('./html/HTMLWithSelector.svelte').then((m) => (_HTMLWithSelector = m.default));
56
33
  }
57
34
  /**
58
35
  * Basic Intlayer node plugins for content handling
59
36
  * These handle the core content transformation logic
60
37
  */
61
- export const intlayerNodePlugins = TREE_SHAKE_INTLAYER_NODE
62
- ? fallbackPlugin
63
- : {
64
- id: 'intlayer-node-plugin',
65
- canHandle: (node) => typeof node === 'bigint' ||
66
- typeof node === 'string' ||
67
- typeof node === 'number',
68
- transform: (node, { children, ...rest }) => renderIntlayerNode({
69
- value: children ?? node,
70
- component: !TREE_SHAKE_EDITOR && editor.enabled ? ContentSelector : undefined,
71
- props: rest,
72
- }),
73
- };
38
+ export const intlayerNodePlugins = {
39
+ id: 'intlayer-node-plugin',
40
+ canHandle: (node) => typeof node === 'bigint' ||
41
+ typeof node === 'string' ||
42
+ typeof node === 'number',
43
+ transform: (node, { children, ...rest }) => renderIntlayerNode({
44
+ value: children ?? node,
45
+ component: process.env['INTLAYER_EDITOR_ENABLED'] !== 'false' && editor.enabled
46
+ ? ContentSelector
47
+ : undefined,
48
+ props: rest,
49
+ }),
50
+ };
74
51
  /**
75
52
  * Svelte-specific node plugins for handling basic content types
76
53
  * These plugins handle strings, numbers, and bigints in Svelte applications
@@ -126,7 +103,7 @@ const splitAndJoinInsertion = (template, values) => {
126
103
  return parts;
127
104
  };
128
105
  /** Insertion plugin for Svelte. Handles component insertion. */
129
- export const insertionPlugin = TREE_SHAKE_INSERTION
106
+ export const insertionPlugin = process.env['INTLAYER_NODE_TYPE_INSERTION'] === 'false'
130
107
  ? fallbackPlugin
131
108
  : {
132
109
  id: 'insertion-plugin',
@@ -184,7 +161,7 @@ export const insertionPlugin = TREE_SHAKE_INSERTION
184
161
  },
185
162
  };
186
163
  /** Markdown string plugin. Replaces string node with a component that render the markdown. */
187
- export const markdownStringPlugin = TREE_SHAKE_MARKDOWN
164
+ export const markdownStringPlugin = process.env['INTLAYER_NODE_TYPE_MARKDOWN'] === 'false'
188
165
  ? fallbackPlugin
189
166
  : {
190
167
  id: 'markdown-string-plugin',
@@ -200,8 +177,10 @@ export const markdownStringPlugin = TREE_SHAKE_MARKDOWN
200
177
  !metadataNode,
201
178
  transform: (metadataNode, props) => renderIntlayerNode({
202
179
  value: metadataNode,
203
- component: !TREE_SHAKE_EDITOR && editor.enabled
204
- ? (_MarkdownMetadataWithSelector ?? _MarkdownMetadataRenderer)
180
+ component: process.env['INTLAYER_EDITOR_ENABLED'] !== 'false' &&
181
+ editor.enabled
182
+ ? (_MarkdownMetadataWithSelector ??
183
+ _MarkdownMetadataRenderer)
205
184
  : _MarkdownMetadataRenderer,
206
185
  props: {
207
186
  ...rest,
@@ -219,7 +198,8 @@ export const markdownStringPlugin = TREE_SHAKE_MARKDOWN
219
198
  const render = (components) => {
220
199
  const nodeResult = renderIntlayerNode({
221
200
  value: node,
222
- component: !TREE_SHAKE_EDITOR && editor.enabled
201
+ component: process.env['INTLAYER_EDITOR_ENABLED'] !== 'false' &&
202
+ editor.enabled
223
203
  ? (_MarkdownWithSelector ?? _MarkdownRenderer)
224
204
  : _MarkdownRenderer,
225
205
  props: {
@@ -252,7 +232,7 @@ export const markdownStringPlugin = TREE_SHAKE_MARKDOWN
252
232
  return render();
253
233
  },
254
234
  };
255
- export const markdownPlugin = TREE_SHAKE_MARKDOWN
235
+ export const markdownPlugin = process.env['INTLAYER_NODE_TYPE_MARKDOWN'] === 'false'
256
236
  ? fallbackPlugin
257
237
  : {
258
238
  id: 'markdown-plugin',
@@ -274,7 +254,7 @@ export const markdownPlugin = TREE_SHAKE_MARKDOWN
274
254
  },
275
255
  };
276
256
  /** HTML plugin. Replaces node with a function that takes components => HTMLElement[]. */
277
- export const htmlPlugin = TREE_SHAKE_HTML
257
+ export const htmlPlugin = process.env['INTLAYER_NODE_TYPE_HTML'] === 'false'
278
258
  ? fallbackPlugin
279
259
  : {
280
260
  id: 'html-plugin',
@@ -286,7 +266,8 @@ export const htmlPlugin = TREE_SHAKE_HTML
286
266
  const render = (userComponents = {}) => renderIntlayerNode({
287
267
  ...props,
288
268
  value: htmlString,
289
- component: !TREE_SHAKE_EDITOR && editor.enabled
269
+ component: process.env['INTLAYER_EDITOR_ENABLED'] !== 'false' &&
270
+ editor.enabled
290
271
  ? (_HTMLWithSelector ?? HTMLRenderer)
291
272
  : HTMLRenderer,
292
273
  props: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svelte-intlayer",
3
- "version": "8.7.11",
3
+ "version": "8.7.12",
4
4
  "description": "Easily internationalize i18n your Svelte applications with type-safe multilingual content management.",
5
5
  "keywords": [
6
6
  "intlayer",
@@ -82,11 +82,11 @@
82
82
  "typecheck": "tsc --noEmit --project tsconfig.types.json"
83
83
  },
84
84
  "dependencies": {
85
- "@intlayer/api": "8.7.11",
86
- "@intlayer/config": "8.7.11",
87
- "@intlayer/core": "8.7.11",
88
- "@intlayer/editor": "8.7.11",
89
- "@intlayer/types": "8.7.11"
85
+ "@intlayer/api": "8.7.12",
86
+ "@intlayer/config": "8.7.12",
87
+ "@intlayer/core": "8.7.12",
88
+ "@intlayer/editor": "8.7.12",
89
+ "@intlayer/types": "8.7.12"
90
90
  },
91
91
  "devDependencies": {
92
92
  "@sveltejs/adapter-auto": "7.0.1",