@sitecore-content-sdk/core 1.3.0-canary.9 → 1.4.0-canary.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/README.md +7 -7
- package/dist/cjs/cache-client.js +55 -54
- package/dist/cjs/client/constants.js +7 -7
- package/dist/cjs/client/edge-proxy.js +24 -22
- package/dist/cjs/client/index.js +15 -15
- package/dist/cjs/client/models.js +2 -2
- package/dist/cjs/client/sitecore-client.js +421 -419
- package/dist/cjs/client/utils.js +47 -46
- package/dist/cjs/config/define-config.js +194 -193
- package/dist/cjs/config/index.js +7 -7
- package/dist/cjs/config/models.js +12 -11
- package/dist/cjs/config-cli/define-cli-config.js +23 -22
- package/dist/cjs/config-cli/index.js +7 -7
- package/dist/cjs/config-cli/models.js +8 -7
- package/dist/cjs/constants.js +49 -17
- package/dist/cjs/debug.js +48 -46
- package/dist/cjs/editing/codegen/index.js +14 -9
- package/dist/cjs/editing/codegen/preview.js +277 -193
- package/dist/cjs/editing/component-layout-service.js +62 -61
- package/dist/cjs/editing/design-library.js +183 -126
- package/dist/cjs/editing/editing-service.js +75 -74
- package/dist/cjs/editing/index.js +33 -27
- package/dist/cjs/editing/metadata.js +42 -42
- package/dist/cjs/editing/models.js +44 -38
- package/dist/cjs/editing/utils.js +108 -90
- package/dist/cjs/form/form.js +81 -78
- package/dist/cjs/form/index.js +7 -7
- package/dist/cjs/graphql-request-client.js +108 -107
- package/dist/cjs/i18n/dictionary-service.js +122 -121
- package/dist/cjs/i18n/index.js +7 -7
- package/dist/cjs/i18n/utils.js +16 -15
- package/dist/cjs/index.js +60 -60
- package/dist/cjs/layout/content-styles.js +72 -71
- package/dist/cjs/layout/index.js +24 -24
- package/dist/cjs/layout/layout-service.js +62 -57
- package/dist/cjs/layout/models.js +39 -34
- package/dist/cjs/layout/themes.js +76 -75
- package/dist/cjs/layout/utils.js +117 -110
- package/dist/cjs/media/index.js +38 -38
- package/dist/cjs/media/media-api.js +100 -96
- package/dist/cjs/models.js +2 -2
- package/dist/cjs/native-fetcher.js +194 -179
- package/dist/cjs/personalize/index.js +15 -15
- package/dist/cjs/personalize/layout-personalizer.js +98 -97
- package/dist/cjs/personalize/personalize-service.js +98 -94
- package/dist/cjs/personalize/utils.js +143 -136
- package/dist/cjs/retries.js +43 -42
- package/dist/cjs/site/error-pages-service.js +65 -64
- package/dist/cjs/site/index.js +26 -26
- package/dist/cjs/site/models.js +2 -2
- package/dist/cjs/site/redirects-service.js +94 -81
- package/dist/cjs/site/robots-service.js +66 -65
- package/dist/cjs/site/site-resolver.js +73 -72
- package/dist/cjs/site/siteinfo-service.js +84 -80
- package/dist/cjs/site/sitemap-xml-service.js +84 -83
- package/dist/cjs/site/sitepath-service.js +165 -164
- package/dist/cjs/site/utils.js +55 -47
- package/dist/cjs/sitecore-service-base.js +36 -36
- package/dist/cjs/tools/auth/flow.js +65 -64
- package/dist/cjs/tools/auth/index.js +5 -5
- package/dist/cjs/tools/auth/models.js +2 -2
- package/dist/cjs/tools/auth/tenant-store.js +38 -38
- package/dist/cjs/tools/codegen/component-generation.js +52 -50
- package/dist/cjs/tools/codegen/extract-files.js +105 -107
- package/dist/cjs/tools/codegen/import-map.js +401 -349
- package/dist/cjs/tools/codegen/utils.js +418 -418
- package/dist/cjs/tools/generate-map.js +2 -2
- package/dist/cjs/tools/generateMetadata.js +36 -35
- package/dist/cjs/tools/generateSites.js +59 -58
- package/dist/cjs/tools/index.js +75 -73
- package/dist/cjs/tools/scaffold.js +60 -59
- package/dist/cjs/tools/templating/components.js +96 -266
- package/dist/cjs/tools/templating/index.js +11 -14
- package/dist/cjs/tools/templating/plugins.js +80 -78
- package/dist/cjs/tools/templating/utils.js +67 -66
- package/dist/cjs/utils/ensurePath.js +20 -20
- package/dist/cjs/utils/env.js +28 -27
- package/dist/cjs/utils/globalCache.js +55 -0
- package/dist/cjs/utils/index.js +26 -21
- package/dist/cjs/utils/is-server.js +11 -10
- package/dist/cjs/utils/normalize-url.js +5 -5
- package/dist/cjs/utils/timeout-promise.js +31 -31
- package/dist/cjs/utils/utils.js +254 -229
- package/dist/esm/cache-client.js +51 -50
- package/dist/esm/client/constants.js +4 -4
- package/dist/esm/client/edge-proxy.js +19 -17
- package/dist/esm/client/index.js +5 -5
- package/dist/esm/client/models.js +1 -1
- package/dist/esm/client/sitecore-client.js +414 -412
- package/dist/esm/client/utils.js +43 -42
- package/dist/esm/config/define-config.js +188 -187
- package/dist/esm/config/index.js +2 -2
- package/dist/esm/config/models.js +9 -8
- package/dist/esm/config-cli/define-cli-config.js +19 -18
- package/dist/esm/config-cli/index.js +2 -2
- package/dist/esm/config-cli/models.js +5 -4
- package/dist/esm/constants.js +46 -14
- package/dist/esm/debug.js +41 -39
- package/dist/esm/editing/codegen/index.js +1 -1
- package/dist/esm/editing/codegen/preview.js +263 -185
- package/dist/esm/editing/component-layout-service.js +55 -54
- package/dist/esm/editing/design-library.js +171 -117
- package/dist/esm/editing/editing-service.js +68 -67
- package/dist/esm/editing/index.js +6 -5
- package/dist/esm/editing/metadata.js +39 -39
- package/dist/esm/editing/models.js +41 -35
- package/dist/esm/editing/utils.js +98 -80
- package/dist/esm/form/form.js +72 -69
- package/dist/esm/form/index.js +1 -1
- package/dist/esm/graphql-request-client.js +101 -100
- package/dist/esm/i18n/dictionary-service.js +115 -114
- package/dist/esm/i18n/index.js +2 -2
- package/dist/esm/i18n/utils.js +13 -12
- package/dist/esm/index.js +13 -13
- package/dist/esm/layout/content-styles.js +64 -63
- package/dist/esm/layout/index.js +6 -6
- package/dist/esm/layout/layout-service.js +55 -50
- package/dist/esm/layout/models.js +36 -31
- package/dist/esm/layout/themes.js +71 -70
- package/dist/esm/layout/utils.js +109 -102
- package/dist/esm/media/index.js +2 -2
- package/dist/esm/media/media-api.js +90 -86
- package/dist/esm/models.js +1 -1
- package/dist/esm/native-fetcher.js +187 -172
- package/dist/esm/personalize/index.js +3 -3
- package/dist/esm/personalize/layout-personalizer.js +93 -92
- package/dist/esm/personalize/personalize-service.js +91 -87
- package/dist/esm/personalize/utils.js +135 -128
- package/dist/esm/retries.js +39 -38
- package/dist/esm/site/error-pages-service.js +58 -57
- package/dist/esm/site/index.js +8 -8
- package/dist/esm/site/models.js +1 -1
- package/dist/esm/site/redirects-service.js +87 -74
- package/dist/esm/site/robots-service.js +59 -58
- package/dist/esm/site/site-resolver.js +69 -68
- package/dist/esm/site/siteinfo-service.js +77 -73
- package/dist/esm/site/sitemap-xml-service.js +77 -76
- package/dist/esm/site/sitepath-service.js +157 -156
- package/dist/esm/site/utils.js +49 -41
- package/dist/esm/sitecore-service-base.js +29 -29
- package/dist/esm/tools/auth/flow.js +62 -61
- package/dist/esm/tools/auth/index.js +1 -1
- package/dist/esm/tools/auth/models.js +1 -1
- package/dist/esm/tools/auth/tenant-store.js +35 -35
- package/dist/esm/tools/codegen/component-generation.js +44 -42
- package/dist/esm/tools/codegen/extract-files.js +99 -101
- package/dist/esm/tools/codegen/import-map.js +358 -306
- package/dist/esm/tools/codegen/utils.js +373 -373
- package/dist/esm/tools/generate-map.js +1 -1
- package/dist/esm/tools/generateMetadata.js +29 -28
- package/dist/esm/tools/generateSites.js +52 -51
- package/dist/esm/tools/index.js +28 -27
- package/dist/esm/tools/scaffold.js +52 -51
- package/dist/esm/tools/templating/components.js +59 -223
- package/dist/esm/tools/templating/index.js +3 -3
- package/dist/esm/tools/templating/plugins.js +72 -70
- package/dist/esm/tools/templating/utils.js +59 -58
- package/dist/esm/utils/ensurePath.js +13 -13
- package/dist/esm/utils/env.js +24 -23
- package/dist/esm/utils/globalCache.js +49 -0
- package/dist/esm/utils/index.js +4 -3
- package/dist/esm/utils/is-server.js +9 -8
- package/dist/esm/utils/normalize-url.js +1 -1
- package/dist/esm/utils/timeout-promise.js +28 -28
- package/dist/esm/utils/utils.js +238 -213
- package/package.json +73 -5
- package/types/cache-client.d.ts +68 -64
- package/types/cache-client.d.ts.map +1 -0
- package/types/client/constants.d.ts +5 -4
- package/types/client/constants.d.ts.map +1 -0
- package/types/client/edge-proxy.d.ts +18 -15
- package/types/client/edge-proxy.d.ts.map +1 -0
- package/types/client/index.d.ts +8 -7
- package/types/client/index.d.ts.map +1 -0
- package/types/client/models.d.ts +21 -19
- package/types/client/models.d.ts.map +1 -0
- package/types/client/sitecore-client.d.ts +338 -327
- package/types/client/sitecore-client.d.ts.map +1 -0
- package/types/client/utils.d.ts +15 -9
- package/types/client/utils.d.ts.map +1 -0
- package/types/config/define-config.d.ts +20 -18
- package/types/config/define-config.d.ts.map +1 -0
- package/types/config/index.d.ts +3 -2
- package/types/config/index.d.ts.map +1 -0
- package/types/config/models.d.ts +287 -268
- package/types/config/models.d.ts.map +1 -0
- package/types/config-cli/define-cli-config.d.ts +9 -7
- package/types/config-cli/define-cli-config.d.ts.map +1 -0
- package/types/config-cli/index.d.ts +3 -2
- package/types/config-cli/index.d.ts.map +1 -0
- package/types/config-cli/models.d.ts +6 -4
- package/types/config-cli/models.d.ts.map +1 -0
- package/types/constants.d.ts +44 -11
- package/types/constants.d.ts.map +1 -0
- package/types/debug.d.ts +35 -28
- package/types/debug.d.ts.map +1 -0
- package/types/editing/codegen/index.d.ts +2 -1
- package/types/editing/codegen/index.d.ts.map +1 -0
- package/types/editing/codegen/preview.d.ts +256 -195
- package/types/editing/codegen/preview.d.ts.map +1 -0
- package/types/editing/component-layout-service.d.ts +84 -80
- package/types/editing/component-layout-service.d.ts.map +1 -0
- package/types/editing/design-library.d.ts +111 -63
- package/types/editing/design-library.d.ts.map +1 -0
- package/types/editing/editing-service.d.ts +72 -62
- package/types/editing/editing-service.d.ts.map +1 -0
- package/types/editing/index.d.ts +7 -6
- package/types/editing/index.d.ts.map +1 -0
- package/types/editing/metadata.d.ts +8 -7
- package/types/editing/metadata.d.ts.map +1 -0
- package/types/editing/models.d.ts +103 -92
- package/types/editing/models.d.ts.map +1 -0
- package/types/editing/utils.d.ts +91 -74
- package/types/editing/utils.d.ts.map +1 -0
- package/types/form/form.d.ts +25 -21
- package/types/form/form.d.ts.map +1 -0
- package/types/form/index.d.ts +2 -1
- package/types/form/index.d.ts.map +1 -0
- package/types/graphql-request-client.d.ts +112 -105
- package/types/graphql-request-client.d.ts.map +1 -0
- package/types/i18n/dictionary-service.d.ts +135 -131
- package/types/i18n/dictionary-service.d.ts.map +1 -0
- package/types/i18n/index.d.ts +3 -2
- package/types/i18n/index.d.ts.map +1 -0
- package/types/i18n/utils.d.ts +9 -7
- package/types/i18n/utils.d.ts.map +1 -0
- package/types/index.d.ts +13 -12
- package/types/index.d.ts.map +1 -0
- package/types/layout/content-styles.d.ts +20 -18
- package/types/layout/content-styles.d.ts.map +1 -0
- package/types/layout/index.d.ts +6 -5
- package/types/layout/index.d.ts.map +1 -0
- package/types/layout/layout-service.d.ts +45 -35
- package/types/layout/layout-service.d.ts.map +1 -0
- package/types/layout/models.d.ts +174 -151
- package/types/layout/models.d.ts.map +1 -0
- package/types/layout/themes.d.ts +13 -11
- package/types/layout/themes.d.ts.map +1 -0
- package/types/layout/utils.d.ts +56 -41
- package/types/layout/utils.d.ts.map +1 -0
- package/types/media/index.d.ts +3 -2
- package/types/media/index.d.ts.map +1 -0
- package/types/media/media-api.d.ts +60 -55
- package/types/media/media-api.d.ts.map +1 -0
- package/types/models.d.ts +94 -84
- package/types/models.d.ts.map +1 -0
- package/types/native-fetcher.d.ts +124 -114
- package/types/native-fetcher.d.ts.map +1 -0
- package/types/personalize/index.d.ts +4 -3
- package/types/personalize/index.d.ts.map +1 -0
- package/types/personalize/layout-personalizer.d.ts +29 -27
- package/types/personalize/layout-personalizer.d.ts.map +1 -0
- package/types/personalize/personalize-service.d.ts +90 -80
- package/types/personalize/personalize-service.d.ts.map +1 -0
- package/types/personalize/utils.d.ts +78 -69
- package/types/personalize/utils.d.ts.map +1 -0
- package/types/retries.d.ts +26 -24
- package/types/retries.d.ts.map +1 -0
- package/types/site/error-pages-service.d.ts +64 -57
- package/types/site/error-pages-service.d.ts.map +1 -0
- package/types/site/index.d.ts +10 -9
- package/types/site/index.d.ts.map +1 -0
- package/types/site/models.d.ts +23 -18
- package/types/site/models.d.ts.map +1 -0
- package/types/site/redirects-service.d.ts +92 -69
- package/types/site/redirects-service.d.ts.map +1 -0
- package/types/site/robots-service.d.ts +57 -50
- package/types/site/robots-service.d.ts.map +1 -0
- package/types/site/site-resolver.d.ts +28 -26
- package/types/site/site-resolver.d.ts.map +1 -0
- package/types/site/siteinfo-service.d.ts +65 -52
- package/types/site/siteinfo-service.d.ts.map +1 -0
- package/types/site/sitemap-xml-service.d.ts +63 -56
- package/types/site/sitemap-xml-service.d.ts.map +1 -0
- package/types/site/sitepath-service.d.ts +137 -134
- package/types/site/sitepath-service.d.ts.map +1 -0
- package/types/site/utils.d.ts +41 -28
- package/types/site/utils.d.ts.map +1 -0
- package/types/sitecore-service-base.d.ts +31 -30
- package/types/sitecore-service-base.d.ts.map +1 -0
- package/types/tools/auth/flow.d.ts +29 -27
- package/types/tools/auth/flow.d.ts.map +1 -0
- package/types/tools/auth/index.d.ts +2 -1
- package/types/tools/auth/index.d.ts.map +1 -0
- package/types/tools/auth/models.d.ts +35 -33
- package/types/tools/auth/models.d.ts.map +1 -0
- package/types/tools/auth/tenant-store.d.ts +12 -11
- package/types/tools/auth/tenant-store.d.ts.map +1 -0
- package/types/tools/codegen/component-generation.d.ts +50 -47
- package/types/tools/codegen/component-generation.d.ts.map +1 -0
- package/types/tools/codegen/extract-files.d.ts +24 -22
- package/types/tools/codegen/extract-files.d.ts.map +1 -0
- package/types/tools/codegen/import-map.d.ts +103 -70
- package/types/tools/codegen/import-map.d.ts.map +1 -0
- package/types/tools/codegen/utils.d.ts +76 -75
- package/types/tools/codegen/utils.d.ts.map +1 -0
- package/types/tools/generate-map.d.ts +36 -26
- package/types/tools/generate-map.d.ts.map +1 -0
- package/types/tools/generateMetadata.d.ts +24 -22
- package/types/tools/generateMetadata.d.ts.map +1 -0
- package/types/tools/generateSites.d.ts +25 -22
- package/types/tools/generateSites.d.ts.map +1 -0
- package/types/tools/index.d.ts +22 -20
- package/types/tools/index.d.ts.map +1 -0
- package/types/tools/scaffold.d.ts +27 -25
- package/types/tools/scaffold.d.ts.map +1 -0
- package/types/tools/templating/components.d.ts +104 -103
- package/types/tools/templating/components.d.ts.map +1 -0
- package/types/tools/templating/index.d.ts +4 -3
- package/types/tools/templating/index.d.ts.map +1 -0
- package/types/tools/templating/plugins.d.ts +71 -67
- package/types/tools/templating/plugins.d.ts.map +1 -0
- package/types/tools/templating/utils.d.ts +42 -40
- package/types/tools/templating/utils.d.ts.map +1 -0
- package/types/utils/ensurePath.d.ts +7 -6
- package/types/utils/ensurePath.d.ts.map +1 -0
- package/types/utils/env.d.ts +9 -7
- package/types/utils/env.d.ts.map +1 -0
- package/types/utils/globalCache.d.ts +37 -0
- package/types/utils/globalCache.d.ts.map +1 -0
- package/types/utils/index.d.ts +5 -3
- package/types/utils/index.d.ts.map +1 -0
- package/types/utils/is-server.d.ts +8 -6
- package/types/utils/is-server.d.ts.map +1 -0
- package/types/utils/normalize-url.d.ts +2 -1
- package/types/utils/normalize-url.d.ts.map +1 -0
- package/types/utils/timeout-promise.d.ts +18 -17
- package/types/utils/timeout-promise.d.ts.map +1 -0
- package/types/utils/utils.d.ts +104 -79
- package/types/utils/utils.d.ts.map +1 -0
- package/client.js +0 -1
- package/codegen.js +0 -1
- package/config-cli.js +0 -1
- package/config.js +0 -1
- package/editing.js +0 -1
- package/i18n.js +0 -1
- package/layout.js +0 -1
- package/media.js +0 -1
- package/personalize.js +0 -1
- package/site.js +0 -1
- package/tools.js +0 -1
- package/utils.js +0 -1
|
@@ -1,70 +1,72 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import { getItems } from './utils';
|
|
4
|
-
/**
|
|
5
|
-
* Identifies the format of the module to be compiled
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
ModuleType[ModuleType["
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* @
|
|
21
|
-
* @param {
|
|
22
|
-
* @param {string} definition.
|
|
23
|
-
* @param {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* @
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
import { getItems } from './utils';
|
|
4
|
+
/**
|
|
5
|
+
* Identifies the format of the module to be compiled
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export var ModuleType;
|
|
9
|
+
(function (ModuleType) {
|
|
10
|
+
ModuleType[ModuleType["CJS"] = 0] = "CJS";
|
|
11
|
+
ModuleType[ModuleType["ESM"] = 1] = "ESM";
|
|
12
|
+
})(ModuleType || (ModuleType = {}));
|
|
13
|
+
/**
|
|
14
|
+
* Get list of plugins from @var path
|
|
15
|
+
* Returns a list of plugins in the following format:
|
|
16
|
+
* {
|
|
17
|
+
* path: 'path/to/plugin/foo',
|
|
18
|
+
* name: 'fooPlugin'
|
|
19
|
+
* }
|
|
20
|
+
* @example getPluginList('src/foo/plugins', 'Foo')
|
|
21
|
+
* @param {object} definition plugin definition
|
|
22
|
+
* @param {string} definition.path path to get plugin from
|
|
23
|
+
* @param {string} definition.pluginName plugin name
|
|
24
|
+
* @param {boolean} [definition.silent] whether to suppress console output
|
|
25
|
+
*/
|
|
26
|
+
export function getPluginList({ path, pluginName, silent = false, }) {
|
|
27
|
+
const plugins = getItems({
|
|
28
|
+
path,
|
|
29
|
+
resolveItem: (path, name) => ({
|
|
30
|
+
path: `${path}/${name}`,
|
|
31
|
+
name: `${name.replace(/-./g, (x) => x[1].toUpperCase())}Plugin`,
|
|
32
|
+
}),
|
|
33
|
+
cb: (name) => !silent && console.debug(`Registering ${pluginName} plugin ${name}`),
|
|
34
|
+
});
|
|
35
|
+
return plugins;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Generates the plugins file and saves it to the filesystem.
|
|
39
|
+
* By convention, we expect to find plugins under {pluginName}/plugins/** (subfolders are searched recursively).
|
|
40
|
+
* generated file will be saved to @var {distPath} and will contain a list of plugins in the following format:
|
|
41
|
+
* CJS: exports.fooPlugin = require('{pluginPath}');
|
|
42
|
+
* ESM: export { fooPlugin } from '{pluginPath}';
|
|
43
|
+
* @example generatePlugins({ distPath: 'src/temp/foo-plugins.js', rootPath: 'src/foo/plugins', moduleType: ModuleType.CJS })
|
|
44
|
+
* @param {PluginDefinition} definition plugin definition
|
|
45
|
+
* @public
|
|
46
|
+
*/
|
|
47
|
+
export function generatePlugins(definition) {
|
|
48
|
+
const { rootPath, distPath, moduleType, relative = false, silent } = definition;
|
|
49
|
+
const segments = rootPath.split('/');
|
|
50
|
+
const pluginName = segments[segments.length - 2];
|
|
51
|
+
const plugins = getPluginList({ path: rootPath, pluginName, silent });
|
|
52
|
+
let fileContent = '';
|
|
53
|
+
fileContent = plugins
|
|
54
|
+
.map((plugin) => {
|
|
55
|
+
const sourcePath = relative
|
|
56
|
+
? path.relative(path.dirname(distPath), plugin.path).replace(/\\/g, '/')
|
|
57
|
+
: plugin.path;
|
|
58
|
+
return moduleType === ModuleType.CJS
|
|
59
|
+
? `exports.${plugin.name} = require('${sourcePath}');`
|
|
60
|
+
: `export { ${plugin.name} } from '${sourcePath}';`;
|
|
61
|
+
})
|
|
62
|
+
.join('\r\n')
|
|
63
|
+
.concat('\r\n');
|
|
64
|
+
if (!plugins.length) {
|
|
65
|
+
fileContent = moduleType === ModuleType.CJS ? 'module.exports = {};\r\n' : 'export {};\r\n';
|
|
66
|
+
}
|
|
67
|
+
const filePath = path.resolve(distPath);
|
|
68
|
+
!silent && console.log(`Writing ${pluginName} plugins to ${filePath}`);
|
|
69
|
+
fs.writeFileSync(filePath, fileContent, {
|
|
70
|
+
encoding: 'utf8',
|
|
71
|
+
});
|
|
72
|
+
}
|
|
@@ -1,58 +1,59 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
/**
|
|
4
|
-
* Compares two paths to determine if they match.
|
|
5
|
-
* @param {string} itemPath base path to compare against, can be absolute or relative
|
|
6
|
-
* @param {string} compare comparer, can be relate, absolute or regex string
|
|
7
|
-
* @returns true if paths match, false otherwise
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* @
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* Compares two paths to determine if they match.
|
|
5
|
+
* @param {string} itemPath base path to compare against, can be absolute or relative
|
|
6
|
+
* @param {string} compare comparer, can be relate, absolute or regex string
|
|
7
|
+
* @returns true if paths match, false otherwise
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export const matchPath = (itemPath, compare) => {
|
|
11
|
+
if (compare === itemPath ||
|
|
12
|
+
path.join(process.cwd(), itemPath) === compare ||
|
|
13
|
+
itemPath === path.join(process.cwd(), compare) ||
|
|
14
|
+
new RegExp(compare).test(itemPath)) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Using @var path find all files and generate output using @var resolveItem function for each file
|
|
21
|
+
* Can be used to generate list of components, templates, etc.
|
|
22
|
+
* @param {GetItemsSettings} settings
|
|
23
|
+
* @returns {Item[]} list of items
|
|
24
|
+
*/
|
|
25
|
+
export function getItems(settings) {
|
|
26
|
+
const { recursive = true, path, resolveItem, cb, fileFormat = new RegExp(/(.+)(?<!\.d)\.[jt]sx?$/), exclude, } = settings;
|
|
27
|
+
const items = [];
|
|
28
|
+
const folders = [];
|
|
29
|
+
if (!fs.existsSync(path))
|
|
30
|
+
return [];
|
|
31
|
+
if (exclude) {
|
|
32
|
+
for (const exclusion of exclude) {
|
|
33
|
+
if (matchPath(path, exclusion))
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
fs.readdirSync(path, { withFileTypes: true }).forEach((item) => {
|
|
38
|
+
if (item.isDirectory()) {
|
|
39
|
+
folders.push(item);
|
|
40
|
+
}
|
|
41
|
+
if (fileFormat.test(item.name)) {
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
43
|
+
const name = item.name.match(fileFormat)[1];
|
|
44
|
+
items.push(resolveItem(path, name));
|
|
45
|
+
cb && cb(name);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
for (const folder of folders) {
|
|
49
|
+
recursive
|
|
50
|
+
? items.push(...getItems({
|
|
51
|
+
path: `${path}/${folder.name}`,
|
|
52
|
+
resolveItem,
|
|
53
|
+
cb,
|
|
54
|
+
fileFormat,
|
|
55
|
+
}))
|
|
56
|
+
: items.push(resolveItem(`${path}/${folder.name}`, folder.name));
|
|
57
|
+
}
|
|
58
|
+
return items;
|
|
59
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
/**
|
|
4
|
-
* Ensures that the directory path for the given file path exists.
|
|
5
|
-
* If the directory does not exist, it will be created recursively.
|
|
6
|
-
* @param {string} filePath - The file path for which to ensure the directory exists.
|
|
7
|
-
*/
|
|
8
|
-
export const ensurePathExists = (filePath) => {
|
|
9
|
-
const outputDir = path.dirname(filePath);
|
|
10
|
-
if (!fs.existsSync(outputDir)) {
|
|
11
|
-
fs.mkdirSync(outputDir, { recursive: true });
|
|
12
|
-
}
|
|
13
|
-
};
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* Ensures that the directory path for the given file path exists.
|
|
5
|
+
* If the directory does not exist, it will be created recursively.
|
|
6
|
+
* @param {string} filePath - The file path for which to ensure the directory exists.
|
|
7
|
+
*/
|
|
8
|
+
export const ensurePathExists = (filePath) => {
|
|
9
|
+
const outputDir = path.dirname(filePath);
|
|
10
|
+
if (!fs.existsSync(outputDir)) {
|
|
11
|
+
fs.mkdirSync(outputDir, { recursive: true });
|
|
12
|
+
}
|
|
13
|
+
};
|
package/dist/esm/utils/env.js
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Method to parse JSON-formatted environment variables
|
|
3
|
-
* @param {string} envValue - can be undefined when providing values via process.env
|
|
4
|
-
* @param {T} defaultValue - default value
|
|
5
|
-
* @returns {T | string} parsed value
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
console.warn(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Method to parse JSON-formatted environment variables
|
|
3
|
+
* @param {string} envValue - can be undefined when providing values via process.env
|
|
4
|
+
* @param {T} defaultValue - default value
|
|
5
|
+
* @returns {T | string} parsed value
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export const tryParseEnvValue = (envValue, defaultValue) => {
|
|
9
|
+
if (!envValue) {
|
|
10
|
+
return defaultValue;
|
|
11
|
+
}
|
|
12
|
+
if (envValue.startsWith('{') && envValue.endsWith('}')) {
|
|
13
|
+
try {
|
|
14
|
+
return JSON.parse(envValue);
|
|
15
|
+
// eslint-disable-next-line no-unused-vars
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
console.warn('Parsing of env variable failed');
|
|
19
|
+
console.warn(`Attempted to parse ${envValue}`);
|
|
20
|
+
return defaultValue;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return defaultValue;
|
|
24
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stores a value in the global cache under the specified key.
|
|
3
|
+
* - Initializes the cache object on `globalThis` if it does not exist.
|
|
4
|
+
* - Overwrites any existing value for the given key.
|
|
5
|
+
* @param {string} key - The cache key to set.
|
|
6
|
+
* @param {unknown} data - The value to store in the cache.
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export function setCache(key, data) {
|
|
10
|
+
if (!globalThis.__dlCache) {
|
|
11
|
+
globalThis.__dlCache = {};
|
|
12
|
+
}
|
|
13
|
+
globalThis.__dlCache[key] = data;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Retrieves a value from the global cache by key.
|
|
17
|
+
* - The cache is stored on `globalThis`
|
|
18
|
+
* @param {string} key - The cache key to retrieve and remove.
|
|
19
|
+
* @returns {T} - The cached value if present, otherwise undefined.
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export function getCache(key) {
|
|
23
|
+
const cache = globalThis.__dlCache;
|
|
24
|
+
return cache === null || cache === void 0 ? void 0 : cache[key];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Retrieves a value from the global cache by key and removes it from the cache.
|
|
28
|
+
* - The cache is stored on `globalThis`
|
|
29
|
+
* @param {string} key - The cache key to retrieve and remove.
|
|
30
|
+
* @returns {T} - The cached value if present, otherwise undefined.
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
export function getCacheAndClean(key) {
|
|
34
|
+
const cache = globalThis.__dlCache;
|
|
35
|
+
const data = cache === null || cache === void 0 ? void 0 : cache[key];
|
|
36
|
+
cache === null || cache === void 0 ? true : delete cache[key];
|
|
37
|
+
return data;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Determines whether a cached value exists for the provided key
|
|
41
|
+
* - The cache is stored on `globalThis`
|
|
42
|
+
* @param {string} key - The cache key to test for existence.
|
|
43
|
+
* @returns {boolean} - true if a value is present for the given key; otherwise false.
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
export function hasCache(key) {
|
|
47
|
+
const cache = globalThis.__dlCache;
|
|
48
|
+
return (cache === null || cache === void 0 ? void 0 : cache[key]) !== undefined;
|
|
49
|
+
}
|
package/dist/esm/utils/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { default as isServer } from './is-server';
|
|
2
|
-
export { resolveUrl, isAbsoluteUrl, isTimeoutError, enforceCors, getEnforcedCorsHeaders, getAllowedOriginsFromEnv, isRegexOrUrl, areURLSearchParamsEqual, escapeNonSpecialQuestionMarks, mergeURLSearchParams, } from './utils';
|
|
3
|
-
export {
|
|
1
|
+
export { default as isServer } from './is-server';
|
|
2
|
+
export { resolveUrl, isAbsoluteUrl, isTimeoutError, enforceCors, getEnforcedCorsHeaders, getAllowedOriginsFromEnv, isRegexOrUrl, areURLSearchParamsEqual, escapeNonSpecialQuestionMarks, mergeURLSearchParams, } from './utils';
|
|
3
|
+
export { hasCache, getCache, getCacheAndClean, setCache } from './globalCache';
|
|
4
|
+
export { tryParseEnvValue } from './env';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Determines whether the current execution context is server-side
|
|
3
|
-
* @returns true if executing server-side
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Determines whether the current execution context is server-side
|
|
3
|
+
* @returns true if executing server-side
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
function isServer() {
|
|
7
|
+
return !(typeof window !== 'undefined' && window.document);
|
|
8
|
+
}
|
|
9
|
+
export default isServer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const normalizeUrl = (url) => (url.endsWith('/') ? url.slice(0, -1) : url);
|
|
1
|
+
export const normalizeUrl = (url) => (url.endsWith('/') ? url.slice(0, -1) : url);
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A helper to assign timeouts to fetch or other promises
|
|
3
|
-
* Useful in nextjs middleware until fetch.signal is fully supported by Vercel edge functions
|
|
4
|
-
*/
|
|
5
|
-
export default class TimeoutPromise {
|
|
6
|
-
constructor(timeout) {
|
|
7
|
-
this.timeout = timeout;
|
|
8
|
-
this.timeoutId = undefined;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Creates a timeout promise
|
|
12
|
-
*/
|
|
13
|
-
get start() {
|
|
14
|
-
return new Promise((_, reject) => {
|
|
15
|
-
this.timeoutId = setTimeout(() => {
|
|
16
|
-
const abortError = new Error(`Request timed out, timeout of ${this.timeout}ms is exceeded`);
|
|
17
|
-
abortError.name = 'AbortError';
|
|
18
|
-
reject(abortError);
|
|
19
|
-
}, this.timeout);
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Clears the timeout from timeout promise
|
|
24
|
-
*/
|
|
25
|
-
clear() {
|
|
26
|
-
this.timeoutId && clearTimeout(this.timeoutId);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* A helper to assign timeouts to fetch or other promises
|
|
3
|
+
* Useful in nextjs middleware until fetch.signal is fully supported by Vercel edge functions
|
|
4
|
+
*/
|
|
5
|
+
export default class TimeoutPromise {
|
|
6
|
+
constructor(timeout) {
|
|
7
|
+
this.timeout = timeout;
|
|
8
|
+
this.timeoutId = undefined;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Creates a timeout promise
|
|
12
|
+
*/
|
|
13
|
+
get start() {
|
|
14
|
+
return new Promise((_, reject) => {
|
|
15
|
+
this.timeoutId = setTimeout(() => {
|
|
16
|
+
const abortError = new Error(`Request timed out, timeout of ${this.timeout}ms is exceeded`);
|
|
17
|
+
abortError.name = 'AbortError';
|
|
18
|
+
reject(abortError);
|
|
19
|
+
}, this.timeout);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Clears the timeout from timeout promise
|
|
24
|
+
*/
|
|
25
|
+
clear() {
|
|
26
|
+
this.timeoutId && clearTimeout(this.timeoutId);
|
|
27
|
+
}
|
|
28
|
+
}
|