@lowdefy/build 4.5.2 → 4.6.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.
Files changed (165) hide show
  1. package/dist/build/addDefaultPages/404.js +1 -1
  2. package/dist/build/addDefaultPages/addDefaultPages.js +10 -4
  3. package/dist/build/addKeys.js +85 -29
  4. package/dist/build/buildApi/buildApi.js +27 -8
  5. package/dist/build/buildApi/buildEndpoint.js +7 -1
  6. package/dist/build/buildApi/buildRoutine/buildControl.js +1 -1
  7. package/dist/build/buildApi/buildRoutine/buildRoutine.js +1 -1
  8. package/dist/build/buildApi/buildRoutine/buildStep.js +1 -1
  9. package/dist/build/buildApi/buildRoutine/controlTypes.js +34 -11
  10. package/dist/build/buildApi/buildRoutine/countControl.js +1 -1
  11. package/dist/build/buildApi/buildRoutine/countStepTypes.js +2 -2
  12. package/dist/build/buildApi/buildRoutine/setStepId.js +1 -1
  13. package/dist/build/buildApi/buildRoutine/validateStep.js +30 -9
  14. package/dist/build/buildApi/validateEndpoint.js +36 -7
  15. package/dist/build/buildApi/validateStepReferences.js +65 -0
  16. package/dist/build/buildApp.js +1 -1
  17. package/dist/build/buildAuth/buildApiAuth.js +7 -3
  18. package/dist/build/buildAuth/buildAuth.js +7 -4
  19. package/dist/build/buildAuth/buildAuthPlugins.js +42 -13
  20. package/dist/build/buildAuth/buildPageAuth.js +14 -3
  21. package/dist/build/buildAuth/getApiRoles.js +1 -1
  22. package/dist/build/buildAuth/getPageRoles.js +1 -1
  23. package/dist/build/buildAuth/getProtectedApi.js +1 -1
  24. package/dist/build/buildAuth/getProtectedPages.js +1 -1
  25. package/dist/build/buildAuth/validateAuthConfig.js +39 -5
  26. package/dist/build/buildAuth/validateMutualExclusivity.js +13 -5
  27. package/dist/build/buildConnections.js +23 -24
  28. package/dist/build/buildImports/buildIconImports.js +1 -1
  29. package/dist/build/buildImports/buildImports.js +1 -1
  30. package/dist/build/buildImports/buildImportsDev.js +1 -1
  31. package/dist/build/buildImports/buildImportsProd.js +1 -1
  32. package/dist/build/buildImports/buildStyleImports.js +1 -1
  33. package/dist/build/buildImports/defaultIconsDev.js +1 -1
  34. package/dist/build/buildImports/defaultIconsProd.js +1 -1
  35. package/dist/build/buildJs/generateJsFile.js +1 -1
  36. package/dist/build/buildJs/jsMapParser.js +1 -1
  37. package/dist/build/buildJs/writeJs.js +1 -1
  38. package/dist/build/buildLogger.js +41 -0
  39. package/dist/build/buildMenu.js +36 -12
  40. package/dist/build/buildPages/buildBlock/buildBlock.js +1 -1
  41. package/dist/build/buildPages/buildBlock/buildEvents.js +79 -9
  42. package/dist/build/buildPages/buildBlock/buildRequests.js +38 -8
  43. package/dist/build/buildPages/buildBlock/buildSubBlocks.js +6 -2
  44. package/dist/build/buildPages/buildBlock/countBlockOperators.js +1 -1
  45. package/dist/build/buildPages/buildBlock/countBlockTypes.js +2 -2
  46. package/dist/build/buildPages/buildBlock/moveSkeletonBlocksToArea.js +6 -2
  47. package/dist/build/buildPages/buildBlock/moveSubBlocksToArea.js +6 -2
  48. package/dist/build/buildPages/buildBlock/setBlockId.js +1 -1
  49. package/dist/build/buildPages/buildBlock/validateBlock.js +25 -7
  50. package/dist/build/buildPages/buildPage.js +35 -6
  51. package/dist/build/buildPages/validateLinkReferences.js +33 -0
  52. package/dist/build/buildPages/validatePayloadReferences.js +59 -0
  53. package/dist/build/buildPages/validateRequestReferences.js +33 -0
  54. package/dist/build/buildPages/validateServerStateReferences.js +41 -0
  55. package/dist/build/buildPages/validateStateReferences.js +79 -0
  56. package/dist/build/buildRefs/buildRefs.js +20 -3
  57. package/dist/build/buildRefs/createRefReviver.js +28 -0
  58. package/dist/build/buildRefs/evaluateBuildOperators.js +26 -7
  59. package/dist/build/buildRefs/evaluateStaticOperators.js +56 -0
  60. package/dist/build/buildRefs/getConfigFile.js +25 -6
  61. package/dist/build/buildRefs/getKey.js +1 -1
  62. package/dist/build/buildRefs/getRefContent.js +1 -1
  63. package/dist/build/buildRefs/getRefPath.js +1 -1
  64. package/dist/build/buildRefs/getRefsFromFile.js +9 -4
  65. package/dist/build/buildRefs/getUserJavascriptFunction.js +18 -4
  66. package/dist/build/buildRefs/makeRefDefinition.js +10 -5
  67. package/dist/build/buildRefs/parseNunjucks.js +1 -1
  68. package/dist/build/buildRefs/parseRefContent.js +100 -6
  69. package/dist/build/buildRefs/populateRefs.js +75 -13
  70. package/dist/build/buildRefs/recursiveBuild.js +66 -18
  71. package/dist/build/buildRefs/runRefResolver.js +11 -3
  72. package/dist/build/buildRefs/runTransformer.js +7 -3
  73. package/dist/build/buildTypes.js +22 -7
  74. package/dist/build/cleanBuildDirectory.js +1 -1
  75. package/dist/build/collectDynamicIdentifiers.js +35 -0
  76. package/dist/build/collectTypeNames.js +36 -0
  77. package/dist/build/copyPublicFolder.js +1 -1
  78. package/dist/build/{buildJs → full}/buildJs.js +3 -3
  79. package/dist/build/full/buildPages.js +87 -0
  80. package/dist/build/{buildPages → full}/buildTestPage.js +15 -3
  81. package/dist/build/{updateServerPackageJson.js → full/updateServerPackageJson.js} +1 -1
  82. package/dist/build/{writePages.js → full/writePages.js} +1 -1
  83. package/dist/build/{writeRequests.js → full/writeRequests.js} +11 -3
  84. package/dist/build/{writeTypes.js → full/writeTypes.js} +1 -1
  85. package/dist/build/jit/addInstalledTypes.js +51 -0
  86. package/dist/build/jit/buildJsShallow.js +41 -0
  87. package/dist/build/jit/buildPageJit.js +252 -0
  88. package/dist/build/jit/buildShallowPages.js +90 -0
  89. package/dist/build/jit/createPageRegistry.js +80 -0
  90. package/dist/build/jit/detectMissingPluginPackages.js +62 -0
  91. package/dist/build/jit/getRefPositions.js +38 -0
  92. package/dist/build/jit/isPageContentPath.js +24 -0
  93. package/dist/build/jit/pageContentKeys.js +26 -0
  94. package/dist/build/jit/shallowBuild.js +245 -0
  95. package/dist/build/jit/stripPageContent.js +23 -0
  96. package/dist/build/jit/updateServerPackageJsonJit.js +33 -0
  97. package/dist/build/jit/validatePageTypes.js +73 -0
  98. package/dist/build/jit/writePageJit.js +44 -0
  99. package/dist/build/jit/writePageRegistry.js +23 -0
  100. package/dist/build/jit/writeSourcelessPages.js +23 -0
  101. package/dist/build/testSchema.js +45 -7
  102. package/dist/build/validateConfig.js +2 -2
  103. package/dist/build/validateOperatorsDynamic.js +28 -0
  104. package/dist/build/writeApi.js +1 -1
  105. package/dist/build/writeApp.js +1 -1
  106. package/dist/build/writeAuth.js +1 -1
  107. package/dist/build/writeConfig.js +1 -1
  108. package/dist/build/writeConnections.js +1 -1
  109. package/dist/build/writeGlobal.js +1 -1
  110. package/dist/build/writeLogger.js +19 -0
  111. package/dist/build/writeMaps.js +1 -1
  112. package/dist/build/writeMenus.js +1 -1
  113. package/dist/build/writePluginImports/generateImportFile.js +1 -1
  114. package/dist/build/writePluginImports/writeActionImports.js +1 -1
  115. package/dist/build/writePluginImports/writeActionSchemaMap.js +42 -0
  116. package/dist/build/writePluginImports/writeAuthImports.js +1 -1
  117. package/dist/build/writePluginImports/writeBlockImports.js +1 -1
  118. package/dist/build/writePluginImports/writeBlockSchemaMap.js +42 -0
  119. package/dist/build/writePluginImports/writeConnectionImports.js +1 -1
  120. package/dist/build/writePluginImports/writeIconImports.js +1 -1
  121. package/dist/build/writePluginImports/writeOperatorImports.js +1 -1
  122. package/dist/build/writePluginImports/writeOperatorSchemaMap.js +49 -0
  123. package/dist/build/writePluginImports/writePluginImports.js +16 -1
  124. package/dist/build/writePluginImports/writeStyleImports.js +1 -1
  125. package/dist/createContext.js +16 -4
  126. package/dist/defaultTypesMap.js +479 -457
  127. package/dist/index.js +188 -127
  128. package/dist/indexDev.js +18 -0
  129. package/dist/lowdefySchema.js +589 -0
  130. package/dist/scripts/generateDefaultTypes.js +2 -1
  131. package/dist/scripts/run.js +1 -1
  132. package/dist/{test → test-utils}/buildRefs/testBuildRefsAsyncFunction.js +1 -1
  133. package/dist/{test → test-utils}/buildRefs/testBuildRefsErrorResolver.js +1 -1
  134. package/dist/{test → test-utils}/buildRefs/testBuildRefsNullResolver.js +1 -1
  135. package/dist/{test → test-utils}/buildRefs/testBuildRefsParsingResolver.js +1 -1
  136. package/dist/{test → test-utils}/buildRefs/testBuildRefsResolver.js +1 -1
  137. package/dist/{test → test-utils}/buildRefs/testBuildRefsTransform.js +1 -1
  138. package/dist/{test → test-utils}/buildRefs/testBuildRefsTransformIdentity.js +1 -1
  139. package/dist/test-utils/buildRefs/testJitPageResolver.js +24 -0
  140. package/dist/test-utils/createTestLogger.js +36 -0
  141. package/dist/test-utils/parseTestYaml.js +126 -0
  142. package/dist/test-utils/runBuild.js +228 -0
  143. package/dist/test-utils/runBuildForSnapshots.js +704 -0
  144. package/dist/{test → test-utils}/testContext.js +12 -2
  145. package/dist/utils/collectExceptions.js +34 -0
  146. package/dist/utils/countOperators.js +31 -12
  147. package/dist/utils/createBuildHandleError.js +38 -0
  148. package/dist/utils/createCheckDuplicateId.js +15 -9
  149. package/dist/utils/createCounter.js +16 -3
  150. package/dist/utils/createHandleWarning.js +41 -0
  151. package/dist/utils/createPluginTypesMap.js +1 -1
  152. package/dist/utils/extractOperatorKey.js +36 -0
  153. package/dist/utils/findConfigKey.js +37 -0
  154. package/dist/utils/findSimilarString.js +53 -0
  155. package/dist/utils/logCollectedErrors.js +30 -0
  156. package/dist/utils/makeId.js +13 -8
  157. package/dist/utils/preserveMetaProperties.js +27 -0
  158. package/dist/utils/readConfigFile.js +1 -1
  159. package/dist/utils/setNonEnumerableProperty.js +23 -0
  160. package/dist/utils/traverseConfig.js +43 -0
  161. package/dist/utils/tryBuildStep.js +46 -0
  162. package/dist/utils/writeBuildArtifact.js +1 -1
  163. package/package.json +46 -41
  164. package/dist/build/buildPages/buildPages.js +0 -31
  165. package/dist/utils/formatErrorMessage.js +0 -56
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lowdefy/build",
3
- "version": "4.5.2",
3
+ "version": "4.6.0",
4
4
  "license": "Apache-2.0",
