mirror of
https://github.com/lowdefy/lowdefy.git
synced 2025-03-25 15:10:33 +08:00
feat: Next server rendering blocks
This commit is contained in:
parent
5bdc85b032
commit
e625e07a29
472
.pnp.cjs
generated
472
.pnp.cjs
generated
@ -5642,37 +5642,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"packageLocation": "./packages/layout/",
|
||||
"packageDependencies": [
|
||||
["@lowdefy/layout", "workspace:packages/layout"],
|
||||
["@babel/cli", "virtual:b6fa685df68481df8aea241d69a5d4ac044afe9a6d5347abc450d1a9a0b048b47a068daa4b51891dcc21a6f39ddd0469d8cb1b5ac2b845697d880ad1457b4396#npm:7.15.7"],
|
||||
["@babel/core", "npm:7.15.8"],
|
||||
["@babel/preset-env", "virtual:b6fa685df68481df8aea241d69a5d4ac044afe9a6d5347abc450d1a9a0b048b47a068daa4b51891dcc21a6f39ddd0469d8cb1b5ac2b845697d880ad1457b4396#npm:7.15.8"],
|
||||
["@babel/preset-react", "virtual:dddca670fd0b7758fb2e1b1a3e18ac7ebd1ecd06ecdd7acec2b78bccf1d35802cb22904bfbb233b16515a81f5cb819421786d20887823d98022b367036c1ad51#npm:7.14.5"],
|
||||
["@babel/preset-react", "virtual:04055f037dce009b6d437327a3df2c0a05f0436e14e2b705672dd0d1e0a3dfd29d8d62e0db8cb7e152c4b95e36ad3ccd6a68c9e962121dec9e597b25e0481519#npm:7.16.0"],
|
||||
["@emotion/jest", "virtual:04055f037dce009b6d437327a3df2c0a05f0436e14e2b705672dd0d1e0a3dfd29d8d62e0db8cb7e152c4b95e36ad3ccd6a68c9e962121dec9e597b25e0481519#npm:11.5.0"],
|
||||
["@lowdefy/block-dev", "workspace:packages/block-dev"],
|
||||
["@lowdefy/block-utils", "workspace:packages/block-utils"],
|
||||
["@lowdefy/helpers", "workspace:packages/helpers"],
|
||||
["@swc/cli", "virtual:4a7337632ff6e9ee5a1c45a62a9ff4cc325a9367b21424babda93e269fe01b671e885bc41bdeebafb83c81f2a8eebbf0102043354a4e58905f61c8c3387cda1e#npm:0.1.51"],
|
||||
["@swc/core", "npm:1.2.107"],
|
||||
["@swc/jest", "virtual:4a7337632ff6e9ee5a1c45a62a9ff4cc325a9367b21424babda93e269fe01b671e885bc41bdeebafb83c81f2a8eebbf0102043354a4e58905f61c8c3387cda1e#npm:0.2.5"],
|
||||
["@testing-library/dom", "npm:8.10.1"],
|
||||
["@testing-library/react", "virtual:04055f037dce009b6d437327a3df2c0a05f0436e14e2b705672dd0d1e0a3dfd29d8d62e0db8cb7e152c4b95e36ad3ccd6a68c9e962121dec9e597b25e0481519#npm:12.1.2"],
|
||||
["@testing-library/user-event", "virtual:04055f037dce009b6d437327a3df2c0a05f0436e14e2b705672dd0d1e0a3dfd29d8d62e0db8cb7e152c4b95e36ad3ccd6a68c9e962121dec9e597b25e0481519#npm:13.5.0"],
|
||||
["antd", "virtual:d549c90a66e2dbf9d17def1c9f39538b909d66de1b505183e68abb1bbd2ae3684ddc299cb1d1031d812d46e521336dfd28859e8111e541eabeab93fcc1911b5b#npm:4.17.0-alpha.7"],
|
||||
["babel-jest", "virtual:4d3a3f79f60b2294109a713555c084c0489a2a4f97b0d45817e4aa63b6e15e6ef8f5a5dafe41a4ed8f9dc47978495fbbf92e43efd40de2306fb74fb2638214c5#npm:27.3.1"],
|
||||
["babel-loader", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:8.2.3"],
|
||||
["babel-plugin-import", "npm:1.13.3"],
|
||||
["clean-webpack-plugin", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.0.0"],
|
||||
["css-loader", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:6.4.0"],
|
||||
["html-webpack-plugin", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.4.0"],
|
||||
["jest", "virtual:4a7337632ff6e9ee5a1c45a62a9ff4cc325a9367b21424babda93e269fe01b671e885bc41bdeebafb83c81f2a8eebbf0102043354a4e58905f61c8c3387cda1e#npm:27.3.1"],
|
||||
["jest-serializer-html", "npm:7.1.0"],
|
||||
["jest-transform-yaml", "npm:0.1.2"],
|
||||
["js-yaml", "npm:4.1.0"],
|
||||
["less", "npm:4.1.2"],
|
||||
["less-loader", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:10.2.0"],
|
||||
["process", "npm:0.11.10"],
|
||||
["react", "npm:18.0.0-alpha-327d5c484-20211106"],
|
||||
["react-dom", "virtual:04055f037dce009b6d437327a3df2c0a05f0436e14e2b705672dd0d1e0a3dfd29d8d62e0db8cb7e152c4b95e36ad3ccd6a68c9e962121dec9e597b25e0481519#npm:18.0.0-alpha-327d5c484-20211106"],
|
||||
["react-markdown", "virtual:901d32fbc48074c2b3b637efca6217ea5a6224f6744fd9d90e163f033108983ffbef18bf28bc14de3eed24f567b2dff9f78899fa57e193d0a701625c61651046#npm:5.0.3"],
|
||||
["react-syntax-highlight", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:15.3.1"],
|
||||
["style-loader", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:3.3.1"],
|
||||
["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.59.1"],
|
||||
["webpack-cli", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.9.1"],
|
||||
["webpack-dev-server", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.3.1"],
|
||||
["yaml-loader", "npm:0.6.0"]
|
||||
["react-dom", "virtual:04055f037dce009b6d437327a3df2c0a05f0436e14e2b705672dd0d1e0a3dfd29d8d62e0db8cb7e152c4b95e36ad3ccd6a68c9e962121dec9e597b25e0481519#npm:18.0.0-alpha-327d5c484-20211106"]
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}]
|
||||
@ -5718,12 +5704,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"packageDependencies": [
|
||||
["@lowdefy/nunjucks", "workspace:packages/nunjucks"],
|
||||
["@lowdefy/helpers", "workspace:packages/helpers"],
|
||||
["@swc/cli", "virtual:e63ad9bfa6ec53905cba84fb75f4e50334e3a53802ae3db1253f0c0ffaa0b90dd4a8266023fa69cfaf46281a2d69949c0e5f69029277d4d1fddfbbc9c01e4d03#npm:0.1.51"],
|
||||
["@swc/cli", "virtual:4a7337632ff6e9ee5a1c45a62a9ff4cc325a9367b21424babda93e269fe01b671e885bc41bdeebafb83c81f2a8eebbf0102043354a4e58905f61c8c3387cda1e#npm:0.1.51"],
|
||||
["@swc/core", "npm:1.2.107"],
|
||||
["@swc/jest", "virtual:4a7337632ff6e9ee5a1c45a62a9ff4cc325a9367b21424babda93e269fe01b671e885bc41bdeebafb83c81f2a8eebbf0102043354a4e58905f61c8c3387cda1e#npm:0.2.5"],
|
||||
["chokidar", "npm:3.5.2"],
|
||||
["jest", "virtual:4a7337632ff6e9ee5a1c45a62a9ff4cc325a9367b21424babda93e269fe01b671e885bc41bdeebafb83c81f2a8eebbf0102043354a4e58905f61c8c3387cda1e#npm:27.3.1"],
|
||||
["moment", "npm:2.29.1"]
|
||||
["moment", "npm:2.29.1"],
|
||||
["nunjucks", "virtual:e63ad9bfa6ec53905cba84fb75f4e50334e3a53802ae3db1253f0c0ffaa0b90dd4a8266023fa69cfaf46281a2d69949c0e5f69029277d4d1fddfbbc9c01e4d03#npm:3.2.3"]
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}]
|
||||
@ -5770,8 +5756,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"packageDependencies": [
|
||||
["@lowdefy/server", "workspace:packages/server"],
|
||||
["@lowdefy/api", "workspace:packages/api"],
|
||||
["@lowdefy/block-utils", "workspace:packages/block-utils"],
|
||||
["@lowdefy/blocks-antd", "workspace:packages/blocks/blocks-antd"],
|
||||
["@lowdefy/blocks-basic", "workspace:packages/blocks/blocks-basic"],
|
||||
["@lowdefy/engine", "workspace:packages/engine"],
|
||||
["@lowdefy/helpers", "workspace:packages/helpers"],
|
||||
["@lowdefy/node-utils", "workspace:packages/node-utils"],
|
||||
["@lowdefy/layout", "workspace:packages/layout"],
|
||||
["@next/eslint-plugin-next", "npm:12.0.2"],
|
||||
["less", "npm:4.1.2"],
|
||||
["less-loader", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:10.2.0"],
|
||||
@ -6577,27 +6567,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"chokidar"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:e63ad9bfa6ec53905cba84fb75f4e50334e3a53802ae3db1253f0c0ffaa0b90dd4a8266023fa69cfaf46281a2d69949c0e5f69029277d4d1fddfbbc9c01e4d03#npm:0.1.51", {
|
||||
"packageLocation": "./.yarn/__virtual__/@swc-cli-virtual-9c7dbd7e5b/0/cache/@swc-cli-npm-0.1.51-a93f90901e-348bf0aee8.zip/node_modules/@swc/cli/",
|
||||
"packageDependencies": [
|
||||
["@swc/cli", "virtual:e63ad9bfa6ec53905cba84fb75f4e50334e3a53802ae3db1253f0c0ffaa0b90dd4a8266023fa69cfaf46281a2d69949c0e5f69029277d4d1fddfbbc9c01e4d03#npm:0.1.51"],
|
||||
["@swc/core", "npm:1.2.107"],
|
||||
["@types/chokidar", null],
|
||||
["@types/swc__core", null],
|
||||
["chokidar", "npm:3.5.2"],
|
||||
["commander", "npm:7.2.0"],
|
||||
["fast-glob", "npm:3.2.7"],
|
||||
["slash", "npm:3.0.0"],
|
||||
["source-map", "npm:0.7.3"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@swc/core",
|
||||
"@types/chokidar",
|
||||
"@types/swc__core",
|
||||
"chokidar"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}]
|
||||
]],
|
||||
["@swc/core", [
|
||||
@ -7688,23 +7657,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}],
|
||||
["virtual:36c2bdf33be5abed551d78782bb3a5c3c37b72e65c84f819049f6eefc3c639fe3b76bf2a992a0ee5282742eb654fa11e8a7cf1f988c39c2874d4e5989f96a83d#npm:1.1.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/@webpack-cli-configtest-virtual-2c7b1931f7/0/cache/@webpack-cli-configtest-npm-1.1.0-2b6b2ef3d7-69e7816b5b.zip/node_modules/@webpack-cli/configtest/",
|
||||
"packageDependencies": [
|
||||
["@webpack-cli/configtest", "virtual:36c2bdf33be5abed551d78782bb3a5c3c37b72e65c84f819049f6eefc3c639fe3b76bf2a992a0ee5282742eb654fa11e8a7cf1f988c39c2874d4e5989f96a83d#npm:1.1.0"],
|
||||
["@types/webpack", null],
|
||||
["@types/webpack-cli", null],
|
||||
["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.59.1"],
|
||||
["webpack-cli", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.9.1"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/webpack-cli",
|
||||
"@types/webpack",
|
||||
"webpack-cli",
|
||||
"webpack"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:9d6de49a7b9ae04604621b26b33097b808a427c088e52b8f45bf16fab7a2582abf56de55debbdbab546a7bbc47bcfcaf80a6c9d790771e5782dae95b4c017aa0#npm:1.1.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/@webpack-cli-configtest-virtual-8e2d628e23/0/cache/@webpack-cli-configtest-npm-1.1.0-2b6b2ef3d7-69e7816b5b.zip/node_modules/@webpack-cli/configtest/",
|
||||
"packageDependencies": [
|
||||
@ -7748,20 +7700,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}],
|
||||
["virtual:36c2bdf33be5abed551d78782bb3a5c3c37b72e65c84f819049f6eefc3c639fe3b76bf2a992a0ee5282742eb654fa11e8a7cf1f988c39c2874d4e5989f96a83d#npm:1.4.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/@webpack-cli-info-virtual-87455f0076/0/cache/@webpack-cli-info-npm-1.4.0-4a26ccee64-6385b1e2c5.zip/node_modules/@webpack-cli/info/",
|
||||
"packageDependencies": [
|
||||
["@webpack-cli/info", "virtual:36c2bdf33be5abed551d78782bb3a5c3c37b72e65c84f819049f6eefc3c639fe3b76bf2a992a0ee5282742eb654fa11e8a7cf1f988c39c2874d4e5989f96a83d#npm:1.4.0"],
|
||||
["@types/webpack-cli", null],
|
||||
["envinfo", "npm:7.8.1"],
|
||||
["webpack-cli", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.9.1"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/webpack-cli",
|
||||
"webpack-cli"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:9d6de49a7b9ae04604621b26b33097b808a427c088e52b8f45bf16fab7a2582abf56de55debbdbab546a7bbc47bcfcaf80a6c9d790771e5782dae95b4c017aa0#npm:1.4.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/@webpack-cli-info-virtual-0ca1a3b309/0/cache/@webpack-cli-info-npm-1.4.0-4a26ccee64-6385b1e2c5.zip/node_modules/@webpack-cli/info/",
|
||||
"packageDependencies": [
|
||||
@ -7799,23 +7737,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}],
|
||||
["virtual:36c2bdf33be5abed551d78782bb3a5c3c37b72e65c84f819049f6eefc3c639fe3b76bf2a992a0ee5282742eb654fa11e8a7cf1f988c39c2874d4e5989f96a83d#npm:1.6.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/@webpack-cli-serve-virtual-8636f92dac/0/cache/@webpack-cli-serve-npm-1.6.0-c7b35aa4ef-050a930b63.zip/node_modules/@webpack-cli/serve/",
|
||||
"packageDependencies": [
|
||||
["@webpack-cli/serve", "virtual:36c2bdf33be5abed551d78782bb3a5c3c37b72e65c84f819049f6eefc3c639fe3b76bf2a992a0ee5282742eb654fa11e8a7cf1f988c39c2874d4e5989f96a83d#npm:1.6.0"],
|
||||
["@types/webpack-cli", null],
|
||||
["@types/webpack-dev-server", null],
|
||||
["webpack-cli", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.9.1"],
|
||||
["webpack-dev-server", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.3.1"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/webpack-cli",
|
||||
"@types/webpack-dev-server",
|
||||
"webpack-cli",
|
||||
"webpack-dev-server"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:9d6de49a7b9ae04604621b26b33097b808a427c088e52b8f45bf16fab7a2582abf56de55debbdbab546a7bbc47bcfcaf80a6c9d790771e5782dae95b4c017aa0#npm:1.6.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/@webpack-cli-serve-virtual-0c69f9ede1/0/cache/@webpack-cli-serve-npm-1.6.0-c7b35aa4ef-050a930b63.zip/node_modules/@webpack-cli/serve/",
|
||||
"packageDependencies": [
|
||||
@ -8040,6 +7961,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"linkType": "HARD",
|
||||
}]
|
||||
]],
|
||||
["a-sync-waterfall", [
|
||||
["npm:1.0.1", {
|
||||
"packageLocation": "./.yarn/cache/a-sync-waterfall-npm-1.0.1-f6b6b49568-534948b50d.zip/node_modules/a-sync-waterfall/",
|
||||
"packageDependencies": [
|
||||
["a-sync-waterfall", "npm:1.0.1"]
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}]
|
||||
]],
|
||||
["abab", [
|
||||
["npm:2.0.5", {
|
||||
"packageLocation": "./.yarn/cache/abab-npm-2.0.5-ae8d5b629e-0ec951b46d.zip/node_modules/abab/",
|
||||
@ -9267,27 +9197,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:8.2.3", {
|
||||
"packageLocation": "./.yarn/__virtual__/babel-loader-virtual-3b798ef48d/0/cache/babel-loader-npm-8.2.3-855681b984-78e1e1a919.zip/node_modules/babel-loader/",
|
||||
"packageDependencies": [
|
||||
["babel-loader", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:8.2.3"],
|
||||
["@babel/core", "npm:7.15.8"],
|
||||
["@types/babel__core", null],
|
||||
["@types/webpack", null],
|
||||
["find-cache-dir", "npm:3.3.2"],
|
||||
["loader-utils", "npm:1.4.0"],
|
||||
["make-dir", "npm:3.1.0"],
|
||||
["schema-utils", "npm:2.7.1"],
|
||||
["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.59.1"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@babel/core",
|
||||
"@types/babel__core",
|
||||
"@types/webpack",
|
||||
"webpack"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:dddca670fd0b7758fb2e1b1a3e18ac7ebd1ecd06ecdd7acec2b78bccf1d35802cb22904bfbb233b16515a81f5cb819421786d20887823d98022b367036c1ad51#npm:8.2.3", {
|
||||
"packageLocation": "./.yarn/__virtual__/babel-loader-virtual-2af43e9687/0/cache/babel-loader-npm-8.2.3-855681b984-78e1e1a919.zip/node_modules/babel-loader/",
|
||||
"packageDependencies": [
|
||||
@ -9320,17 +9229,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"linkType": "HARD",
|
||||
}]
|
||||
]],
|
||||
["babel-plugin-import", [
|
||||
["npm:1.13.3", {
|
||||
"packageLocation": "./.yarn/cache/babel-plugin-import-npm-1.13.3-498736f60a-1be664a34f.zip/node_modules/babel-plugin-import/",
|
||||
"packageDependencies": [
|
||||
["babel-plugin-import", "npm:1.13.3"],
|
||||
["@babel/helper-module-imports", "npm:7.15.4"],
|
||||
["@babel/runtime", "npm:7.15.4"]
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}]
|
||||
]],
|
||||
["babel-plugin-istanbul", [
|
||||
["npm:6.1.1", {
|
||||
"packageLocation": "./.yarn/cache/babel-plugin-istanbul-npm-6.1.1-df824055e4-cb4fd95738.zip/node_modules/babel-plugin-istanbul/",
|
||||
@ -10541,20 +10439,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.0.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/clean-webpack-plugin-virtual-2801ccda56/0/cache/clean-webpack-plugin-npm-4.0.0-5a85c794c8-199425e87b.zip/node_modules/clean-webpack-plugin/",
|
||||
"packageDependencies": [
|
||||
["clean-webpack-plugin", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.0.0"],
|
||||
["@types/webpack", null],
|
||||
["del", "npm:4.1.1"],
|
||||
["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.59.1"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/webpack",
|
||||
"webpack"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:dddca670fd0b7758fb2e1b1a3e18ac7ebd1ecd06ecdd7acec2b78bccf1d35802cb22904bfbb233b16515a81f5cb819421786d20887823d98022b367036c1ad51#npm:4.0.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/clean-webpack-plugin-virtual-3d7fd34056/0/cache/clean-webpack-plugin-npm-4.0.0-5a85c794c8-199425e87b.zip/node_modules/clean-webpack-plugin/",
|
||||
"packageDependencies": [
|
||||
@ -10817,6 +10701,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["npm:5.1.0", {
|
||||
"packageLocation": "./.yarn/cache/commander-npm-5.1.0-7e939e7832-0b7fec1712.zip/node_modules/commander/",
|
||||
"packageDependencies": [
|
||||
["commander", "npm:5.1.0"]
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["npm:7.2.0", {
|
||||
"packageLocation": "./.yarn/cache/commander-npm-7.2.0-19178180f8-53501cbeee.zip/node_modules/commander/",
|
||||
"packageDependencies": [
|
||||
@ -11401,27 +11292,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:6.4.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/css-loader-virtual-7fd4aca2c1/0/cache/css-loader-npm-6.4.0-b541b3e985-e842905fce.zip/node_modules/css-loader/",
|
||||
"packageDependencies": [
|
||||
["css-loader", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:6.4.0"],
|
||||
["@types/webpack", null],
|
||||
["icss-utils", "virtual:cdc7fe25a42c1c915a3e2cc1d88a6050af31a566c30884dc9e8d0b1aaf72e44c7b8a5b00c55ce4e836b23b713118e647ce0fa2afc6c89d1a011289495565f043#npm:5.1.0"],
|
||||
["postcss", "npm:8.3.11"],
|
||||
["postcss-modules-extract-imports", "virtual:cdc7fe25a42c1c915a3e2cc1d88a6050af31a566c30884dc9e8d0b1aaf72e44c7b8a5b00c55ce4e836b23b713118e647ce0fa2afc6c89d1a011289495565f043#npm:3.0.0"],
|
||||
["postcss-modules-local-by-default", "virtual:cdc7fe25a42c1c915a3e2cc1d88a6050af31a566c30884dc9e8d0b1aaf72e44c7b8a5b00c55ce4e836b23b713118e647ce0fa2afc6c89d1a011289495565f043#npm:4.0.0"],
|
||||
["postcss-modules-scope", "virtual:cdc7fe25a42c1c915a3e2cc1d88a6050af31a566c30884dc9e8d0b1aaf72e44c7b8a5b00c55ce4e836b23b713118e647ce0fa2afc6c89d1a011289495565f043#npm:3.0.0"],
|
||||
["postcss-modules-values", "virtual:cdc7fe25a42c1c915a3e2cc1d88a6050af31a566c30884dc9e8d0b1aaf72e44c7b8a5b00c55ce4e836b23b713118e647ce0fa2afc6c89d1a011289495565f043#npm:4.0.0"],
|
||||
["postcss-value-parser", "npm:4.1.0"],
|
||||
["semver", "npm:7.3.5"],
|
||||
["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.59.1"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/webpack",
|
||||
"webpack"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:dddca670fd0b7758fb2e1b1a3e18ac7ebd1ecd06ecdd7acec2b78bccf1d35802cb22904bfbb233b16515a81f5cb819421786d20887823d98022b367036c1ad51#npm:6.4.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/css-loader-virtual-cdc7fe25a4/0/cache/css-loader-npm-6.4.0-b541b3e985-e842905fce.zip/node_modules/css-loader/",
|
||||
"packageDependencies": [
|
||||
@ -14846,13 +14716,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
["highlight.js", "npm:10.7.3"]
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["npm:9.18.5", {
|
||||
"packageLocation": "./.yarn/unplugged/highlight.js-npm-9.18.5-571500f48d/node_modules/highlight.js/",
|
||||
"packageDependencies": [
|
||||
["highlight.js", "npm:9.18.5"]
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}]
|
||||
]],
|
||||
["history", [
|
||||
@ -15027,24 +14890,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.4.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/html-webpack-plugin-virtual-6821d27cf9/0/cache/html-webpack-plugin-npm-5.4.0-190e4589f6-4963e1955d.zip/node_modules/html-webpack-plugin/",
|
||||
"packageDependencies": [
|
||||
["html-webpack-plugin", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.4.0"],
|
||||
["@types/html-minifier-terser", "npm:6.0.0"],
|
||||
["@types/webpack", null],
|
||||
["html-minifier-terser", "npm:6.0.2"],
|
||||
["lodash", "npm:4.17.21"],
|
||||
["pretty-error", "npm:3.0.4"],
|
||||
["tapable", "npm:2.2.1"],
|
||||
["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.59.1"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/webpack",
|
||||
"webpack"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:dddca670fd0b7758fb2e1b1a3e18ac7ebd1ecd06ecdd7acec2b78bccf1d35802cb22904bfbb233b16515a81f5cb819421786d20887823d98022b367036c1ad51#npm:5.4.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/html-webpack-plugin-virtual-fcd86b7f9f/0/cache/html-webpack-plugin-npm-5.4.0-190e4589f6-4963e1955d.zip/node_modules/html-webpack-plugin/",
|
||||
"packageDependencies": [
|
||||
@ -17449,24 +17294,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"webpack"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:10.2.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/less-loader-virtual-90ae046641/0/cache/less-loader-npm-10.2.0-9c6619a5c0-42a2b56a9d.zip/node_modules/less-loader/",
|
||||
"packageDependencies": [
|
||||
["less-loader", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:10.2.0"],
|
||||
["@types/less", null],
|
||||
["@types/webpack", null],
|
||||
["klona", "npm:2.0.4"],
|
||||
["less", "npm:4.1.2"],
|
||||
["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.59.1"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/less",
|
||||
"@types/webpack",
|
||||
"less",
|
||||
"webpack"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}]
|
||||
]],
|
||||
["leven", [
|
||||
@ -19657,6 +19484,31 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"linkType": "HARD",
|
||||
}]
|
||||
]],
|
||||
["nunjucks", [
|
||||
["npm:3.2.3", {
|
||||
"packageLocation": "./.yarn/cache/nunjucks-npm-3.2.3-ae8b5fd14c-9d0125acf9.zip/node_modules/nunjucks/",
|
||||
"packageDependencies": [
|
||||
["nunjucks", "npm:3.2.3"]
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}],
|
||||
["virtual:e63ad9bfa6ec53905cba84fb75f4e50334e3a53802ae3db1253f0c0ffaa0b90dd4a8266023fa69cfaf46281a2d69949c0e5f69029277d4d1fddfbbc9c01e4d03#npm:3.2.3", {
|
||||
"packageLocation": "./.yarn/__virtual__/nunjucks-virtual-45061312a7/0/cache/nunjucks-npm-3.2.3-ae8b5fd14c-9d0125acf9.zip/node_modules/nunjucks/",
|
||||
"packageDependencies": [
|
||||
["nunjucks", "virtual:e63ad9bfa6ec53905cba84fb75f4e50334e3a53802ae3db1253f0c0ffaa0b90dd4a8266023fa69cfaf46281a2d69949c0e5f69029277d4d1fddfbbc9c01e4d03#npm:3.2.3"],
|
||||
["@types/chokidar", null],
|
||||
["a-sync-waterfall", "npm:1.0.1"],
|
||||
["asap", "npm:2.0.6"],
|
||||
["chokidar", null],
|
||||
["commander", "npm:5.1.0"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/chokidar",
|
||||
"chokidar"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}]
|
||||
]],
|
||||
["nwsapi", [
|
||||
["npm:2.2.0", {
|
||||
"packageLocation": "./.yarn/cache/nwsapi-npm-2.2.0-8f05590043-5ef4a9bc0c.zip/node_modules/nwsapi/",
|
||||
@ -22964,34 +22816,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"linkType": "HARD",
|
||||
}]
|
||||
]],
|
||||
["react-syntax-highlight", [
|
||||
["npm:15.3.1", {
|
||||
"packageLocation": "./.yarn/cache/react-syntax-highlight-npm-15.3.1-d7cccdaa21-cada9bec5d.zip/node_modules/react-syntax-highlight/",
|
||||
"packageDependencies": [
|
||||
["react-syntax-highlight", "npm:15.3.1"]
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}],
|
||||
["virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:15.3.1", {
|
||||
"packageLocation": "./.yarn/__virtual__/react-syntax-highlight-virtual-49f1718c5f/0/cache/react-syntax-highlight-npm-15.3.1-d7cccdaa21-cada9bec5d.zip/node_modules/react-syntax-highlight/",
|
||||
"packageDependencies": [
|
||||
["react-syntax-highlight", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:15.3.1"],
|
||||
["@types/react", null],
|
||||
["@types/react-dom", null],
|
||||
["highlight.js", "npm:9.18.5"],
|
||||
["prop-types", "npm:15.7.2"],
|
||||
["react", "npm:18.0.0-alpha-327d5c484-20211106"],
|
||||
["react-dom", "virtual:04055f037dce009b6d437327a3df2c0a05f0436e14e2b705672dd0d1e0a3dfd29d8d62e0db8cb7e152c4b95e36ad3ccd6a68c9e962121dec9e597b25e0481519#npm:18.0.0-alpha-327d5c484-20211106"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/react-dom",
|
||||
"@types/react",
|
||||
"react-dom",
|
||||
"react"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}]
|
||||
]],
|
||||
["react-syntax-highlighter", [
|
||||
["npm:15.4.4", {
|
||||
"packageLocation": "./.yarn/cache/react-syntax-highlighter-npm-15.4.4-18a389dc78-18de0b279c.zip/node_modules/react-syntax-highlighter/",
|
||||
@ -24899,19 +24723,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:3.3.1", {
|
||||
"packageLocation": "./.yarn/__virtual__/style-loader-virtual-2003c34588/0/cache/style-loader-npm-3.3.1-4bbb6ec77f-470feef680.zip/node_modules/style-loader/",
|
||||
"packageDependencies": [
|
||||
["style-loader", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:3.3.1"],
|
||||
["@types/webpack", null],
|
||||
["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.59.1"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/webpack",
|
||||
"webpack"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:dddca670fd0b7758fb2e1b1a3e18ac7ebd1ecd06ecdd7acec2b78bccf1d35802cb22904bfbb233b16515a81f5cb819421786d20887823d98022b367036c1ad51#npm:3.3.1", {
|
||||
"packageLocation": "./.yarn/__virtual__/style-loader-virtual-6eab0032f8/0/cache/style-loader-npm-3.3.1-4bbb6ec77f-470feef680.zip/node_modules/style-loader/",
|
||||
"packageDependencies": [
|
||||
@ -25409,37 +25220,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
"webpack"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:ff7dd4933e0aec384cd97caae1562c0fa533c08c8b5e437b9eabe8a77fb26b0214d54dd5af99747631610ae2e2bcbe33711254b651cc1ac0aa3865234aea5187#npm:5.2.4", {
|
||||
"packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-77b200190e/0/cache/terser-webpack-plugin-npm-5.2.4-cc8bd7c055-ddbcdd28f9.zip/node_modules/terser-webpack-plugin/",
|
||||
"packageDependencies": [
|
||||
["terser-webpack-plugin", "virtual:ff7dd4933e0aec384cd97caae1562c0fa533c08c8b5e437b9eabe8a77fb26b0214d54dd5af99747631610ae2e2bcbe33711254b651cc1ac0aa3865234aea5187#npm:5.2.4"],
|
||||
["@swc/core", null],
|
||||
["@types/esbuild", null],
|
||||
["@types/swc__core", null],
|
||||
["@types/uglify-js", null],
|
||||
["@types/webpack", null],
|
||||
["esbuild", null],
|
||||
["jest-worker", "npm:27.3.1"],
|
||||
["p-limit", "npm:3.1.0"],
|
||||
["schema-utils", "npm:3.1.1"],
|
||||
["serialize-javascript", "npm:6.0.0"],
|
||||
["source-map", "npm:0.6.1"],
|
||||
["terser", "npm:5.9.0"],
|
||||
["uglify-js", null],
|
||||
["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.59.1"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@swc/core",
|
||||
"@types/esbuild",
|
||||
"@types/swc__core",
|
||||
"@types/uglify-js",
|
||||
"@types/webpack",
|
||||
"esbuild",
|
||||
"uglify-js",
|
||||
"webpack"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}]
|
||||
]],
|
||||
["test-exclude", [
|
||||
@ -26702,43 +26482,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.59.1", {
|
||||
"packageLocation": "./.yarn/__virtual__/webpack-virtual-ff7dd4933e/0/cache/webpack-npm-5.59.1-4496e1cd5a-6a24f71b64.zip/node_modules/webpack/",
|
||||
"packageDependencies": [
|
||||
["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.59.1"],
|
||||
["@types/eslint-scope", "npm:3.7.1"],
|
||||
["@types/estree", "npm:0.0.50"],
|
||||
["@types/webpack-cli", null],
|
||||
["@webassemblyjs/ast", "npm:1.11.1"],
|
||||
["@webassemblyjs/wasm-edit", "npm:1.11.1"],
|
||||
["@webassemblyjs/wasm-parser", "npm:1.11.1"],
|
||||
["acorn", "npm:8.5.0"],
|
||||
["acorn-import-assertions", "virtual:bb1d7c4b2aab49ae14f02519d8d46de9e4793f1ebd19ee23b76124f9db9d9ca8bec08fb45808252f620b9cf35410eb0ca7a2532357684b305fdec22aabb75ae6#npm:1.8.0"],
|
||||
["browserslist", "npm:4.17.5"],
|
||||
["chrome-trace-event", "npm:1.0.3"],
|
||||
["enhanced-resolve", "npm:5.8.3"],
|
||||
["es-module-lexer", "npm:0.9.3"],
|
||||
["eslint-scope", "npm:5.1.1"],
|
||||
["events", "npm:3.3.0"],
|
||||
["glob-to-regexp", "npm:0.4.1"],
|
||||
["graceful-fs", "npm:4.2.8"],
|
||||
["json-parse-better-errors", "npm:1.0.2"],
|
||||
["loader-runner", "npm:4.2.0"],
|
||||
["mime-types", "npm:2.1.33"],
|
||||
["neo-async", "npm:2.6.2"],
|
||||
["schema-utils", "npm:3.1.1"],
|
||||
["tapable", "npm:2.2.1"],
|
||||
["terser-webpack-plugin", "virtual:ff7dd4933e0aec384cd97caae1562c0fa533c08c8b5e437b9eabe8a77fb26b0214d54dd5af99747631610ae2e2bcbe33711254b651cc1ac0aa3865234aea5187#npm:5.2.4"],
|
||||
["watchpack", "npm:2.2.0"],
|
||||
["webpack-cli", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.9.1"],
|
||||
["webpack-sources", "npm:3.2.1"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/webpack-cli",
|
||||
"webpack-cli"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:5530fb2f78bdcac4cb19ba3a563bd7922f9ce4bbd52ce8b4a756e29c4126b22271a917e55c981a4204cf762649c40aa32df13b924608cade4f2850397a837b5b#npm:5.60.0", {
|
||||
"packageLocation": "./.yarn/__virtual__/webpack-virtual-b8183ce48c/0/cache/webpack-npm-5.60.0-4763b66d54-3c37424516.zip/node_modules/webpack/",
|
||||
"packageDependencies": [
|
||||
@ -26900,47 +26643,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.9.1", {
|
||||
"packageLocation": "./.yarn/__virtual__/webpack-cli-virtual-36c2bdf33b/0/cache/webpack-cli-npm-4.9.1-1b8a5f360f-2aff0349c1.zip/node_modules/webpack-cli/",
|
||||
"packageDependencies": [
|
||||
["webpack-cli", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.9.1"],
|
||||
["@discoveryjs/json-ext", "npm:0.5.5"],
|
||||
["@types/webpack", null],
|
||||
["@types/webpack-bundle-analyzer", null],
|
||||
["@types/webpack-cli__generators", null],
|
||||
["@types/webpack-cli__migrate", null],
|
||||
["@types/webpack-dev-server", null],
|
||||
["@webpack-cli/configtest", "virtual:36c2bdf33be5abed551d78782bb3a5c3c37b72e65c84f819049f6eefc3c639fe3b76bf2a992a0ee5282742eb654fa11e8a7cf1f988c39c2874d4e5989f96a83d#npm:1.1.0"],
|
||||
["@webpack-cli/generators", null],
|
||||
["@webpack-cli/info", "virtual:36c2bdf33be5abed551d78782bb3a5c3c37b72e65c84f819049f6eefc3c639fe3b76bf2a992a0ee5282742eb654fa11e8a7cf1f988c39c2874d4e5989f96a83d#npm:1.4.0"],
|
||||
["@webpack-cli/migrate", null],
|
||||
["@webpack-cli/serve", "virtual:36c2bdf33be5abed551d78782bb3a5c3c37b72e65c84f819049f6eefc3c639fe3b76bf2a992a0ee5282742eb654fa11e8a7cf1f988c39c2874d4e5989f96a83d#npm:1.6.0"],
|
||||
["colorette", "npm:2.0.16"],
|
||||
["commander", "npm:7.2.0"],
|
||||
["execa", "npm:5.1.1"],
|
||||
["fastest-levenshtein", "npm:1.0.12"],
|
||||
["import-local", "npm:3.0.3"],
|
||||
["interpret", "npm:2.2.0"],
|
||||
["rechoir", "npm:0.7.1"],
|
||||
["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.59.1"],
|
||||
["webpack-bundle-analyzer", null],
|
||||
["webpack-dev-server", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.3.1"],
|
||||
["webpack-merge", "npm:5.8.0"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/webpack-bundle-analyzer",
|
||||
"@types/webpack-cli__generators",
|
||||
"@types/webpack-cli__migrate",
|
||||
"@types/webpack-dev-server",
|
||||
"@types/webpack",
|
||||
"@webpack-cli/generators",
|
||||
"@webpack-cli/migrate",
|
||||
"webpack-bundle-analyzer",
|
||||
"webpack-dev-server",
|
||||
"webpack"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:dddca670fd0b7758fb2e1b1a3e18ac7ebd1ecd06ecdd7acec2b78bccf1d35802cb22904bfbb233b16515a81f5cb819421786d20887823d98022b367036c1ad51#npm:4.9.1", {
|
||||
"packageLocation": "./.yarn/__virtual__/webpack-cli-virtual-9d6de49a7b/0/cache/webpack-cli-npm-4.9.1-1b8a5f360f-2aff0349c1.zip/node_modules/webpack-cli/",
|
||||
"packageDependencies": [
|
||||
@ -26991,24 +26693,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "SOFT",
|
||||
}],
|
||||
["virtual:05048fd4ff5baaedc11111d294f7f745baed2d3719a140f98172fdae30def5a186f20856b73a983079af6152e97c85b64b14ccd6b58185c50ef49726edf1c5c4#npm:5.2.1", {
|
||||
"packageLocation": "./.yarn/__virtual__/webpack-dev-middleware-virtual-c0e806acf1/0/cache/webpack-dev-middleware-npm-5.2.1-8933c4e1b9-06f3ef14ec.zip/node_modules/webpack-dev-middleware/",
|
||||
"packageDependencies": [
|
||||
["webpack-dev-middleware", "virtual:05048fd4ff5baaedc11111d294f7f745baed2d3719a140f98172fdae30def5a186f20856b73a983079af6152e97c85b64b14ccd6b58185c50ef49726edf1c5c4#npm:5.2.1"],
|
||||
["@types/webpack", null],
|
||||
["colorette", "npm:2.0.16"],
|
||||
["memfs", "npm:3.3.0"],
|
||||
["mime-types", "npm:2.1.33"],
|
||||
["range-parser", "npm:1.2.1"],
|
||||
["schema-utils", "npm:3.1.1"],
|
||||
["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.59.1"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/webpack",
|
||||
"webpack"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:5530fb2f78bdcac4cb19ba3a563bd7922f9ce4bbd52ce8b4a756e29c4126b22271a917e55c981a4204cf762649c40aa32df13b924608cade4f2850397a837b5b#npm:5.2.1", {
|
||||
"packageLocation": "./.yarn/__virtual__/webpack-dev-middleware-virtual-30d942e78d/0/cache/webpack-dev-middleware-npm-5.2.1-8933c4e1b9-06f3ef14ec.zip/node_modules/webpack-dev-middleware/",
|
||||
"packageDependencies": [
|
||||
@ -27095,48 +26779,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.3.1", {
|
||||
"packageLocation": "./.yarn/__virtual__/webpack-dev-server-virtual-05048fd4ff/0/cache/webpack-dev-server-npm-4.3.1-de78d1d07b-ce9d054c3d.zip/node_modules/webpack-dev-server/",
|
||||
"packageDependencies": [
|
||||
["webpack-dev-server", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.3.1"],
|
||||
["@types/webpack", null],
|
||||
["@types/webpack-cli", null],
|
||||
["ansi-html-community", "npm:0.0.8"],
|
||||
["bonjour", "npm:3.5.0"],
|
||||
["chokidar", "npm:3.5.2"],
|
||||
["colorette", "npm:2.0.16"],
|
||||
["compression", "npm:1.7.4"],
|
||||
["connect-history-api-fallback", "npm:1.6.0"],
|
||||
["del", "npm:6.0.0"],
|
||||
["express", "npm:4.17.1"],
|
||||
["graceful-fs", "npm:4.2.8"],
|
||||
["html-entities", "npm:2.3.2"],
|
||||
["http-proxy-middleware", "npm:2.0.1"],
|
||||
["internal-ip", "npm:6.2.0"],
|
||||
["ipaddr.js", "npm:2.0.1"],
|
||||
["open", "npm:8.4.0"],
|
||||
["p-retry", "npm:4.6.1"],
|
||||
["portfinder", "npm:1.0.28"],
|
||||
["schema-utils", "npm:3.1.1"],
|
||||
["selfsigned", "npm:1.10.11"],
|
||||
["serve-index", "npm:1.9.1"],
|
||||
["sockjs", "npm:0.3.21"],
|
||||
["spdy", "npm:4.0.2"],
|
||||
["strip-ansi", "npm:7.0.1"],
|
||||
["url", "npm:0.11.0"],
|
||||
["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.59.1"],
|
||||
["webpack-cli", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.9.1"],
|
||||
["webpack-dev-middleware", "virtual:05048fd4ff5baaedc11111d294f7f745baed2d3719a140f98172fdae30def5a186f20856b73a983079af6152e97c85b64b14ccd6b58185c50ef49726edf1c5c4#npm:5.2.1"],
|
||||
["ws", "virtual:d418aa2fd3802396a3609011c8ddf4cffd0e5efa5929deb4f0d8555ef5db38841661fb6661806d305a1a3864ea34fb6f13cc13bf523dea3c628a9df083557e85#npm:8.2.3"]
|
||||
],
|
||||
"packagePeers": [
|
||||
"@types/webpack-cli",
|
||||
"@types/webpack",
|
||||
"webpack-cli",
|
||||
"webpack"
|
||||
],
|
||||
"linkType": "HARD",
|
||||
}],
|
||||
["virtual:b53a04db2373b409d0dea1659b79650c16947c7d2b7dd5333d6e7e6bf5908028be532ed8184cb174bc43e32bc4e7857e66233e00018f041b65ac0c42636866a2#npm:4.3.1", {
|
||||
"packageLocation": "./.yarn/__virtual__/webpack-dev-server-virtual-5530fb2f78/0/cache/webpack-dev-server-npm-4.3.1-de78d1d07b-ce9d054c3d.zip/node_modules/webpack-dev-server/",
|
||||
"packageDependencies": [
|
||||
|
BIN
.yarn/cache/a-sync-waterfall-npm-1.0.1-f6b6b49568-534948b50d.zip
vendored
Normal file
BIN
.yarn/cache/a-sync-waterfall-npm-1.0.1-f6b6b49568-534948b50d.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/commander-npm-5.1.0-7e939e7832-0b7fec1712.zip
vendored
Normal file
BIN
.yarn/cache/commander-npm-5.1.0-7e939e7832-0b7fec1712.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/nunjucks-npm-3.2.3-ae8b5fd14c-9d0125acf9.zip
vendored
Normal file
BIN
.yarn/cache/nunjucks-npm-3.2.3-ae8b5fd14c-9d0125acf9.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
@ -14,17 +14,14 @@
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import createReadConfigFile from './readConfigFile.js';
|
||||
|
||||
const Block = ({ pageContext, lowdefy }) => {
|
||||
const { pageConfig } = pageContext;
|
||||
const Comp = lowdefy.Components[pageConfig.type];
|
||||
return (
|
||||
<>
|
||||
<div>{JSON.stringify(pageConfig)}</div>
|
||||
<Comp properties={pageConfig.properties} />
|
||||
</>
|
||||
);
|
||||
};
|
||||
async function createApiContext({ buildDirectory }) {
|
||||
const readConfigFile = createReadConfigFile({ buildDirectory });
|
||||
return {
|
||||
authorize: () => true,
|
||||
readConfigFile,
|
||||
};
|
||||
}
|
||||
|
||||
export default Block;
|
||||
export default createApiContext;
|
@ -15,7 +15,8 @@
|
||||
*/
|
||||
|
||||
import path from 'path';
|
||||
import { cachedPromises, getFileExtension, readFile } from '@lowdefy/node-utils';
|
||||
import { cachedPromises } from '@lowdefy/helpers';
|
||||
import { getFileExtension, readFile } from '@lowdefy/node-utils';
|
||||
|
||||
function createReadConfigFile({ buildDirectory }) {
|
||||
async function readConfigFile(filePath) {
|
||||
|
@ -14,6 +14,7 @@
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import createApiContext from './context/createApiContext.js';
|
||||
import createContext from './context/createContext.js';
|
||||
import getHomePageId from './routes/rootConfig/getHomePageId.js';
|
||||
import getPageConfig from './routes/page/getPageConfig.js';
|
||||
@ -32,8 +33,7 @@ import {
|
||||
} from './context/errors.js';
|
||||
|
||||
export {
|
||||
AuthenticationError,
|
||||
ConfigurationError,
|
||||
createApiContext,
|
||||
createContext,
|
||||
getHomePageId,
|
||||
getPageConfig,
|
||||
@ -41,8 +41,10 @@ export {
|
||||
openIdCallback,
|
||||
openIdLogoutUrl,
|
||||
request,
|
||||
RequestError,
|
||||
rootConfig,
|
||||
AuthenticationError,
|
||||
ConfigurationError,
|
||||
RequestError,
|
||||
ServerError,
|
||||
TokenExpiredError,
|
||||
};
|
||||
|
@ -26,7 +26,10 @@
|
||||
"url": "https://github.com/lowdefy/lowdefy.git"
|
||||
},
|
||||
"type": "module",
|
||||
"exports": "./dist/index.js",
|
||||
"exports": {
|
||||
".": "./dist/index.js",
|
||||
"./blocks/*": "./dist/blocks/*"
|
||||
},
|
||||
"files": [
|
||||
"dist/*"
|
||||
],
|
||||
|
@ -15,7 +15,8 @@
|
||||
*/
|
||||
|
||||
import path from 'path';
|
||||
import { cachedPromises, readFile } from '@lowdefy/node-utils';
|
||||
import { cachedPromises } from '@lowdefy/helpers';
|
||||
import { readFile } from '@lowdefy/node-utils';
|
||||
|
||||
function createReadConfigFile({ configDirectory }) {
|
||||
async function readConfigFile(filePath) {
|
||||
|
@ -20,10 +20,8 @@ import { readFile } from '@lowdefy/node-utils';
|
||||
import createReadConfigFile from './readConfigFile.js';
|
||||
|
||||
jest.mock('@lowdefy/node-utils', () => {
|
||||
const originalModule = jest.requireActual('@lowdefy/node-utils');
|
||||
return {
|
||||
readFile: jest.fn(),
|
||||
cachedPromises: originalModule.cachedPromises,
|
||||
};
|
||||
});
|
||||
|
||||
|
@ -133,7 +133,7 @@ class Actions {
|
||||
index,
|
||||
};
|
||||
}
|
||||
const { output: parsedAction, errors: parserErrors } = this.context.parser.parse({
|
||||
const { output: parsedAction, errors: parserErrors } = this.context._internal.parser.parse({
|
||||
actions: responses,
|
||||
event,
|
||||
arrayIndices,
|
||||
@ -164,7 +164,7 @@ class Actions {
|
||||
});
|
||||
} catch (error) {
|
||||
responses[action.id] = { error, index, type: action.type };
|
||||
const { output: parsedMessages, errors: parserErrors } = this.context.parser.parse({
|
||||
const { output: parsedMessages, errors: parserErrors } = this.context._internal.parser.parse({
|
||||
actions: responses,
|
||||
event,
|
||||
arrayIndices,
|
||||
@ -201,7 +201,7 @@ class Actions {
|
||||
displayMessage({ defaultMessage, duration, hideExplicitly, message, status }) {
|
||||
let close = () => undefined;
|
||||
if ((hideExplicitly && message !== false) || (!hideExplicitly && !type.isNone(message))) {
|
||||
close = this.context.lowdefy.displayMessage({
|
||||
close = this.context._internal.lowdefy.displayMessage({
|
||||
content: type.isString(message) ? message : defaultMessage,
|
||||
duration,
|
||||
status,
|
||||
|
@ -70,7 +70,7 @@ class Blocks {
|
||||
block.id = this.generateBlockId(block.blockIdPattern);
|
||||
block.fieldPattern = block.field;
|
||||
block.blockId = applyArrayIndices(this.arrayIndices, block.blockIdPattern);
|
||||
this.context.RootBlocks.map[block.blockId] = block;
|
||||
this.context._internal.RootBlocks.map[block.blockId] = block;
|
||||
block.field = !type.isNone(block.fieldPattern)
|
||||
? applyArrayIndices(this.arrayIndices, block.fieldPattern)
|
||||
: block.blockId;
|
||||
@ -127,11 +127,11 @@ class Blocks {
|
||||
this.subBlocks[block.id].unshift(
|
||||
this.newBlocks({ arrayIndices: this.arrayIndices.concat([0]), block, initState: {} })
|
||||
);
|
||||
this.context.State.set(block.field, undefined);
|
||||
this.context._internal.State.set(block.field, undefined);
|
||||
// set block and subBlock values undefined, so as not to pass values to new blocks
|
||||
this.subBlocks[block.id][0].recSetUndefined();
|
||||
block.update = true;
|
||||
this.context.update();
|
||||
this.context._internal.update();
|
||||
};
|
||||
|
||||
block.pushItem = () => {
|
||||
@ -143,11 +143,11 @@ class Blocks {
|
||||
})
|
||||
);
|
||||
block.update = true;
|
||||
this.context.update();
|
||||
this.context._internal.update();
|
||||
};
|
||||
|
||||
block.removeItem = (index) => {
|
||||
this.context.State.removeItem(block.blockId, index);
|
||||
this.context._internal.State.removeItem(block.blockId, index);
|
||||
const lastBlock = this.subBlocks[block.id][this.subBlocks[block.id].length - 1];
|
||||
lastBlock.recRemoveBlocksFromMap();
|
||||
const largerBlocks = this.subBlocks[block.id].slice(index + 1);
|
||||
@ -160,12 +160,12 @@ class Blocks {
|
||||
this.subBlocks[block.id].splice(index, 1);
|
||||
|
||||
block.update = true;
|
||||
this.context.update();
|
||||
this.context._internal.update();
|
||||
};
|
||||
|
||||
block.moveItemUp = (index) => {
|
||||
if (index === 0) return;
|
||||
this.context.State.swapItems(block.blockId, index - 1, index);
|
||||
this.context._internal.State.swapItems(block.blockId, index - 1, index);
|
||||
this.subBlocks[block.id][index - 1].recUpdateArrayIndices(
|
||||
this.arrayIndices.concat([index - 1]),
|
||||
this.arrayIndices.concat([index])
|
||||
@ -176,12 +176,12 @@ class Blocks {
|
||||
);
|
||||
swap(this.subBlocks[block.id], index - 1, index);
|
||||
block.update = true;
|
||||
this.context.update();
|
||||
this.context._internal.update();
|
||||
};
|
||||
|
||||
block.moveItemDown = (index) => {
|
||||
if (index === this.subBlocks[block.id].length - 1) return;
|
||||
this.context.State.swapItems(block.blockId, index, index + 1);
|
||||
this.context._internal.State.swapItems(block.blockId, index, index + 1);
|
||||
this.subBlocks[block.id][index + 1].recUpdateArrayIndices(
|
||||
this.arrayIndices.concat([index + 1]),
|
||||
this.arrayIndices.concat([index])
|
||||
@ -192,16 +192,16 @@ class Blocks {
|
||||
);
|
||||
swap(this.subBlocks[block.id], index, index + 1);
|
||||
block.update = true;
|
||||
this.context.update();
|
||||
this.context._internal.update();
|
||||
};
|
||||
}
|
||||
if (get(block, 'meta.category') === 'input') {
|
||||
block.setValue = (value) => {
|
||||
block.value = type.enforceType(block.meta.valueType, value);
|
||||
|
||||
this.context.State.set(block.field, block.value);
|
||||
this.context._internal.State.set(block.field, block.value);
|
||||
block.update = true;
|
||||
this.context.update();
|
||||
this.context._internal.update();
|
||||
};
|
||||
}
|
||||
|
||||
@ -228,7 +228,7 @@ class Blocks {
|
||||
blockValue = type.isUndefined(block.meta.initValue)
|
||||
? type.enforceType(block.meta.valueType, null)
|
||||
: block.meta.initValue;
|
||||
this.context.State.set(block.field, block.value);
|
||||
this.context._internal.State.set(block.field, block.value);
|
||||
}
|
||||
if (get(block, 'meta.category') === 'list') {
|
||||
// load list value into list blocks
|
||||
@ -302,7 +302,7 @@ class Blocks {
|
||||
if (visibleParent === false) {
|
||||
block.visibleEval.output = false;
|
||||
} else {
|
||||
block.visibleEval = this.context.parser.parse({
|
||||
block.visibleEval = this.context._internal.parser.parse({
|
||||
input: block.visible,
|
||||
location: block.blockId,
|
||||
arrayIndices: this.arrayIndices,
|
||||
@ -313,12 +313,12 @@ class Blocks {
|
||||
}
|
||||
// only evaluate visible blocks
|
||||
if (block.visibleEval.output !== false) {
|
||||
block.propertiesEval = this.context.parser.parse({
|
||||
block.propertiesEval = this.context._internal.parser.parse({
|
||||
input: block.properties,
|
||||
location: block.blockId,
|
||||
arrayIndices: this.arrayIndices,
|
||||
});
|
||||
block.requiredEval = this.context.parser.parse({
|
||||
block.requiredEval = this.context._internal.parser.parse({
|
||||
input: block.required,
|
||||
location: block.blockId,
|
||||
arrayIndices: this.arrayIndices,
|
||||
@ -343,7 +343,7 @@ class Blocks {
|
||||
let validationError = false;
|
||||
let validationWarning = false;
|
||||
validation.forEach((test) => {
|
||||
const parsed = this.context.parser.parse({
|
||||
const parsed = this.context._internal.parser.parse({
|
||||
input: test,
|
||||
location: block.blockId,
|
||||
arrayIndices: this.arrayIndices,
|
||||
@ -378,17 +378,17 @@ class Blocks {
|
||||
block.validationEval.output.status = 'error';
|
||||
}
|
||||
|
||||
block.styleEval = this.context.parser.parse({
|
||||
block.styleEval = this.context._internal.parser.parse({
|
||||
input: block.style,
|
||||
location: block.blockId,
|
||||
arrayIndices: this.arrayIndices,
|
||||
});
|
||||
block.layoutEval = this.context.parser.parse({
|
||||
block.layoutEval = this.context._internal.parser.parse({
|
||||
input: block.layout,
|
||||
location: block.blockId,
|
||||
arrayIndices: this.arrayIndices,
|
||||
});
|
||||
block.areasLayoutEval = this.context.parser.parse({
|
||||
block.areasLayoutEval = this.context._internal.parser.parse({
|
||||
input: block.areasLayout,
|
||||
location: block.blockId,
|
||||
arrayIndices: this.arrayIndices,
|
||||
@ -422,11 +422,14 @@ class Blocks {
|
||||
});
|
||||
} else {
|
||||
toSet.add(block.field);
|
||||
this.context.State.set(block.field, type.enforceType(block.meta.valueType, null));
|
||||
this.context._internal.State.set(
|
||||
block.field,
|
||||
type.enforceType(block.meta.valueType, null)
|
||||
);
|
||||
}
|
||||
} else if (get(block, 'meta.category') === 'input') {
|
||||
toSet.add(block.field);
|
||||
this.context.State.set(block.field, block.value);
|
||||
this.context._internal.State.set(block.field, block.value);
|
||||
}
|
||||
} else if (get(block, 'meta.category') === 'container') {
|
||||
this.subBlocks[block.id].forEach((blockClass) => {
|
||||
@ -438,7 +441,7 @@ class Blocks {
|
||||
});
|
||||
toDelete.forEach((field) => {
|
||||
if (!toSet.has(field)) {
|
||||
this.context.State.del(field);
|
||||
this.context._internal.State.del(field);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -471,7 +474,7 @@ class Blocks {
|
||||
});
|
||||
this.loopBlocks((block) => {
|
||||
block.blockId = applyArrayIndices(this.arrayIndices, block.blockIdPattern);
|
||||
this.context.RootBlocks.map[block.blockId] = block;
|
||||
this.context._internal.RootBlocks.map[block.blockId] = block;
|
||||
block.field = !type.isNone(block.fieldPattern)
|
||||
? applyArrayIndices(this.arrayIndices, block.fieldPattern)
|
||||
: block.blockId;
|
||||
@ -510,7 +513,7 @@ class Blocks {
|
||||
|
||||
recSetUndefined() {
|
||||
this.loopBlocks((block) => {
|
||||
this.context.State.set(block.field, undefined);
|
||||
this.context._internal.State.set(block.field, undefined);
|
||||
});
|
||||
Object.keys(this.subBlocks).forEach((subKey) => {
|
||||
this.subBlocks[subKey].forEach((subBlock) => {
|
||||
@ -521,7 +524,7 @@ class Blocks {
|
||||
|
||||
recRemoveBlocksFromMap() {
|
||||
this.loopBlocks((block) => {
|
||||
delete this.context.RootBlocks.map[block.blockId];
|
||||
delete this.context._internal.RootBlocks.map[block.blockId];
|
||||
});
|
||||
Object.keys(this.subBlocks).forEach((subKey) => {
|
||||
this.subBlocks[subKey].forEach((subBlock) => {
|
||||
@ -584,7 +587,7 @@ class Blocks {
|
||||
value: type.isNone(block.value) ? null : block.value,
|
||||
visible: block.visibleEval.output,
|
||||
};
|
||||
this.context.lowdefy.updateBlock(block.id);
|
||||
this.context._internal.lowdefy._internal.updateBlock(block.id);
|
||||
}
|
||||
});
|
||||
Object.keys(this.subBlocks).forEach((subKey) => {
|
||||
@ -603,7 +606,7 @@ class Blocks {
|
||||
false
|
||||
);
|
||||
if (block.loading_prev !== block.loading) {
|
||||
this.context.lowdefy.updateBlock(block.id);
|
||||
this.context._internal.lowdefy._internal.updateBlock(block.id);
|
||||
}
|
||||
});
|
||||
Object.keys(this.subBlocks).forEach((subKey) => {
|
||||
@ -614,7 +617,8 @@ class Blocks {
|
||||
}
|
||||
|
||||
generateBlockId(blockIdPattern) {
|
||||
return `${this.context.pageId}:${blockIdPattern}:${Math.random()
|
||||
// TODO: is rootId correct?
|
||||
return `${this.context.rootId}:${blockIdPattern}:${Math.random()
|
||||
.toString(36)
|
||||
.replace(/[^a-z]+/g, '')
|
||||
.substr(0, 5)}`;
|
||||
|
@ -71,10 +71,10 @@ class Events {
|
||||
}
|
||||
eventDescription.loading = true;
|
||||
this.block.update = true;
|
||||
this.context.update();
|
||||
this.context._internal.update();
|
||||
|
||||
const actionHandle = async () => {
|
||||
const res = await this.context.Actions.callActions({
|
||||
const res = await this.context._internal.Actions.callActions({
|
||||
actions: eventDescription.actions,
|
||||
arrayIndices: this.arrayIndices,
|
||||
block: this.block,
|
||||
@ -86,7 +86,7 @@ class Events {
|
||||
this.context.eventLog.unshift(res);
|
||||
eventDescription.loading = false;
|
||||
this.block.update = true;
|
||||
this.context.update();
|
||||
this.context._internal.update();
|
||||
return res;
|
||||
};
|
||||
|
||||
|
@ -25,7 +25,7 @@ class Requests {
|
||||
|
||||
this.requestConfig = {};
|
||||
|
||||
(this.context.rootBlock.requests || []).forEach((request) => {
|
||||
(this.context._internal.rootBlock.requests || []).forEach((request) => {
|
||||
this.requestConfig[request.requestId] = request;
|
||||
});
|
||||
}
|
||||
@ -92,7 +92,8 @@ class Requests {
|
||||
|
||||
try {
|
||||
const response = await this.context.lowdefy.callRequest({
|
||||
pageId: this.context.pageId,
|
||||
// TODO:
|
||||
pageId: this.context.rootId,
|
||||
payload: serializer.serialize(payload),
|
||||
requestId,
|
||||
});
|
||||
|
@ -59,51 +59,54 @@ const blockData = ({
|
||||
visible,
|
||||
});
|
||||
|
||||
const getContext = async ({ page, lowdefy }) => {
|
||||
if (!page) {
|
||||
async function getContext({ config, lowdefy }) {
|
||||
if (!config) {
|
||||
throw new Error('A page must be provided to get context.');
|
||||
}
|
||||
const { pageId } = page;
|
||||
if (lowdefy.contexts[pageId]) {
|
||||
lowdefy.contexts[pageId].update();
|
||||
return lowdefy.contexts[pageId];
|
||||
const { id } = config;
|
||||
if (lowdefy.contexts[id]) {
|
||||
lowdefy.contexts[id]._internal.update();
|
||||
return lowdefy.contexts[id];
|
||||
}
|
||||
|
||||
if (!lowdefy.inputs[pageId]) {
|
||||
lowdefy.inputs[pageId] = {};
|
||||
if (!lowdefy.inputs[id]) {
|
||||
lowdefy.inputs[id] = {};
|
||||
}
|
||||
const operatorsSet = new Set([...page.operators, '_not', '_type']);
|
||||
lowdefy.contexts[pageId] = {
|
||||
id: pageId,
|
||||
pageId: pageId,
|
||||
const operatorsSet = new Set([...config.operators, '_not', '_type']);
|
||||
const ctx = {
|
||||
id: id,
|
||||
// TODO: What about app object?
|
||||
rootId: config.pageId,
|
||||
eventLog: [],
|
||||
requests: {},
|
||||
operators: [...operatorsSet],
|
||||
lowdefy,
|
||||
rootBlock: blockData(page), // filter block to prevent circular structure
|
||||
state: {},
|
||||
update: () => {}, // Initialize update since Requests might call it during context creation
|
||||
_internal: {
|
||||
lowdefy,
|
||||
operators: [...operatorsSet],
|
||||
rootBlock: blockData(config), // filter block to prevent circular structure
|
||||
update: () => {}, // Initialize update since Requests might call it during context creation
|
||||
},
|
||||
};
|
||||
const ctx = lowdefy.contexts[pageId];
|
||||
ctx.parser = new WebParser({ context: ctx });
|
||||
await ctx.parser.init();
|
||||
ctx.State = new State(ctx);
|
||||
ctx.Actions = new Actions(ctx);
|
||||
ctx.Requests = new Requests(ctx);
|
||||
// TODO: Remove "areas: { root: { blocks: [ctx.rootBlock] } },"
|
||||
ctx.RootBlocks = new Blocks({
|
||||
areas: { root: { blocks: [ctx.rootBlock] } },
|
||||
const _internal = ctx._internal;
|
||||
_internal.parser = new WebParser({ context: ctx });
|
||||
await _internal.parser.init();
|
||||
_internal.State = new State(ctx);
|
||||
_internal.Actions = new Actions(ctx);
|
||||
_internal.Requests = new Requests(ctx);
|
||||
_internal.RootBlocks = new Blocks({
|
||||
areas: { root: { blocks: [_internal.rootBlock] } },
|
||||
context: ctx,
|
||||
});
|
||||
ctx.RootBlocks.init();
|
||||
ctx.update = () => {
|
||||
ctx.RootBlocks.update();
|
||||
_internal.RootBlocks.init();
|
||||
_internal.update = () => {
|
||||
_internal.RootBlocks.update();
|
||||
};
|
||||
await ctx.RootBlocks.map[ctx.pageId].triggerEvent({ name: 'onInit' });
|
||||
ctx.update();
|
||||
ctx.State.freezeState();
|
||||
ctx.RootBlocks.map[ctx.pageId].triggerEvent({ name: 'onInitAsync' });
|
||||
await _internal.RootBlocks.map[ctx.rootId].triggerEvent({ name: 'onInit' });
|
||||
_internal.update();
|
||||
_internal.State.freezeState();
|
||||
_internal.RootBlocks.map[ctx.rootId].triggerEvent({ name: 'onInitAsync' });
|
||||
lowdefy.contexts[id] = ctx;
|
||||
return ctx;
|
||||
};
|
||||
}
|
||||
|
||||
export default getContext;
|
||||
|
@ -15,6 +15,7 @@
|
||||
*/
|
||||
|
||||
import applyArrayIndices from './applyArrayIndices.js';
|
||||
import cachedPromises from './cachedPromises.js';
|
||||
import get from './get.js';
|
||||
import mergeObjects from './mergeObjects.js';
|
||||
import omit from './omit.js';
|
||||
@ -28,6 +29,7 @@ import urlQuery from './urlQuery.js';
|
||||
|
||||
export {
|
||||
applyArrayIndices,
|
||||
cachedPromises,
|
||||
get,
|
||||
mergeObjects,
|
||||
omit,
|
||||
|
@ -25,15 +25,19 @@
|
||||
"type": "git",
|
||||
"url": "https://github.com/lowdefy/lowdefy.git"
|
||||
},
|
||||
"main": "dist/index.js",
|
||||
"type": "module",
|
||||
"exports": {
|
||||
".": "./dist/index.js"
|
||||
},
|
||||
"files": [
|
||||
"dist/*"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "babel src --out-dir dist",
|
||||
"build": "yarn swc",
|
||||
"clean": "rm -rf dist",
|
||||
"prepare": "yarn build",
|
||||
"start": "webpack serve",
|
||||
"swc": "swc src --out-dir dist --config-file ../../.swcrc --delete-dir-on-start --copy-files",
|
||||
"test": "jest --coverage"
|
||||
},
|
||||
"dependencies": {
|
||||
@ -44,32 +48,18 @@
|
||||
"react-dom": "18.0.0-alpha-327d5c484-20211106"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "7.15.7",
|
||||
"@babel/core": "7.15.8",
|
||||
"@babel/preset-env": "7.15.8",
|
||||
"@babel/preset-react": "7.14.5",
|
||||
"@babel/preset-react": "7.16.0",
|
||||
"@emotion/jest": "11.5.0",
|
||||
"@lowdefy/block-dev": "3.22.0",
|
||||
"@swc/cli": "0.1.51",
|
||||
"@swc/core": "1.2.107",
|
||||
"@swc/jest": "0.2.5",
|
||||
"@testing-library/dom": "8.10.1",
|
||||
"@testing-library/react": "12.1.2",
|
||||
"babel-jest": "27.3.1",
|
||||
"babel-loader": "8.2.3",
|
||||
"babel-plugin-import": "1.13.3",
|
||||
"clean-webpack-plugin": "4.0.0",
|
||||
"css-loader": "6.4.0",
|
||||
"html-webpack-plugin": "5.4.0",
|
||||
"@testing-library/user-event": "13.5.0",
|
||||
"jest": "27.3.1",
|
||||
"jest-serializer-html": "7.1.0",
|
||||
"jest-transform-yaml": "0.1.2",
|
||||
"js-yaml": "4.1.0",
|
||||
"less": "4.1.2",
|
||||
"less-loader": "10.2.0",
|
||||
"process": "0.11.10",
|
||||
"react-markdown": "5.0.3",
|
||||
"react-syntax-highlight": "15.3.1",
|
||||
"style-loader": "3.3.1",
|
||||
"webpack": "5.59.1",
|
||||
"webpack-cli": "4.9.1",
|
||||
"webpack-dev-server": "4.3.1",
|
||||
"yaml-loader": "0.6.0"
|
||||
"jest-transform-yaml": "0.1.2"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
@ -26,7 +26,10 @@
|
||||
"url": "https://github.com/lowdefy/lowdefy.git"
|
||||
},
|
||||
"type": "module",
|
||||
"exports": "./dist/index.js",
|
||||
"exports": {
|
||||
".": "./dist/index.js",
|
||||
"./*": "./dist/*"
|
||||
},
|
||||
"files": [
|
||||
"dist/*"
|
||||
],
|
||||
|
@ -14,7 +14,6 @@
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import cachedPromises from './cachedPromises.js';
|
||||
import cleanDirectory from './cleanDirectory.js';
|
||||
import getConfigFromEnv from './getConfigFromEnv.js';
|
||||
import getFileExtension, { getFileSubExtension } from './getFileExtension.js';
|
||||
@ -23,7 +22,6 @@ import readFile from './readFile.js';
|
||||
import writeFile from './writeFile.js';
|
||||
|
||||
export {
|
||||
cachedPromises,
|
||||
cleanDirectory,
|
||||
getConfigFromEnv,
|
||||
getFileExtension,
|
||||
|
@ -41,8 +41,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@lowdefy/helpers": "3.22.0",
|
||||
"chokidar": "3.5.2",
|
||||
"moment": "2.29.1"
|
||||
"moment": "2.29.1",
|
||||
"nunjucks": "3.2.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@swc/cli": "0.1.51",
|
||||
|
@ -32,16 +32,16 @@ class WebParser {
|
||||
}
|
||||
|
||||
async init() {
|
||||
if (!type.isObject(this.context.lowdefy)) {
|
||||
throw new Error('context.lowdefy must be an object.');
|
||||
if (!type.isObject(this.context._internal.lowdefy)) {
|
||||
throw new Error('context._internal.lowdefy must be an object.');
|
||||
}
|
||||
if (!type.isArray(this.context.operators)) {
|
||||
throw new Error('context.operators must be an array.');
|
||||
if (!type.isArray(this.context._internal.operators)) {
|
||||
throw new Error('context._internal.operators must be an array.');
|
||||
}
|
||||
const operators = this.operators;
|
||||
const operations = this.operations;
|
||||
await Promise.all(
|
||||
this.context.operators.map(async (operator) => {
|
||||
this.context._internal.operators.map(async (operator) => {
|
||||
if (operators[operator]) {
|
||||
const fn = await import(`./${operators[operator]}.js`);
|
||||
operations[operator] = fn.default;
|
||||
@ -70,7 +70,7 @@ class WebParser {
|
||||
throw new Error('Operator parser location must be a string.');
|
||||
}
|
||||
const errors = [];
|
||||
const { inputs, lowdefyGlobal, menus, urlQuery, user } = context.lowdefy;
|
||||
const { inputs, lowdefyGlobal, menus, urlQuery, user } = context._internal.lowdefy;
|
||||
const reviver = (_, value) => {
|
||||
if (type.isObject(value) && Object.keys(value).length === 1) {
|
||||
const key = Object.keys(value)[0];
|
||||
|
@ -14,6 +14,20 @@ const lessConfig = withLess({
|
||||
module.exports = {
|
||||
...lessConfig,
|
||||
reactStrictMode: true,
|
||||
webpack: (config, { isServer }) => {
|
||||
if (!isServer) {
|
||||
config.resolve.fallback = {
|
||||
buffer: false,
|
||||
crypto: false,
|
||||
events: false,
|
||||
fs: false,
|
||||
path: false,
|
||||
process: false,
|
||||
util: false,
|
||||
};
|
||||
}
|
||||
return config;
|
||||
},
|
||||
// productionBrowserSourceMaps: true
|
||||
// experimental: {
|
||||
// concurrentFeatures: true,
|
||||
|
@ -37,8 +37,12 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@lowdefy/api": "3.22.0",
|
||||
"@lowdefy/block-utils": "3.22.0",
|
||||
"@lowdefy/blocks-antd": "3.22.0",
|
||||
"@lowdefy/blocks-basic": "3.22.0",
|
||||
"@lowdefy/engine": "3.22.0",
|
||||
"@lowdefy/helpers": "3.22.0",
|
||||
"@lowdefy/node-utils": "3.22.0",
|
||||
"@lowdefy/layout": "3.22.0",
|
||||
"next": "12.0.3",
|
||||
"next-auth": "4.0.0-beta.6",
|
||||
"react": "18.0.0-alpha-327d5c484-20211106",
|
||||
|
@ -1,32 +0,0 @@
|
||||
/*
|
||||
Copyright 2020-2021 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
/* eslint-disable import/no-unresolved */
|
||||
import dynamic from 'next/dynamic';
|
||||
|
||||
// import Button from '@lowdefy/blocks-antd/blocks/Button/Button.js';
|
||||
|
||||
// // ------------- GENERATED AT BUILD -------------
|
||||
const Blocks = {
|
||||
// Button,
|
||||
// Label: dynamic(() => import('@lowdefy/blocks-antd/blocks/Label/Label.js'), { suspense: true }),
|
||||
// TextInput: dynamic(() => import('@lowdefy/blocks-antd/blocks/TextInput/TextInput.js'), {
|
||||
// suspense: true,
|
||||
// }),
|
||||
// Icon: dynamic(() => import('@lowdefy/blocks-antd/blocks/Icon/Icon.js'), { suspense: true }),
|
||||
};
|
||||
|
||||
export default Blocks;
|
@ -14,14 +14,13 @@
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import { useEffect, useState } from 'react';
|
||||
// import getContext from '@lowdefy/engine';
|
||||
import getPageContext from './getPageContext.js';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import getContext from '@lowdefy/engine';
|
||||
|
||||
// import MountEvents from './MountEvents';
|
||||
const LoadingBlock = () => <div>Loading...</div>;
|
||||
|
||||
const Context = ({ children, lowdefy, pageConfig }) => {
|
||||
const Context = ({ children, lowdefy, config }) => {
|
||||
const [context, setContext] = useState({});
|
||||
const [error, setError] = useState(null);
|
||||
|
||||
@ -29,15 +28,14 @@ const Context = ({ children, lowdefy, pageConfig }) => {
|
||||
let mounted = true;
|
||||
const mount = async () => {
|
||||
try {
|
||||
const ctx = await getPageContext({
|
||||
pageConfig,
|
||||
const ctx = await getContext({
|
||||
config,
|
||||
lowdefy,
|
||||
});
|
||||
if (mounted) {
|
||||
setContext(ctx);
|
||||
}
|
||||
} catch (err) {
|
||||
// ??
|
||||
setError(err);
|
||||
}
|
||||
};
|
||||
@ -45,12 +43,10 @@ const Context = ({ children, lowdefy, pageConfig }) => {
|
||||
return () => {
|
||||
mounted = false;
|
||||
};
|
||||
}, [pageConfig, lowdefy]);
|
||||
}, [config, lowdefy]);
|
||||
|
||||
// ??
|
||||
if (error) throw error;
|
||||
|
||||
if (context.id !== pageConfig.pageId) return <LoadingBlock />;
|
||||
if (context.id !== config.id) return <LoadingBlock />;
|
||||
|
||||
return children(context);
|
||||
|
@ -14,19 +14,22 @@
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// import dynamic from 'next/dynamic';
|
||||
import React from 'react';
|
||||
|
||||
import { useSession } from 'next-auth/react';
|
||||
import Components from './Blocks.js';
|
||||
import blockComponents from '../plugins/blocks.js';
|
||||
|
||||
const LowdefyContext = ({ children }) => {
|
||||
const { data: session } = useSession();
|
||||
console.log(session);
|
||||
const lowdefy = {
|
||||
Components,
|
||||
pages: {},
|
||||
updaters: {},
|
||||
_internal: {
|
||||
blockComponents,
|
||||
updaters: {},
|
||||
},
|
||||
contexts: {},
|
||||
inputs: {},
|
||||
lowdefyGlobal: {},
|
||||
};
|
||||
lowdefy._internal.updateBlock = (blockId) =>
|
||||
lowdefy._internal.updaters[blockId] && lowdefy._internal.updaters[blockId]();
|
||||
return <>{children(lowdefy)}</>;
|
||||
};
|
||||
|
||||
|
@ -15,14 +15,21 @@
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import PageContext from './PageContext.js';
|
||||
import Block from './Block.js';
|
||||
import Context from './Context.js';
|
||||
import Block from './block/Block.js';
|
||||
|
||||
const Page = ({ lowdefy, pageConfig }) => {
|
||||
return (
|
||||
<PageContext pageConfig={pageConfig} lowdefy={lowdefy}>
|
||||
{(pageContext) => <Block pageContext={pageContext} lowdefy={lowdefy} />}
|
||||
</PageContext>
|
||||
<Context config={pageConfig} lowdefy={lowdefy}>
|
||||
{(context) => (
|
||||
<Block
|
||||
block={context._internal.RootBlocks.map['home']}
|
||||
Blocks={context._internal.RootBlocks}
|
||||
context={context}
|
||||
lowdefy={lowdefy}
|
||||
/>
|
||||
)}
|
||||
</Context>
|
||||
);
|
||||
};
|
||||
|
||||
|
57
packages/server/src/components/block/Block.js
Normal file
57
packages/server/src/components/block/Block.js
Normal file
@ -0,0 +1,57 @@
|
||||
/*
|
||||
Copyright 2020-2021 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React, { Suspense, useState } from 'react';
|
||||
|
||||
import { ErrorBoundary } from '@lowdefy/block-utils';
|
||||
|
||||
import CategorySwitch from './CategorySwitch.js';
|
||||
import LoadingBlock from './LoadingBlock.js';
|
||||
import MountEvents from './MountEvents.js';
|
||||
|
||||
const Block = ({ block, Blocks, context, isRoot, lowdefy }) => {
|
||||
const [updates, setUpdate] = useState(0);
|
||||
lowdefy._internal.updaters[block.id] = () => setUpdate(updates + 1);
|
||||
return (
|
||||
<ErrorBoundary>
|
||||
<Suspense fallback={<LoadingBlock block={block} lowdefy={lowdefy} />}>
|
||||
<MountEvents
|
||||
asyncEventName="onMountAsync"
|
||||
context={context}
|
||||
eventName="onMount"
|
||||
triggerEvent={block.triggerEvent}
|
||||
>
|
||||
{(loaded) =>
|
||||
!loaded ? (
|
||||
<LoadingBlock block={block} lowdefy={lowdefy} />
|
||||
) : (
|
||||
<CategorySwitch
|
||||
block={block}
|
||||
Blocks={Blocks}
|
||||
context={context}
|
||||
isRoot={isRoot}
|
||||
lowdefy={lowdefy}
|
||||
updates={updates}
|
||||
/>
|
||||
)
|
||||
}
|
||||
</MountEvents>
|
||||
</Suspense>
|
||||
</ErrorBoundary>
|
||||
);
|
||||
};
|
||||
|
||||
export default Block;
|
118
packages/server/src/components/block/CategorySwitch.js
Normal file
118
packages/server/src/components/block/CategorySwitch.js
Normal file
@ -0,0 +1,118 @@
|
||||
/*
|
||||
Copyright 2020-2021 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { BlockLayout } from '@lowdefy/layout';
|
||||
import { makeCssClass } from '@lowdefy/block-utils';
|
||||
|
||||
import Container from './Container.js';
|
||||
import List from './List.js';
|
||||
|
||||
const CategorySwitch = ({ block, Blocks, context, lowdefy }) => {
|
||||
if (!block.eval) return null; // Renderer updates before eval is executed for the first time on lists. See #520
|
||||
if (block.eval.visible === false)
|
||||
return <div id={`vs-${block.blockId}`} style={{ display: 'none' }} />;
|
||||
const Component = lowdefy._internal.blockComponents[block.type];
|
||||
switch (block.meta.category) {
|
||||
case 'list':
|
||||
return (
|
||||
<List
|
||||
block={block}
|
||||
Blocks={Blocks}
|
||||
Component={Component}
|
||||
context={context}
|
||||
lowdefy={lowdefy}
|
||||
/>
|
||||
);
|
||||
case 'container':
|
||||
return (
|
||||
<Container
|
||||
block={block}
|
||||
Blocks={Blocks}
|
||||
Component={Component}
|
||||
context={context}
|
||||
lowdefy={lowdefy}
|
||||
/>
|
||||
);
|
||||
case 'input':
|
||||
return (
|
||||
<BlockLayout
|
||||
id={`bl-${block.blockId}`}
|
||||
blockStyle={block.eval.style}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
layout={block.eval.layout || {}}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
<Component
|
||||
methods={Object.assign(block.methods, {
|
||||
makeCssClass,
|
||||
registerEvent: block.registerEvent,
|
||||
registerMethod: block.registerMethod,
|
||||
setValue: block.setValue,
|
||||
triggerEvent: block.triggerEvent,
|
||||
})}
|
||||
// TODO: React throws a basePath warning
|
||||
basePath={lowdefy.basePath}
|
||||
blockId={block.blockId}
|
||||
events={block.eval.events}
|
||||
homePageId={lowdefy.homePageId}
|
||||
key={block.blockId}
|
||||
loading={block.loading}
|
||||
menus={lowdefy.menus}
|
||||
pageId={lowdefy.pageId}
|
||||
properties={block.eval.properties}
|
||||
required={block.eval.required}
|
||||
user={lowdefy.user}
|
||||
validation={block.eval.validation}
|
||||
value={block.value}
|
||||
/>
|
||||
</BlockLayout>
|
||||
);
|
||||
default:
|
||||
return (
|
||||
<BlockLayout
|
||||
id={`bl-${block.blockId}`}
|
||||
blockStyle={block.eval.style}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
layout={block.eval.layout || {}}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
<Component
|
||||
methods={Object.assign(block.methods, {
|
||||
makeCssClass,
|
||||
registerEvent: block.registerEvent,
|
||||
registerMethod: block.registerMethod,
|
||||
triggerEvent: block.triggerEvent,
|
||||
})}
|
||||
basePath={lowdefy.basePath}
|
||||
blockId={block.blockId}
|
||||
events={block.eval.events}
|
||||
homePageId={lowdefy.homePageId}
|
||||
key={block.blockId}
|
||||
loading={block.loading}
|
||||
menus={lowdefy.menus}
|
||||
pageId={lowdefy.pageId}
|
||||
properties={block.eval.properties}
|
||||
required={block.eval.required}
|
||||
user={lowdefy.user}
|
||||
validation={block.eval.validation}
|
||||
/>
|
||||
</BlockLayout>
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
export default CategorySwitch;
|
86
packages/server/src/components/block/Container.js
Normal file
86
packages/server/src/components/block/Container.js
Normal file
@ -0,0 +1,86 @@
|
||||
/*
|
||||
Copyright 2020-2021 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { Area, BlockLayout, layoutParamsToArea } from '@lowdefy/layout';
|
||||
import { makeCssClass } from '@lowdefy/block-utils';
|
||||
|
||||
import Block from './Block.js';
|
||||
|
||||
const Container = ({ block, Blocks, Component, context, lowdefy }) => {
|
||||
const content = {};
|
||||
// eslint-disable-next-line prefer-destructuring
|
||||
const areas = Blocks.subBlocks[block.id][0].areas;
|
||||
Object.keys(areas).forEach((areaKey) => {
|
||||
content[areaKey] = (areaStyle) => (
|
||||
<Area
|
||||
id={`ar-${block.blockId}-${areaKey}`}
|
||||
key={`ar-${block.blockId}-${areaKey}`}
|
||||
area={layoutParamsToArea({
|
||||
area: block.eval.areas[areaKey] || {},
|
||||
areaKey,
|
||||
layout: block.eval.layout || {},
|
||||
})}
|
||||
areaStyle={[areaStyle, block.eval.areas[areaKey] && block.eval.areas[areaKey].style]}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
{areas[areaKey].blocks.map((bl) => (
|
||||
<Block
|
||||
key={`co-${bl.blockId}`}
|
||||
Blocks={Blocks.subBlocks[block.id][0]}
|
||||
block={bl}
|
||||
context={context}
|
||||
lowdefy={lowdefy}
|
||||
/>
|
||||
))}
|
||||
</Area>
|
||||
);
|
||||
});
|
||||
return (
|
||||
<BlockLayout
|
||||
id={`bl-${block.blockId}`}
|
||||
blockStyle={block.eval.style}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
layout={block.eval.layout || {}}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
<Component
|
||||
methods={Object.assign(block.methods, {
|
||||
makeCssClass,
|
||||
registerEvent: block.registerEvent,
|
||||
registerMethod: block.registerMethod,
|
||||
triggerEvent: block.triggerEvent,
|
||||
})}
|
||||
basePath={lowdefy.basePath}
|
||||
blockId={block.blockId}
|
||||
content={content}
|
||||
events={block.eval.events}
|
||||
homePageId={lowdefy.homePageId}
|
||||
key={block.blockId}
|
||||
loading={block.loading}
|
||||
menus={lowdefy.menus}
|
||||
pageId={lowdefy.pageId}
|
||||
properties={block.eval.properties}
|
||||
required={block.eval.required}
|
||||
user={lowdefy.user}
|
||||
validation={block.eval.validation}
|
||||
/>
|
||||
</BlockLayout>
|
||||
);
|
||||
};
|
||||
|
||||
export default Container;
|
93
packages/server/src/components/block/List.js
Normal file
93
packages/server/src/components/block/List.js
Normal file
@ -0,0 +1,93 @@
|
||||
/*
|
||||
Copyright 2020-2021 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { Area, BlockLayout, layoutParamsToArea } from '@lowdefy/layout';
|
||||
import { makeCssClass } from '@lowdefy/block-utils';
|
||||
|
||||
import Block from './Block.js';
|
||||
|
||||
const List = ({ block, Blocks, Component, context, lowdefy }) => {
|
||||
const content = {};
|
||||
const contentList = [];
|
||||
Blocks.subBlocks[block.id].forEach((SBlock) => {
|
||||
Object.keys(SBlock.areas).forEach((areaKey) => {
|
||||
content[areaKey] = (areaStyle) => (
|
||||
<Area
|
||||
id={`ar-${block.blockId}-${SBlock.id}-${areaKey}`}
|
||||
key={`ar-${block.blockId}-${SBlock.id}-${areaKey}`}
|
||||
area={layoutParamsToArea({
|
||||
area: block.eval.areas[areaKey] || {},
|
||||
areaKey,
|
||||
layout: block.eval.layout || {},
|
||||
})}
|
||||
areaStyle={[areaStyle, block.eval.areas[areaKey] && block.eval.areas[areaKey].style]}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
{SBlock.areas[areaKey].blocks.map((bl) => (
|
||||
<Block
|
||||
key={`ls-${bl.blockId}`}
|
||||
Blocks={SBlock}
|
||||
block={bl}
|
||||
context={context}
|
||||
lowdefy={lowdefy}
|
||||
/>
|
||||
))}
|
||||
</Area>
|
||||
);
|
||||
});
|
||||
contentList.push({ ...content });
|
||||
});
|
||||
return (
|
||||
<BlockLayout
|
||||
id={`bl-${block.blockId}`}
|
||||
blockStyle={block.eval.style}
|
||||
highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
layout={block.eval.layout || {}}
|
||||
makeCssClass={makeCssClass}
|
||||
>
|
||||
<Component
|
||||
methods={Object.assign(block.methods, {
|
||||
makeCssClass,
|
||||
moveItemDown: block.moveItemDown,
|
||||
moveItemUp: block.moveItemUp,
|
||||
pushItem: block.pushItem,
|
||||
registerEvent: block.registerEvent,
|
||||
registerMethod: block.registerMethod,
|
||||
removeItem: block.removeItem,
|
||||
triggerEvent: block.triggerEvent,
|
||||
unshiftItem: block.unshiftItem,
|
||||
})}
|
||||
basePath={lowdefy.basePath}
|
||||
blockId={block.blockId}
|
||||
events={block.eval.events}
|
||||
homePageId={lowdefy.homePageId}
|
||||
key={block.blockId}
|
||||
list={contentList}
|
||||
loading={block.loading}
|
||||
menus={lowdefy.menus}
|
||||
pageId={lowdefy.pageId}
|
||||
properties={block.eval.properties}
|
||||
required={block.eval.required}
|
||||
user={lowdefy.user}
|
||||
validation={block.eval.validation}
|
||||
/>
|
||||
</BlockLayout>
|
||||
);
|
||||
};
|
||||
|
||||
export default List;
|
22
packages/server/src/components/block/LoadingBlock.js
Normal file
22
packages/server/src/components/block/LoadingBlock.js
Normal file
@ -0,0 +1,22 @@
|
||||
import React from 'react';
|
||||
// import { Loading, makeCssClass } from '@lowdefy/block-utils';
|
||||
// import { get } from '@lowdefy/helpers';
|
||||
// import { BlockLayout } from '@lowdefy/layout';
|
||||
|
||||
const LoadingBlock = ({ block, lowdefy }) => (
|
||||
<div>LoadingBlock</div>
|
||||
// <BlockLayout
|
||||
// id={`bl-loading-${block.blockId}`}
|
||||
// blockStyle={get(block, 'eval.style') || get(block, 'meta.loading.style', { default: {} })}
|
||||
// highlightBorders={lowdefy.lowdefyGlobal.highlightBorders}
|
||||
// layout={get(block, 'eval.layout') || get(block, 'meta.loading.layout', { default: {} })}
|
||||
// makeCssClass={makeCssClass}
|
||||
// >
|
||||
// <Loading
|
||||
// properties={get(block, 'meta.loading.properties')}
|
||||
// type={get(block, 'meta.loading.type')}
|
||||
// />
|
||||
// </BlockLayout>
|
||||
);
|
||||
|
||||
export default LoadingBlock;
|
48
packages/server/src/components/block/MountEvents.js
Normal file
48
packages/server/src/components/block/MountEvents.js
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
Copyright 2020-2021 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import React, { useEffect, useState } from 'react';
|
||||
|
||||
const MountEvents = ({ asyncEventName, context, eventName, triggerEvent, children }) => {
|
||||
const [loading, setLoading] = useState(true);
|
||||
const [error, setError] = useState(null);
|
||||
useEffect(() => {
|
||||
let mounted = true;
|
||||
const mount = async () => {
|
||||
try {
|
||||
await triggerEvent({ name: eventName, context });
|
||||
if (mounted) {
|
||||
triggerEvent({ name: asyncEventName, context });
|
||||
setLoading(false);
|
||||
}
|
||||
} catch (err) {
|
||||
setError(err);
|
||||
}
|
||||
};
|
||||
mount();
|
||||
return () => {
|
||||
mounted = false;
|
||||
};
|
||||
}, [context]);
|
||||
|
||||
if (error) throw error;
|
||||
|
||||
if (loading) return <>{children(false)}</>;
|
||||
|
||||
return <>{children(true)}</>;
|
||||
};
|
||||
|
||||
export default MountEvents;
|
@ -1,36 +0,0 @@
|
||||
/*
|
||||
Copyright 2020-2021 Lowdefy, Inc
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
function getPageContext({ pageConfig, lowdefy }) {
|
||||
if (!pageConfig) {
|
||||
throw new Error('A page must be provided to get context.');
|
||||
}
|
||||
const { pageId } = pageConfig;
|
||||
if (lowdefy.pages[pageId]) {
|
||||
return lowdefy.pages[pageId];
|
||||
}
|
||||
|
||||
lowdefy.pages[pageId] = {
|
||||
id: pageId,
|
||||
pageId: pageId,
|
||||
update: () => {},
|
||||
pageConfig,
|
||||
};
|
||||
const ctx = lowdefy.pages[pageId];
|
||||
return ctx;
|
||||
}
|
||||
|
||||
export default getPageContext;
|
@ -14,14 +14,14 @@
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import getPageConfig from '@lowdefy/api/routes/page/getPageConfig.js';
|
||||
import createContext from '@lowdefy/api/context/createContext.js';
|
||||
import createApiContext from '@lowdefy/api/context/createApiContext';
|
||||
import getPageConfig from '@lowdefy/api/routes/page/getPageConfig';
|
||||
|
||||
import Page from '../components/Page.js';
|
||||
|
||||
export async function getServerSideProps(context) {
|
||||
const { pageId } = context.params;
|
||||
const apiContext = await createContext({});
|
||||
const apiContext = await createApiContext({ buildDirectory: './.lowdefy/build' });
|
||||
const pageConfig = await getPageConfig(apiContext, { pageId });
|
||||
|
||||
if (!pageConfig) {
|
||||
|
@ -14,10 +14,12 @@
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import Box from '@lowdefy/blocks-basic/blocks/Box/Box.js';
|
||||
import Html from '@lowdefy/blocks-basic/blocks/Html/Html.js';
|
||||
|
||||
const blocks = {
|
||||
Html
|
||||
}
|
||||
Box,
|
||||
Html,
|
||||
};
|
||||
|
||||
export default blocks;
|
||||
|
108
yarn.lock
108
yarn.lock
@ -678,7 +678,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.14.5, @babel/helper-module-imports@npm:^7.15.4":
|
||||
"@babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.14.5, @babel/helper-module-imports@npm:^7.15.4":
|
||||
version: 7.15.4
|
||||
resolution: "@babel/helper-module-imports@npm:7.15.4"
|
||||
dependencies:
|
||||
@ -1945,7 +1945,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@babel/runtime@npm:7.15.4, @babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.10.4, @babel/runtime@npm:^7.11.1, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.8.4":
|
||||
"@babel/runtime@npm:7.15.4, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.10.4, @babel/runtime@npm:^7.11.1, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.8.4":
|
||||
version: 7.15.4
|
||||
resolution: "@babel/runtime@npm:7.15.4"
|
||||
dependencies:
|
||||
@ -3477,7 +3477,7 @@ __metadata:
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@lowdefy/blocks-basic@workspace:packages/blocks/blocks-basic":
|
||||
"@lowdefy/blocks-basic@3.22.0, @lowdefy/blocks-basic@workspace:packages/blocks/blocks-basic":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@lowdefy/blocks-basic@workspace:packages/blocks/blocks-basic"
|
||||
dependencies:
|
||||
@ -3837,37 +3837,23 @@ __metadata:
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@lowdefy/layout@workspace:packages/layout"
|
||||
dependencies:
|
||||
"@babel/cli": 7.15.7
|
||||
"@babel/core": 7.15.8
|
||||
"@babel/preset-env": 7.15.8
|
||||
"@babel/preset-react": 7.14.5
|
||||
"@babel/preset-react": 7.16.0
|
||||
"@emotion/jest": 11.5.0
|
||||
"@lowdefy/block-dev": 3.22.0
|
||||
"@lowdefy/block-utils": 3.22.0
|
||||
"@lowdefy/helpers": 3.22.0
|
||||
"@swc/cli": 0.1.51
|
||||
"@swc/core": 1.2.107
|
||||
"@swc/jest": 0.2.5
|
||||
"@testing-library/dom": 8.10.1
|
||||
"@testing-library/react": 12.1.2
|
||||
"@testing-library/user-event": 13.5.0
|
||||
antd: 4.17.0-alpha.7
|
||||
babel-jest: 27.3.1
|
||||
babel-loader: 8.2.3
|
||||
babel-plugin-import: 1.13.3
|
||||
clean-webpack-plugin: 4.0.0
|
||||
css-loader: 6.4.0
|
||||
html-webpack-plugin: 5.4.0
|
||||
jest: 27.3.1
|
||||
jest-serializer-html: 7.1.0
|
||||
jest-transform-yaml: 0.1.2
|
||||
js-yaml: 4.1.0
|
||||
less: 4.1.2
|
||||
less-loader: 10.2.0
|
||||
process: 0.11.10
|
||||
react: 18.0.0-alpha-327d5c484-20211106
|
||||
react-dom: 18.0.0-alpha-327d5c484-20211106
|
||||
react-markdown: 5.0.3
|
||||
react-syntax-highlight: 15.3.1
|
||||
style-loader: 3.3.1
|
||||
webpack: 5.59.1
|
||||
webpack-cli: 4.9.1
|
||||
webpack-dev-server: 4.3.1
|
||||
yaml-loader: 0.6.0
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
@ -3910,9 +3896,9 @@ __metadata:
|
||||
"@swc/cli": 0.1.51
|
||||
"@swc/core": 1.2.107
|
||||
"@swc/jest": 0.2.5
|
||||
chokidar: 3.5.2
|
||||
jest: 27.3.1
|
||||
moment: 2.29.1
|
||||
nunjucks: 3.2.3
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
@ -3975,8 +3961,12 @@ __metadata:
|
||||
resolution: "@lowdefy/server@workspace:packages/server"
|
||||
dependencies:
|
||||
"@lowdefy/api": 3.22.0
|
||||
"@lowdefy/block-utils": 3.22.0
|
||||
"@lowdefy/blocks-antd": 3.22.0
|
||||
"@lowdefy/blocks-basic": 3.22.0
|
||||
"@lowdefy/engine": 3.22.0
|
||||
"@lowdefy/helpers": 3.22.0
|
||||
"@lowdefy/node-utils": 3.22.0
|
||||
"@lowdefy/layout": 3.22.0
|
||||
"@next/eslint-plugin-next": 12.0.2
|
||||
less: 4.1.2
|
||||
less-loader: 10.2.0
|
||||
@ -5727,6 +5717,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"a-sync-waterfall@npm:^1.0.0":
|
||||
version: 1.0.1
|
||||
resolution: "a-sync-waterfall@npm:1.0.1"
|
||||
checksum: 534948b50d6787c2dd5b7e89179b30c0fd96ac80a662d0f92eaa568cfffb36f1eea4aa720e3a21572d8b5f8686940954ac9d8c7667bcc719c1317ae3bdf86fe0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"abab@npm:^2.0.3, abab@npm:^2.0.5":
|
||||
version: 2.0.5
|
||||
resolution: "abab@npm:2.0.5"
|
||||
@ -6448,7 +6445,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"asap@npm:^2.0.0, asap@npm:~2.0.3":
|
||||
"asap@npm:^2.0.0, asap@npm:^2.0.3, asap@npm:~2.0.3":
|
||||
version: 2.0.6
|
||||
resolution: "asap@npm:2.0.6"
|
||||
checksum: b296c92c4b969e973260e47523207cd5769abd27c245a68c26dc7a0fe8053c55bb04360237cb51cab1df52be939da77150ace99ad331fb7fb13b3423ed73ff3d
|
||||
@ -6669,16 +6666,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"babel-plugin-import@npm:1.13.3":
|
||||
version: 1.13.3
|
||||
resolution: "babel-plugin-import@npm:1.13.3"
|
||||
dependencies:
|
||||
"@babel/helper-module-imports": ^7.0.0
|
||||
"@babel/runtime": ^7.0.0
|
||||
checksum: 1be664a34fa6cdffb08485a7094ff1a3fdfd2e95a7d367afdd7a6dcb51842c0bc717c8fdba65538561a4d3aecc39c123e6de1449c5b1b2aa5b13604c17ca7042
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"babel-plugin-istanbul@npm:^6.0.0":
|
||||
version: 6.1.1
|
||||
resolution: "babel-plugin-istanbul@npm:6.1.1"
|
||||
@ -7908,6 +7895,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"commander@npm:^5.1.0":
|
||||
version: 5.1.0
|
||||
resolution: "commander@npm:5.1.0"
|
||||
checksum: 0b7fec1712fbcc6230fcb161d8d73b4730fa91a21dc089515489402ad78810547683f058e2a9835929c212fead1d6a6ade70db28bbb03edbc2829a9ab7d69447
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"commander@npm:^8.1.0":
|
||||
version: 8.3.0
|
||||
resolution: "commander@npm:8.3.0"
|
||||
@ -11278,13 +11272,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"highlight.js@npm:^9.12.0":
|
||||
version: 9.18.5
|
||||
resolution: "highlight.js@npm:9.18.5"
|
||||
checksum: a8afdb395869bba8a892dd8891b738d3bd48fe2e5b6843ec3181c93d73f52abf2cab863424caa631442a7bbafac222bafdab3f5a536a69aab9c60d4c1b7f8b77
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"history@npm:^4.9.0":
|
||||
version: 4.10.1
|
||||
resolution: "history@npm:4.10.1"
|
||||
@ -15526,6 +15513,24 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"nunjucks@npm:3.2.3":
|
||||
version: 3.2.3
|
||||
resolution: "nunjucks@npm:3.2.3"
|
||||
dependencies:
|
||||
a-sync-waterfall: ^1.0.0
|
||||
asap: ^2.0.3
|
||||
commander: ^5.1.0
|
||||
peerDependencies:
|
||||
chokidar: ^3.3.0
|
||||
peerDependenciesMeta:
|
||||
chokidar:
|
||||
optional: true
|
||||
bin:
|
||||
nunjucks-precompile: bin/precompile
|
||||
checksum: 9d0125acf917166675af2d9b5d525b6d3edaba68ec6f8c92edee8ad05140cfa8aef12feb46f4c3da52ed2836cadfb9d26fbf1fa9d9be6bef4660d03ce1e89dbe
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"nwsapi@npm:^2.2.0":
|
||||
version: 2.2.0
|
||||
resolution: "nwsapi@npm:2.2.0"
|
||||
@ -17889,19 +17894,6 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"react-syntax-highlight@npm:15.3.1":
|
||||
version: 15.3.1
|
||||
resolution: "react-syntax-highlight@npm:15.3.1"
|
||||
dependencies:
|
||||
highlight.js: ^9.12.0
|
||||
prop-types: ^15.5.10
|
||||
peerDependencies:
|
||||
react: ^15.3.0
|
||||
react-dom: ^15.3.0
|
||||
checksum: cada9bec5d596b1df0eb59aec0522e0f241960661554ebd665cbc5c1da760d56a9d734bd11df131e7fdbb31c3f7d6e6e5463a75af7045c611874fd0c7a5c6b7b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"react-syntax-highlighter@npm:15.4.4":
|
||||
version: 15.4.4
|
||||
resolution: "react-syntax-highlighter@npm:15.4.4"
|
||||
@ -21079,7 +21071,7 @@ resolve@^2.0.0-next.3:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"webpack-dev-server@npm:*, webpack-dev-server@npm:4.3.1":
|
||||
"webpack-dev-server@npm:*":
|
||||
version: 4.3.1
|
||||
resolution: "webpack-dev-server@npm:4.3.1"
|
||||
dependencies:
|
||||
|
Loading…
x
Reference in New Issue
Block a user