5
5
  "description": "",
6
6
  "homepage": "https://lowdefy.com",
@@ -38,20 +38,22 @@
38
38
  },
39
39
  "exports": {
40
40
  ".": "./dist/index.js",
41
- "./buildTestPage": "./dist/build/buildPages/buildTestPage.js"
41
+ "./dev": "./dist/indexDev.js",
42
+ "./buildTestPage": "./dist/build/full/buildTestPage.js"
42
43
  },
43
44
  "files": [
44
45
  "dist/*"
45
46
  ],
46
47
  "dependencies": {
47
- "@lowdefy/ajv": "4.5.2",
48
- "@lowdefy/blocks-basic": "4.5.2",
49
- "@lowdefy/blocks-loaders": "4.5.2",
50
- "@lowdefy/helpers": "4.5.2",
51
- "@lowdefy/node-utils": "4.5.2",
52
- "@lowdefy/nunjucks": "4.5.2",
53
- "@lowdefy/operators": "4.5.2",
54
- "@lowdefy/operators-js": "4.5.2",
48
+ "@lowdefy/ajv": "4.6.0",
49
+ "@lowdefy/blocks-basic": "4.6.0",
50
+ "@lowdefy/blocks-loaders": "4.6.0",
51
+ "@lowdefy/errors": "4.6.0",
52
+ "@lowdefy/helpers": "4.6.0",
53
+ "@lowdefy/node-utils": "4.6.0",
54
+ "@lowdefy/nunjucks": "4.6.0",
55
+ "@lowdefy/operators": "4.6.0",
56
+ "@lowdefy/operators-js": "4.6.0",
55
57
  "ajv": "8.12.0",
56
58
  "json5": "2.2.3",
57
59
  "yaml": "2.3.4",
@@ -59,40 +61,43 @@
59
61
  },
60
62
  "devDependencies": {
61
63
  "@jest/globals": "28.1.3",
62
- "@lowdefy/actions-core": "4.5.2",
63
- "@lowdefy/actions-pdf-make": "4.5.2",
64
- "@lowdefy/blocks-aggrid": "4.5.2",
65
- "@lowdefy/blocks-algolia": "4.5.2",
66
- "@lowdefy/blocks-antd": "4.5.2",
67
- "@lowdefy/blocks-color-selectors": "4.5.2",
68
- "@lowdefy/blocks-echarts": "4.5.2",
69
- "@lowdefy/blocks-google-maps": "4.5.2",
70
- "@lowdefy/blocks-markdown": "4.5.2",
71
- "@lowdefy/blocks-qr": "4.5.2",
72
- "@lowdefy/connection-axios-http": "4.5.2",
73
- "@lowdefy/connection-elasticsearch": "4.5.2",
74
- "@lowdefy/connection-google-sheets": "4.5.2",
75
- "@lowdefy/connection-knex": "4.5.2",
76
- "@lowdefy/connection-mongodb": "4.5.2",
77
- "@lowdefy/connection-redis": "4.5.2",
78
- "@lowdefy/connection-sendgrid": "4.5.2",
79
- "@lowdefy/connection-stripe": "4.5.2",
80
- "@lowdefy/operators-change-case": "4.5.2",
81
- "@lowdefy/operators-diff": "4.5.2",
82
- "@lowdefy/operators-jsonata": "4.5.2",
83
- "@lowdefy/operators-moment": "4.5.2",
84
- "@lowdefy/operators-mql": "4.5.2",
85
- "@lowdefy/operators-nunjucks": "4.5.2",
86
- "@lowdefy/operators-uuid": "4.5.2",
87
- "@lowdefy/operators-yaml": "4.5.2",
88
- "@lowdefy/plugin-auth0": "4.5.2",
89
- "@lowdefy/plugin-aws": "4.5.2",
90
- "@lowdefy/plugin-csv": "4.5.2",
91
- "@lowdefy/plugin-next-auth": "4.5.2",
64
+ "@lowdefy/actions-core": "4.6.0",
65
+ "@lowdefy/actions-pdf-make": "4.6.0",
66
+ "@lowdefy/blocks-aggrid": "4.6.0",
67
+ "@lowdefy/blocks-algolia": "4.6.0",
68
+ "@lowdefy/blocks-antd": "4.6.0",
69
+ "@lowdefy/blocks-color-selectors": "4.6.0",
70
+ "@lowdefy/blocks-echarts": "4.6.0",
71
+ "@lowdefy/blocks-google-maps": "4.6.0",
72
+ "@lowdefy/blocks-markdown": "4.6.0",
73
+ "@lowdefy/blocks-qr": "4.6.0",
74
+ "@lowdefy/connection-axios-http": "4.6.0",
75
+ "@lowdefy/connection-elasticsearch": "4.6.0",
76
+ "@lowdefy/connection-test": "4.6.0",
77
+ "@lowdefy/connection-google-sheets": "4.6.0",
78
+ "@lowdefy/connection-knex": "4.6.0",
79
+ "@lowdefy/connection-mongodb": "4.6.0",
80
+ "@lowdefy/connection-redis": "4.6.0",
81
+ "@lowdefy/connection-sendgrid": "4.6.0",
82
+ "@lowdefy/connection-stripe": "4.6.0",
83
+ "@lowdefy/operators-change-case": "4.6.0",
84
+ "@lowdefy/operators-diff": "4.6.0",
85
+ "@lowdefy/operators-jsonata": "4.6.0",
86
+ "@lowdefy/operators-moment": "4.6.0",
87
+ "@lowdefy/operators-mql": "4.6.0",
88
+ "@lowdefy/operators-nunjucks": "4.6.0",
89
+ "@lowdefy/operators-uuid": "4.6.0",
90
+ "@lowdefy/operators-yaml": "4.6.0",
91
+ "@lowdefy/plugin-auth0": "4.6.0",
92
+ "@lowdefy/plugin-aws": "4.6.0",
93
+ "@lowdefy/plugin-csv": "4.6.0",
94
+ "@lowdefy/plugin-next-auth": "4.6.0",
92
95
  "@swc/cli": "0.1.63",
93
96
  "@swc/core": "1.3.99",
94
97
  "@swc/jest": "0.2.29",
95
- "jest": "28.1.3"
98
+ "@lowdefy/logger": "4.6.0",
99
+ "jest": "28.1.3",
100
+ "pino": "8.16.2"
96
101
  },
97
102
  "publishConfig": {
98
103
  "access": "public"
@@ -1,31 +0,0 @@
1
- /* eslint-disable no-param-reassign */ /*
2
- Copyright 2020-2024 Lowdefy, Inc
3
-
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
7
-
8
- http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
- */ import { type } from '@lowdefy/helpers';
16
- import buildPage from './buildPage.js';
17
- import createCheckDuplicateId from '../../utils/createCheckDuplicateId.js';
18
- function buildPages({ components, context }) {
19
- const pages = type.isArray(components.pages) ? components.pages : [];
20
- const checkDuplicatePageId = createCheckDuplicateId({
21
- message: 'Duplicate pageId "{{ id }}".'
22
- });
23
- pages.map((page, index)=>buildPage({
24
- page,
25
- index,
26
- context,
27
- checkDuplicatePageId
28
- }));
29
- return components;
30
- }
31
- export default buildPages;
@@ -1,56 +0,0 @@
1
- /*
2
- Copyright 2020-2024 Lowdefy, Inc
3
-
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
7
-
8
- http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
- */ import { get, type } from '@lowdefy/helpers';
16
- function formatArrayKey({ index, object }) {
17
- if (type.isObject(object) && (!type.isNone(object.id) || !type.isNone(object.type))) {
18
- const objectId = type.isNone(object.id) ? '_ERROR_MISSING_ID_' : object.id;
19
- const objectType = type.isNone(object.type) ? '_ERROR_MISSING_TYPE_' : object.type;
20
- return `[${index}:${objectId}:${objectType}]`;
21
- }
22
- return `[${index}]`;
23
- }
24
- function recursiveFormatPath({ data, instancePath, formattedPath = '', gap = '', root = false }) {
25
- if (instancePath.length === 0) return formattedPath;
26
- const key = instancePath.shift();
27
- const newData = get(data, key);
28
- let newPath;
29
- if (type.isArray(data)) {
30
- gap += ' ';
31
- newPath = `${formattedPath}
32
- ${gap}- ${formatArrayKey({
33
- index: key,
34
- object: newData
35
- })}`;
36
- } else {
37
- newPath = `${formattedPath}${root ? '- ' : '.'}${key}`;
38
- }
39
- return recursiveFormatPath({
40
- data: newData,
41
- instancePath,
42
- formattedPath: newPath,
43
- gap
44
- });
45
- }
46
- function formatErrorMessage({ error, components }) {
47
- const formattedPath = recursiveFormatPath({
48
- data: components,
49
- instancePath: error.instancePath.split('/').slice(1),
50
- root: true
51
- });
52
- return `Schema Error
53
- ${error.message}
54
- ${formattedPath}`;
55
- }
56
- export default formatErrorMessage;