feat: Use shell package in dev and docker servers

This commit is contained in:
SamTolmay 2021-06-03 17:14:03 +02:00
parent e9bcf23ba8
commit d9abe05ef7
41 changed files with 383 additions and 829 deletions

568
.pnp.cjs generated
View File

@ -110,6 +110,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"name": "@lowdefy/server",
"reference": "workspace:packages/server"
},
{
"name": "@lowdefy/server-aws-lambda",
"reference": "workspace:packages/servers/serverAwsLambda"
},
{
"name": "@lowdefy/server-dev",
"reference": "workspace:packages/servers/serverDev"
@ -118,10 +122,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"name": "@lowdefy/server-docker",
"reference": "workspace:packages/servers/serverDocker"
},
{
"name": "@lowdefy/server-lambda",
"reference": "workspace:packages/servers/serverLambda"
},
{
"name": "@lowdefy/server-netlify",
"reference": "workspace:packages/servers/serverNetlify"
@ -156,9 +156,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@lowdefy/operators", ["workspace:packages/operators"]],
["@lowdefy/renderer", ["workspace:packages/renderer"]],
["@lowdefy/server", ["workspace:packages/server"]],
["@lowdefy/server-aws-lambda", ["workspace:packages/servers/serverAwsLambda"]],
["@lowdefy/server-dev", ["workspace:packages/servers/serverDev"]],
["@lowdefy/server-docker", ["workspace:packages/servers/serverDocker"]],
["@lowdefy/server-lambda", ["workspace:packages/servers/serverLambda"]],
["@lowdefy/server-netlify", ["workspace:packages/servers/serverNetlify"]],
["@lowdefy/shell", ["workspace:packages/shell"]],
["lowdefy", ["workspace:packages/cli"]]
@ -5054,6 +5054,41 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "SOFT",
}]
]],
["@lowdefy/server-aws-lambda", [
["workspace:packages/servers/serverAwsLambda", {
"packageLocation": "./packages/servers/serverAwsLambda/",
"packageDependencies": [
["@lowdefy/server-aws-lambda", "workspace:packages/servers/serverAwsLambda"],
["@babel/cli", "virtual:4a7337632ff6e9ee5a1c45a62a9ff4cc325a9367b21424babda93e269fe01b671e885bc41bdeebafb83c81f2a8eebbf0102043354a4e58905f61c8c3387cda1e#npm:7.14.3"],
["@babel/core", "npm:7.14.3"],
["@babel/preset-env", "virtual:4a7337632ff6e9ee5a1c45a62a9ff4cc325a9367b21424babda93e269fe01b671e885bc41bdeebafb83c81f2a8eebbf0102043354a4e58905f61c8c3387cda1e#npm:7.14.4"],
["@babel/preset-react", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:7.13.13"],
["@lowdefy/block-tools", "workspace:packages/blockTools"],
["@lowdefy/graphql", "workspace:packages/graphql"],
["@lowdefy/node-utils", "workspace:packages/nodeUtils"],
["@lowdefy/server", "workspace:packages/server"],
["apollo-server-express", "virtual:dddca670fd0b7758fb2e1b1a3e18ac7ebd1ecd06ecdd7acec2b78bccf1d35802cb22904bfbb233b16515a81f5cb819421786d20887823d98022b367036c1ad51#npm:2.25.0"],
["babel-jest", "virtual:caddf51df4928b33a437ca87b8f5ddfb6205ebd6d8231f74d4ee7223f3866e6f815b221aa1e2bd33e98915f701e95bae72a93d2288b49a34a6246bdbc2a4a132#npm:26.6.3"],
["babel-loader", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:8.2.2"],
["clean-webpack-plugin", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:3.0.0"],
["copy-webpack-plugin", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:9.0.0"],
["css-loader", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.2.6"],
["express", "npm:4.17.1"],
["graphql", "npm:15.5.0"],
["html-webpack-plugin", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.3.1"],
["jest", "npm:26.6.3"],
["lowdefy", "workspace:packages/cli"],
["nodemon", "npm:2.0.7"],
["react", "npm:17.0.2"],
["react-dom", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:17.0.2"],
["serverless-http", "npm:2.7.0"],
["style-loader", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:2.0.0"],
["webpack", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.38.1"],
["webpack-cli", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:4.7.0"]
],
"linkType": "SOFT",
}]
]],
["@lowdefy/server-dev", [
["workspace:packages/servers/serverDev", {
"packageLocation": "./packages/servers/serverDev/",
@ -5067,6 +5102,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@lowdefy/graphql", "workspace:packages/graphql"],
["@lowdefy/node-utils", "workspace:packages/nodeUtils"],
["@lowdefy/server", "workspace:packages/server"],
["@lowdefy/shell", "workspace:packages/shell"],
["apollo-server-express", "virtual:dddca670fd0b7758fb2e1b1a3e18ac7ebd1ecd06ecdd7acec2b78bccf1d35802cb22904bfbb233b16515a81f5cb819421786d20887823d98022b367036c1ad51#npm:2.25.0"],
["babel-jest", "virtual:caddf51df4928b33a437ca87b8f5ddfb6205ebd6d8231f74d4ee7223f3866e6f815b221aa1e2bd33e98915f701e95bae72a93d2288b49a34a6246bdbc2a4a132#npm:26.6.3"],
["babel-loader", "virtual:c9d7c5a0f7602869dff02ed24b6a4fe62d4c9e4a4ede33ec34082ee9e4a5dd17f3e1bb396d56863e9bea8e8476d67351fe495fe7cebce9035a9e4de117e68169#npm:8.2.2"],
@ -5101,6 +5137,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
["@lowdefy/graphql", "workspace:packages/graphql"],
["@lowdefy/node-utils", "workspace:packages/nodeUtils"],
["@lowdefy/server", "workspace:packages/server"],
["@lowdefy/shell", "workspace:packages/shell"],
["apollo-server-express", "virtual:dddca670fd0b7758fb2e1b1a3e18ac7ebd1ecd06ecdd7acec2b78bccf1d35802cb22904bfbb233b16515a81f5cb819421786d20887823d98022b367036c1ad51#npm:2.25.0"],
["babel-jest", "virtual:caddf51df4928b33a437ca87b8f5ddfb6205ebd6d8231f74d4ee7223f3866e6f815b221aa1e2bd33e98915f701e95bae72a93d2288b49a34a6246bdbc2a4a132#npm:26.6.3"],
["babel-loader", "virtual:45acfdba827b9fa2f59b603e806acbd96025d9a5a49d046592d9fa5046fb2bd7b340529d8bcc1cc579f8def2790be10259cc83aeba4cae3a015bb3336c52b7fd#npm:8.2.2"],
@ -5122,41 +5159,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
"linkType": "SOFT",
}]
]],
["@lowdefy/server-lambda", [
["workspace:packages/servers/serverLambda", {
"packageLocation": "./packages/servers/serverLambda/",
"packageDependencies": [
["@lowdefy/server-lambda", "workspace:packages/servers/serverLambda"],
["@babel/cli", "virtual:4a7337632ff6e9ee5a1c45a62a9ff4cc325a9367b21424babda93e269fe01b671e885bc41bdeebafb83c81f2a8eebbf0102043354a4e58905f61c8c3387cda1e#npm:7.14.3"],
["@babel/core", "npm:7.14.3"],
["@babel/preset-env", "virtual:4a7337632ff6e9ee5a1c45a62a9ff4cc325a9367b21424babda93e269fe01b671e885bc41bdeebafb83c81f2a8eebbf0102043354a4e58905f61c8c3387cda1e#npm:7.14.4"],
["@babel/preset-react", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:7.13.13"],
["@lowdefy/block-tools", "workspace:packages/blockTools"],
["@lowdefy/graphql", "workspace:packages/graphql"],
["@lowdefy/node-utils", "workspace:packages/nodeUtils"],
["@lowdefy/server", "workspace:packages/server"],
["apollo-server-express", "virtual:dddca670fd0b7758fb2e1b1a3e18ac7ebd1ecd06ecdd7acec2b78bccf1d35802cb22904bfbb233b16515a81f5cb819421786d20887823d98022b367036c1ad51#npm:2.25.0"],
["babel-jest", "virtual:caddf51df4928b33a437ca87b8f5ddfb6205ebd6d8231f74d4ee7223f3866e6f815b221aa1e2bd33e98915f701e95bae72a93d2288b49a34a6246bdbc2a4a132#npm:26.6.3"],
["babel-loader", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:8.2.2"],
["clean-webpack-plugin", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:3.0.0"],
["copy-webpack-plugin", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:9.0.0"],
["css-loader", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.2.6"],
["express", "npm:4.17.1"],
["graphql", "npm:15.5.0"],
["html-webpack-plugin", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.3.1"],
["jest", "npm:26.6.3"],
["lowdefy", "workspace:packages/cli"],
["nodemon", "npm:2.0.7"],
["react", "npm:17.0.2"],
["react-dom", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:17.0.2"],
["serverless-http", "npm:2.7.0"],
["style-loader", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:2.0.0"],
["webpack", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.38.1"],
["webpack-cli", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:4.7.0"]
],
"linkType": "SOFT",
}]
]],
["@lowdefy/server-netlify", [
["workspace:packages/servers/serverNetlify", {
"packageLocation": "./packages/servers/serverNetlify/",
@ -6744,6 +6746,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:1f5cef5497efda9312a376e583bd1e2b84021d86dcd3b12519da0b55aeeaa6ef760229f27a84e9c477ae7858ff454f9ae63b0db609f7909abd08b05b55b97620#npm:1.0.3", {
"packageLocation": "./.yarn/$$virtual/@webpack-cli-configtest-virtual-e99a4c23b7/0/cache/@webpack-cli-configtest-npm-1.0.3-b6e357f778-df71875431.zip/node_modules/@webpack-cli/configtest/",
"packageDependencies": [
["@webpack-cli/configtest", "virtual:1f5cef5497efda9312a376e583bd1e2b84021d86dcd3b12519da0b55aeeaa6ef760229f27a84e9c477ae7858ff454f9ae63b0db609f7909abd08b05b55b97620#npm:1.0.3"],
["@types/webpack", null],
["@types/webpack-cli", null],
["webpack", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.38.1"],
["webpack-cli", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:4.7.0"]
],
"packagePeers": [
"@types/webpack-cli",
"@types/webpack",
"webpack-cli",
"webpack"
],
"linkType": "HARD",
}],
["virtual:29b6f43200cddc54ba66dfa7cf157bf9484caf56f2e930d2dd3d4d3ca8c34e2dfec0c91e1d0d289769e20c9e304250f9b2bee3e25ffd07fb335916986988f473#npm:1.0.3", {
"packageLocation": "./.yarn/$$virtual/@webpack-cli-configtest-virtual-5fb11a2ed5/0/cache/@webpack-cli-configtest-npm-1.0.3-b6e357f778-df71875431.zip/node_modules/@webpack-cli/configtest/",
"packageDependencies": [
@ -6948,23 +6967,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:f83e9107e81fdc07a45af0fc6796969367d1a303e9604881da21d7ee7a3d21b058df547828d70e186ef296dc18bba6a5c6f10137b46a2c1a15a805423a8fc8d8#npm:1.0.3", {
"packageLocation": "./.yarn/$$virtual/@webpack-cli-configtest-virtual-4790d247b1/0/cache/@webpack-cli-configtest-npm-1.0.3-b6e357f778-df71875431.zip/node_modules/@webpack-cli/configtest/",
"packageDependencies": [
["@webpack-cli/configtest", "virtual:f83e9107e81fdc07a45af0fc6796969367d1a303e9604881da21d7ee7a3d21b058df547828d70e186ef296dc18bba6a5c6f10137b46a2c1a15a805423a8fc8d8#npm:1.0.3"],
["@types/webpack", null],
["@types/webpack-cli", null],
["webpack", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.38.1"],
["webpack-cli", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:4.7.0"]
],
"packagePeers": [
"@types/webpack-cli",
"@types/webpack",
"webpack-cli",
"webpack"
],
"linkType": "HARD",
}],
["virtual:fa4d01878c60e0ceb40a9544d7803c3338519ea368e1b9df3cbfe764e6edd271edb74369f744c5f8592af1a89d5d3826738262c18feab781d6098d0a09b12b83#npm:1.0.3", {
"packageLocation": "./.yarn/$$virtual/@webpack-cli-configtest-virtual-8949f107f3/0/cache/@webpack-cli-configtest-npm-1.0.3-b6e357f778-df71875431.zip/node_modules/@webpack-cli/configtest/",
"packageDependencies": [
@ -7033,6 +7035,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:1f5cef5497efda9312a376e583bd1e2b84021d86dcd3b12519da0b55aeeaa6ef760229f27a84e9c477ae7858ff454f9ae63b0db609f7909abd08b05b55b97620#npm:1.2.4", {
"packageLocation": "./.yarn/$$virtual/@webpack-cli-info-virtual-287053e01c/0/cache/@webpack-cli-info-npm-1.2.4-e4a2135f37-7a1b167669.zip/node_modules/@webpack-cli/info/",
"packageDependencies": [
["@webpack-cli/info", "virtual:1f5cef5497efda9312a376e583bd1e2b84021d86dcd3b12519da0b55aeeaa6ef760229f27a84e9c477ae7858ff454f9ae63b0db609f7909abd08b05b55b97620#npm:1.2.4"],
["@types/webpack-cli", null],
["envinfo", "npm:7.8.1"],
["webpack-cli", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:4.7.0"]
],
"packagePeers": [
"@types/webpack-cli",
"webpack-cli"
],
"linkType": "HARD",
}],
["virtual:29b6f43200cddc54ba66dfa7cf157bf9484caf56f2e930d2dd3d4d3ca8c34e2dfec0c91e1d0d289769e20c9e304250f9b2bee3e25ffd07fb335916986988f473#npm:1.2.4", {
"packageLocation": "./.yarn/$$virtual/@webpack-cli-info-virtual-8beb4ef4fe/0/cache/@webpack-cli-info-npm-1.2.4-e4a2135f37-7a1b167669.zip/node_modules/@webpack-cli/info/",
"packageDependencies": [
@ -7201,20 +7217,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:f83e9107e81fdc07a45af0fc6796969367d1a303e9604881da21d7ee7a3d21b058df547828d70e186ef296dc18bba6a5c6f10137b46a2c1a15a805423a8fc8d8#npm:1.2.4", {
"packageLocation": "./.yarn/$$virtual/@webpack-cli-info-virtual-646c314ed5/0/cache/@webpack-cli-info-npm-1.2.4-e4a2135f37-7a1b167669.zip/node_modules/@webpack-cli/info/",
"packageDependencies": [
["@webpack-cli/info", "virtual:f83e9107e81fdc07a45af0fc6796969367d1a303e9604881da21d7ee7a3d21b058df547828d70e186ef296dc18bba6a5c6f10137b46a2c1a15a805423a8fc8d8#npm:1.2.4"],
["@types/webpack-cli", null],
["envinfo", "npm:7.8.1"],
["webpack-cli", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:4.7.0"]
],
"packagePeers": [
"@types/webpack-cli",
"webpack-cli"
],
"linkType": "HARD",
}],
["virtual:fa4d01878c60e0ceb40a9544d7803c3338519ea368e1b9df3cbfe764e6edd271edb74369f744c5f8592af1a89d5d3826738262c18feab781d6098d0a09b12b83#npm:1.2.4", {
"packageLocation": "./.yarn/$$virtual/@webpack-cli-info-virtual-99aaf3c564/0/cache/@webpack-cli-info-npm-1.2.4-e4a2135f37-7a1b167669.zip/node_modules/@webpack-cli/info/",
"packageDependencies": [
@ -7283,6 +7285,21 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:1f5cef5497efda9312a376e583bd1e2b84021d86dcd3b12519da0b55aeeaa6ef760229f27a84e9c477ae7858ff454f9ae63b0db609f7909abd08b05b55b97620#npm:1.4.0", {
"packageLocation": "./.yarn/$$virtual/@webpack-cli-serve-virtual-ae2b3acbe1/0/cache/@webpack-cli-serve-npm-1.4.0-1f566be693-0a2495e2f1.zip/node_modules/@webpack-cli/serve/",
"packageDependencies": [
["@webpack-cli/serve", "virtual:1f5cef5497efda9312a376e583bd1e2b84021d86dcd3b12519da0b55aeeaa6ef760229f27a84e9c477ae7858ff454f9ae63b0db609f7909abd08b05b55b97620#npm:1.4.0"],
["@types/webpack-cli", null],
["webpack-cli", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:4.7.0"],
["webpack-dev-server", null]
],
"packagePeers": [
"@types/webpack-cli",
"webpack-cli",
"webpack-dev-server"
],
"linkType": "HARD",
}],
["virtual:29b6f43200cddc54ba66dfa7cf157bf9484caf56f2e930d2dd3d4d3ca8c34e2dfec0c91e1d0d289769e20c9e304250f9b2bee3e25ffd07fb335916986988f473#npm:1.4.0", {
"packageLocation": "./.yarn/$$virtual/@webpack-cli-serve-virtual-686535626c/0/cache/@webpack-cli-serve-npm-1.4.0-1f566be693-0a2495e2f1.zip/node_modules/@webpack-cli/serve/",
"packageDependencies": [
@ -7463,21 +7480,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:f83e9107e81fdc07a45af0fc6796969367d1a303e9604881da21d7ee7a3d21b058df547828d70e186ef296dc18bba6a5c6f10137b46a2c1a15a805423a8fc8d8#npm:1.4.0", {
"packageLocation": "./.yarn/$$virtual/@webpack-cli-serve-virtual-f4ef005875/0/cache/@webpack-cli-serve-npm-1.4.0-1f566be693-0a2495e2f1.zip/node_modules/@webpack-cli/serve/",
"packageDependencies": [
["@webpack-cli/serve", "virtual:f83e9107e81fdc07a45af0fc6796969367d1a303e9604881da21d7ee7a3d21b058df547828d70e186ef296dc18bba6a5c6f10137b46a2c1a15a805423a8fc8d8#npm:1.4.0"],
["@types/webpack-cli", null],
["webpack-cli", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:4.7.0"],
["webpack-dev-server", null]
],
"packagePeers": [
"@types/webpack-cli",
"webpack-cli",
"webpack-dev-server"
],
"linkType": "HARD",
}],
["virtual:fa4d01878c60e0ceb40a9544d7803c3338519ea368e1b9df3cbfe764e6edd271edb74369f744c5f8592af1a89d5d3826738262c18feab781d6098d0a09b12b83#npm:1.4.0", {
"packageLocation": "./.yarn/$$virtual/@webpack-cli-serve-virtual-29b782e6ed/0/cache/@webpack-cli-serve-npm-1.4.0-1f566be693-0a2495e2f1.zip/node_modules/@webpack-cli/serve/",
"packageDependencies": [
@ -9243,6 +9245,27 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:8.2.2", {
"packageLocation": "./.yarn/$$virtual/babel-loader-virtual-7df687a7f7/0/cache/babel-loader-npm-8.2.2-b4e600c2c5-362bb71573.zip/node_modules/babel-loader/",
"packageDependencies": [
["babel-loader", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:8.2.2"],
["@babel/core", "npm:7.14.3"],
["@types/babel__core", null],
["@types/webpack", null],
["find-cache-dir", "npm:3.3.1"],
["loader-utils", "npm:1.4.0"],
["make-dir", "npm:3.1.0"],
["schema-utils", "npm:2.7.1"],
["webpack", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.38.1"]
],
"packagePeers": [
"@babel/core",
"@types/babel__core",
"@types/webpack",
"webpack"
],
"linkType": "HARD",
}],
["virtual:885b7c7699c189719052a46b1a9ec1286757c4ac6b604c1386cca53720d793c5403bf2f82e8d576afe6e296a65179038188b229308256e2723b9e95f9bb39b0d#npm:8.2.2", {
"packageLocation": "./.yarn/$$virtual/babel-loader-virtual-4dc05a6749/0/cache/babel-loader-npm-8.2.2-b4e600c2c5-362bb71573.zip/node_modules/babel-loader/",
"packageDependencies": [
@ -9264,27 +9287,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:8.2.2", {
"packageLocation": "./.yarn/$$virtual/babel-loader-virtual-8e4de83157/0/cache/babel-loader-npm-8.2.2-b4e600c2c5-362bb71573.zip/node_modules/babel-loader/",
"packageDependencies": [
["babel-loader", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:8.2.2"],
["@babel/core", "npm:7.14.3"],
["@types/babel__core", null],
["@types/webpack", null],
["find-cache-dir", "npm:3.3.1"],
["loader-utils", "npm:1.4.0"],
["make-dir", "npm:3.1.0"],
["schema-utils", "npm:2.7.1"],
["webpack", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.38.1"]
],
"packagePeers": [
"@babel/core",
"@types/babel__core",
"@types/webpack",
"webpack"
],
"linkType": "HARD",
}],
["virtual:aad21d373d6721af7549b2798c35c4ea25d83c122770abeaa0a4343ba20d55700fd9e3c5fa3289a7e6f591d09e8790df14d525c719ca4729b178b8644cca082a#npm:8.2.2", {
"packageLocation": "./.yarn/$$virtual/babel-loader-virtual-a464d10208/0/cache/babel-loader-npm-8.2.2-b4e600c2c5-362bb71573.zip/node_modules/babel-loader/",
"packageDependencies": [
@ -10667,6 +10669,19 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:3.0.0", {
"packageLocation": "./.yarn/$$virtual/clean-webpack-plugin-virtual-638526dc83/0/cache/clean-webpack-plugin-npm-3.0.0-21f4eeb4fb-fc0fbd1c8e.zip/node_modules/clean-webpack-plugin/",
"packageDependencies": [
["clean-webpack-plugin", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:3.0.0"],
["@types/webpack", "npm:4.41.29"],
["del", "npm:4.1.1"],
["webpack", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.38.1"]
],
"packagePeers": [
"webpack"
],
"linkType": "HARD",
}],
["virtual:885b7c7699c189719052a46b1a9ec1286757c4ac6b604c1386cca53720d793c5403bf2f82e8d576afe6e296a65179038188b229308256e2723b9e95f9bb39b0d#npm:3.0.0", {
"packageLocation": "./.yarn/$$virtual/clean-webpack-plugin-virtual-29453c25a5/0/cache/clean-webpack-plugin-npm-3.0.0-21f4eeb4fb-fc0fbd1c8e.zip/node_modules/clean-webpack-plugin/",
"packageDependencies": [
@ -10680,19 +10695,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:3.0.0", {
"packageLocation": "./.yarn/$$virtual/clean-webpack-plugin-virtual-cb5f07b5a2/0/cache/clean-webpack-plugin-npm-3.0.0-21f4eeb4fb-fc0fbd1c8e.zip/node_modules/clean-webpack-plugin/",
"packageDependencies": [
["clean-webpack-plugin", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:3.0.0"],
["@types/webpack", "npm:4.41.29"],
["del", "npm:4.1.1"],
["webpack", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.38.1"]
],
"packagePeers": [
"webpack"
],
"linkType": "HARD",
}],
["virtual:aad21d373d6721af7549b2798c35c4ea25d83c122770abeaa0a4343ba20d55700fd9e3c5fa3289a7e6f591d09e8790df14d525c719ca4729b178b8644cca082a#npm:3.0.0", {
"packageLocation": "./.yarn/$$virtual/clean-webpack-plugin-virtual-c1664c6762/0/cache/clean-webpack-plugin-npm-3.0.0-21f4eeb4fb-fc0fbd1c8e.zip/node_modules/clean-webpack-plugin/",
"packageDependencies": [
@ -11542,6 +11544,26 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:9.0.0", {
"packageLocation": "./.yarn/$$virtual/copy-webpack-plugin-virtual-acfe05cb6b/0/cache/copy-webpack-plugin-npm-9.0.0-6ae03008e1-c209583f60.zip/node_modules/copy-webpack-plugin/",
"packageDependencies": [
["copy-webpack-plugin", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:9.0.0"],
["@types/webpack", null],
["fast-glob", "npm:3.2.5"],
["glob-parent", "npm:6.0.0"],
["globby", "npm:11.0.3"],
["normalize-path", "npm:3.0.0"],
["p-limit", "npm:3.1.0"],
["schema-utils", "npm:3.0.0"],
["serialize-javascript", "npm:5.0.1"],
["webpack", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.38.1"]
],
"packagePeers": [
"@types/webpack",
"webpack"
],
"linkType": "HARD",
}],
["virtual:885b7c7699c189719052a46b1a9ec1286757c4ac6b604c1386cca53720d793c5403bf2f82e8d576afe6e296a65179038188b229308256e2723b9e95f9bb39b0d#npm:9.0.0", {
"packageLocation": "./.yarn/$$virtual/copy-webpack-plugin-virtual-564230d37f/0/cache/copy-webpack-plugin-npm-9.0.0-6ae03008e1-c209583f60.zip/node_modules/copy-webpack-plugin/",
"packageDependencies": [
@ -11562,26 +11584,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:9.0.0", {
"packageLocation": "./.yarn/$$virtual/copy-webpack-plugin-virtual-25335684e5/0/cache/copy-webpack-plugin-npm-9.0.0-6ae03008e1-c209583f60.zip/node_modules/copy-webpack-plugin/",
"packageDependencies": [
["copy-webpack-plugin", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:9.0.0"],
["@types/webpack", null],
["fast-glob", "npm:3.2.5"],
["glob-parent", "npm:6.0.0"],
["globby", "npm:11.0.3"],
["normalize-path", "npm:3.0.0"],
["p-limit", "npm:3.1.0"],
["schema-utils", "npm:3.0.0"],
["serialize-javascript", "npm:5.0.1"],
["webpack", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.38.1"]
],
"packagePeers": [
"@types/webpack",
"webpack"
],
"linkType": "HARD",
}],
["virtual:beb4c218366cad8c4da96fe997fe88a6dbf8be39fc0c58c2a268588a03658c7ba45d103fbf636a724af6c876096f657636ab125613932f8c99e093546f94adb0#npm:9.0.0", {
"packageLocation": "./.yarn/$$virtual/copy-webpack-plugin-virtual-66a9cd5527/0/cache/copy-webpack-plugin-npm-9.0.0-6ae03008e1-c209583f60.zip/node_modules/copy-webpack-plugin/",
"packageDependencies": [
@ -11936,6 +11938,29 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.2.6", {
"packageLocation": "./.yarn/$$virtual/css-loader-virtual-015f8a0e66/0/cache/css-loader-npm-5.2.6-118c6d409e-b9e5a32246.zip/node_modules/css-loader/",
"packageDependencies": [
["css-loader", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.2.6"],
["@types/webpack", null],
["icss-utils", "virtual:fd1e27a19b33c6c92d58534822a8c807d783599c02d722fb5ed7569b8236919909cf40aed31aaec82962fa77e2a6124c6809d3d289b2262779bdf4eddea014db#npm:5.1.0"],
["loader-utils", "npm:2.0.0"],
["postcss", "npm:8.3.0"],
["postcss-modules-extract-imports", "virtual:fd1e27a19b33c6c92d58534822a8c807d783599c02d722fb5ed7569b8236919909cf40aed31aaec82962fa77e2a6124c6809d3d289b2262779bdf4eddea014db#npm:3.0.0"],
["postcss-modules-local-by-default", "virtual:fd1e27a19b33c6c92d58534822a8c807d783599c02d722fb5ed7569b8236919909cf40aed31aaec82962fa77e2a6124c6809d3d289b2262779bdf4eddea014db#npm:4.0.0"],
["postcss-modules-scope", "virtual:fd1e27a19b33c6c92d58534822a8c807d783599c02d722fb5ed7569b8236919909cf40aed31aaec82962fa77e2a6124c6809d3d289b2262779bdf4eddea014db#npm:3.0.0"],
["postcss-modules-values", "virtual:fd1e27a19b33c6c92d58534822a8c807d783599c02d722fb5ed7569b8236919909cf40aed31aaec82962fa77e2a6124c6809d3d289b2262779bdf4eddea014db#npm:4.0.0"],
["postcss-value-parser", "npm:4.1.0"],
["schema-utils", "npm:3.0.0"],
["semver", "npm:7.3.5"],
["webpack", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.38.1"]
],
"packagePeers": [
"@types/webpack",
"webpack"
],
"linkType": "HARD",
}],
["virtual:885b7c7699c189719052a46b1a9ec1286757c4ac6b604c1386cca53720d793c5403bf2f82e8d576afe6e296a65179038188b229308256e2723b9e95f9bb39b0d#npm:5.2.6", {
"packageLocation": "./.yarn/$$virtual/css-loader-virtual-2a2ae3099b/0/cache/css-loader-npm-5.2.6-118c6d409e-b9e5a32246.zip/node_modules/css-loader/",
"packageDependencies": [
@ -11959,29 +11984,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.2.6", {
"packageLocation": "./.yarn/$$virtual/css-loader-virtual-9f5fd4003c/0/cache/css-loader-npm-5.2.6-118c6d409e-b9e5a32246.zip/node_modules/css-loader/",
"packageDependencies": [
["css-loader", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.2.6"],
["@types/webpack", null],
["icss-utils", "virtual:fd1e27a19b33c6c92d58534822a8c807d783599c02d722fb5ed7569b8236919909cf40aed31aaec82962fa77e2a6124c6809d3d289b2262779bdf4eddea014db#npm:5.1.0"],
["loader-utils", "npm:2.0.0"],
["postcss", "npm:8.3.0"],
["postcss-modules-extract-imports", "virtual:fd1e27a19b33c6c92d58534822a8c807d783599c02d722fb5ed7569b8236919909cf40aed31aaec82962fa77e2a6124c6809d3d289b2262779bdf4eddea014db#npm:3.0.0"],
["postcss-modules-local-by-default", "virtual:fd1e27a19b33c6c92d58534822a8c807d783599c02d722fb5ed7569b8236919909cf40aed31aaec82962fa77e2a6124c6809d3d289b2262779bdf4eddea014db#npm:4.0.0"],
["postcss-modules-scope", "virtual:fd1e27a19b33c6c92d58534822a8c807d783599c02d722fb5ed7569b8236919909cf40aed31aaec82962fa77e2a6124c6809d3d289b2262779bdf4eddea014db#npm:3.0.0"],
["postcss-modules-values", "virtual:fd1e27a19b33c6c92d58534822a8c807d783599c02d722fb5ed7569b8236919909cf40aed31aaec82962fa77e2a6124c6809d3d289b2262779bdf4eddea014db#npm:4.0.0"],
["postcss-value-parser", "npm:4.1.0"],
["schema-utils", "npm:3.0.0"],
["semver", "npm:7.3.5"],
["webpack", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.38.1"]
],
"packagePeers": [
"@types/webpack",
"webpack"
],
"linkType": "HARD",
}],
["virtual:beb4c218366cad8c4da96fe997fe88a6dbf8be39fc0c58c2a268588a03658c7ba45d103fbf636a724af6c876096f657636ab125613932f8c99e093546f94adb0#npm:5.2.6", {
"packageLocation": "./.yarn/$$virtual/css-loader-virtual-e2b19c3aa9/0/cache/css-loader-npm-5.2.6-118c6d409e-b9e5a32246.zip/node_modules/css-loader/",
"packageDependencies": [
@ -15974,6 +15976,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.3.1", {
"packageLocation": "./.yarn/$$virtual/html-webpack-plugin-virtual-19110f259b/0/cache/html-webpack-plugin-npm-5.3.1-6c61ea5be4-2d744cf314.zip/node_modules/html-webpack-plugin/",
"packageDependencies": [
["html-webpack-plugin", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.3.1"],
["@types/html-minifier-terser", "npm:5.1.1"],
["@types/webpack", null],
["html-minifier-terser", "npm:5.1.1"],
["lodash", "npm:4.17.21"],
["pretty-error", "npm:2.1.2"],
["tapable", "npm:2.2.0"],
["webpack", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.38.1"]
],
"packagePeers": [
"@types/webpack",
"webpack"
],
"linkType": "HARD",
}],
["virtual:885b7c7699c189719052a46b1a9ec1286757c4ac6b604c1386cca53720d793c5403bf2f82e8d576afe6e296a65179038188b229308256e2723b9e95f9bb39b0d#npm:5.3.1", {
"packageLocation": "./.yarn/$$virtual/html-webpack-plugin-virtual-90195809d6/0/cache/html-webpack-plugin-npm-5.3.1-6c61ea5be4-2d744cf314.zip/node_modules/html-webpack-plugin/",
"packageDependencies": [
@ -15992,24 +16012,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.3.1", {
"packageLocation": "./.yarn/$$virtual/html-webpack-plugin-virtual-f2db30acb8/0/cache/html-webpack-plugin-npm-5.3.1-6c61ea5be4-2d744cf314.zip/node_modules/html-webpack-plugin/",
"packageDependencies": [
["html-webpack-plugin", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.3.1"],
["@types/html-minifier-terser", "npm:5.1.1"],
["@types/webpack", null],
["html-minifier-terser", "npm:5.1.1"],
["lodash", "npm:4.17.21"],
["pretty-error", "npm:2.1.2"],
["tapable", "npm:2.2.0"],
["webpack", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.38.1"]
],
"packagePeers": [
"@types/webpack",
"webpack"
],
"linkType": "HARD",
}],
["virtual:beb4c218366cad8c4da96fe997fe88a6dbf8be39fc0c58c2a268588a03658c7ba45d103fbf636a724af6c876096f657636ab125613932f8c99e093546f94adb0#npm:5.3.1", {
"packageLocation": "./.yarn/$$virtual/html-webpack-plugin-virtual-d149a1a714/0/cache/html-webpack-plugin-npm-5.3.1-6c61ea5be4-2d744cf314.zip/node_modules/html-webpack-plugin/",
"packageDependencies": [
@ -26440,6 +26442,21 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:2.0.0", {
"packageLocation": "./.yarn/$$virtual/style-loader-virtual-761471c2c5/0/cache/style-loader-npm-2.0.0-b9a5c4a2aa-ffc3054882.zip/node_modules/style-loader/",
"packageDependencies": [
["style-loader", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:2.0.0"],
["@types/webpack", null],
["loader-utils", "npm:2.0.0"],
["schema-utils", "npm:3.0.0"],
["webpack", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.38.1"]
],
"packagePeers": [
"@types/webpack",
"webpack"
],
"linkType": "HARD",
}],
["virtual:885b7c7699c189719052a46b1a9ec1286757c4ac6b604c1386cca53720d793c5403bf2f82e8d576afe6e296a65179038188b229308256e2723b9e95f9bb39b0d#npm:2.0.0", {
"packageLocation": "./.yarn/$$virtual/style-loader-virtual-19126ef13d/0/cache/style-loader-npm-2.0.0-b9a5c4a2aa-ffc3054882.zip/node_modules/style-loader/",
"packageDependencies": [
@ -26455,21 +26472,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:2.0.0", {
"packageLocation": "./.yarn/$$virtual/style-loader-virtual-95b818ff17/0/cache/style-loader-npm-2.0.0-b9a5c4a2aa-ffc3054882.zip/node_modules/style-loader/",
"packageDependencies": [
["style-loader", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:2.0.0"],
["@types/webpack", null],
["loader-utils", "npm:2.0.0"],
["schema-utils", "npm:3.0.0"],
["webpack", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.38.1"]
],
"packagePeers": [
"@types/webpack",
"webpack"
],
"linkType": "HARD",
}],
["virtual:beb4c218366cad8c4da96fe997fe88a6dbf8be39fc0c58c2a268588a03658c7ba45d103fbf636a724af6c876096f657636ab125613932f8c99e093546f94adb0#npm:2.0.0", {
"packageLocation": "./.yarn/$$virtual/style-loader-virtual-c548d3aefa/0/cache/style-loader-npm-2.0.0-b9a5c4a2aa-ffc3054882.zip/node_modules/style-loader/",
"packageDependencies": [
@ -27005,25 +27007,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:76f21278f4a8c9dc6749fe37e8940de5866eb36634cce6e66c0bc61d6cd5f03433c17fa6df9b9d808134b7a19ed911bb0e93f7e09a42160bc9ba07e23c007be7#npm:5.1.2", {
"packageLocation": "./.yarn/$$virtual/terser-webpack-plugin-virtual-30347359e3/0/cache/terser-webpack-plugin-npm-5.1.2-59f409825a-f65229fc60.zip/node_modules/terser-webpack-plugin/",
"packageDependencies": [
["terser-webpack-plugin", "virtual:76f21278f4a8c9dc6749fe37e8940de5866eb36634cce6e66c0bc61d6cd5f03433c17fa6df9b9d808134b7a19ed911bb0e93f7e09a42160bc9ba07e23c007be7#npm:5.1.2"],
["@types/webpack", null],
["jest-worker", "npm:26.6.2"],
["p-limit", "npm:3.1.0"],
["schema-utils", "npm:3.0.0"],
["serialize-javascript", "npm:5.0.1"],
["source-map", "npm:0.6.1"],
["terser", "npm:5.7.0"],
["webpack", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.38.1"]
],
"packagePeers": [
"@types/webpack",
"webpack"
],
"linkType": "HARD",
}],
["virtual:87b3ebc29cfe1b6d5ced93834bd0ba08d6ee538c94cb17ed32f5050db851195781493136fa44ed5143fd20fd8383f5427440b7d8c7627d27e0cabaf48ecad1a9#npm:5.1.2", {
"packageLocation": "./.yarn/$$virtual/terser-webpack-plugin-virtual-bbca3fa0b5/0/cache/terser-webpack-plugin-npm-5.1.2-59f409825a-f65229fc60.zip/node_modules/terser-webpack-plugin/",
"packageDependencies": [
@ -27100,6 +27083,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:9207a0b8c5952df6bf321c7c138b9a2805fbeb4c37a6616e709087ce083d2b64314395d7afa0a00155f6dcb0969e7cf4a34075129c46a8e82e19eed2a82b07c5#npm:5.1.2", {
"packageLocation": "./.yarn/$$virtual/terser-webpack-plugin-virtual-39c68315ff/0/cache/terser-webpack-plugin-npm-5.1.2-59f409825a-f65229fc60.zip/node_modules/terser-webpack-plugin/",
"packageDependencies": [
["terser-webpack-plugin", "virtual:9207a0b8c5952df6bf321c7c138b9a2805fbeb4c37a6616e709087ce083d2b64314395d7afa0a00155f6dcb0969e7cf4a34075129c46a8e82e19eed2a82b07c5#npm:5.1.2"],
["@types/webpack", null],
["jest-worker", "npm:26.6.2"],
["p-limit", "npm:3.1.0"],
["schema-utils", "npm:3.0.0"],
["serialize-javascript", "npm:5.0.1"],
["source-map", "npm:0.6.1"],
["terser", "npm:5.7.0"],
["webpack", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.38.1"]
],
"packagePeers": [
"@types/webpack",
"webpack"
],
"linkType": "HARD",
}],
["virtual:ab0f06623458c6f43268b09e4c3c4ea13641070f7527ae33f3584bc5ff9f7b11403052c76a8dd6ce810b34aa776563abe13edccb37ba661b995c28bc1b92ca94#npm:5.1.2", {
"packageLocation": "./.yarn/$$virtual/terser-webpack-plugin-virtual-476fcda1d6/0/cache/terser-webpack-plugin-npm-5.1.2-59f409825a-f65229fc60.zip/node_modules/terser-webpack-plugin/",
"packageDependencies": [
@ -28610,6 +28612,40 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.38.1", {
"packageLocation": "./.yarn/$$virtual/webpack-virtual-9207a0b8c5/0/cache/webpack-npm-5.38.1-723473b68f-c6bc39fc58.zip/node_modules/webpack/",
"packageDependencies": [
["webpack", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.38.1"],
["@types/eslint-scope", "npm:3.7.0"],
["@types/estree", "npm:0.0.47"],
["@webassemblyjs/ast", "npm:1.11.0"],
["@webassemblyjs/wasm-edit", "npm:1.11.0"],
["@webassemblyjs/wasm-parser", "npm:1.11.0"],
["acorn", "npm:8.3.0"],
["browserslist", "npm:4.16.6"],
["chrome-trace-event", "npm:1.0.3"],
["enhanced-resolve", "npm:5.8.2"],
["es-module-lexer", "npm:0.4.1"],
["eslint-scope", "npm:5.1.1"],
["events", "npm:3.3.0"],
["glob-to-regexp", "npm:0.4.1"],
["graceful-fs", "npm:4.2.6"],
["json-parse-better-errors", "npm:1.0.2"],
["loader-runner", "npm:4.2.0"],
["mime-types", "npm:2.1.30"],
["neo-async", "npm:2.6.2"],
["schema-utils", "npm:3.0.0"],
["tapable", "npm:2.2.0"],
["terser-webpack-plugin", "virtual:9207a0b8c5952df6bf321c7c138b9a2805fbeb4c37a6616e709087ce083d2b64314395d7afa0a00155f6dcb0969e7cf4a34075129c46a8e82e19eed2a82b07c5#npm:5.1.2"],
["watchpack", "npm:2.2.0"],
["webpack-cli", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:4.7.0"],
["webpack-sources", "npm:2.3.0"]
],
"packagePeers": [
"webpack-cli"
],
"linkType": "HARD",
}],
["virtual:885b7c7699c189719052a46b1a9ec1286757c4ac6b604c1386cca53720d793c5403bf2f82e8d576afe6e296a65179038188b229308256e2723b9e95f9bb39b0d#npm:5.38.1", {
"packageLocation": "./.yarn/$$virtual/webpack-virtual-0831e4a792/0/cache/webpack-npm-5.38.1-723473b68f-c6bc39fc58.zip/node_modules/webpack/",
"packageDependencies": [
@ -28644,40 +28680,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.38.1", {
"packageLocation": "./.yarn/$$virtual/webpack-virtual-76f21278f4/0/cache/webpack-npm-5.38.1-723473b68f-c6bc39fc58.zip/node_modules/webpack/",
"packageDependencies": [
["webpack", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.38.1"],
["@types/eslint-scope", "npm:3.7.0"],
["@types/estree", "npm:0.0.47"],
["@webassemblyjs/ast", "npm:1.11.0"],
["@webassemblyjs/wasm-edit", "npm:1.11.0"],
["@webassemblyjs/wasm-parser", "npm:1.11.0"],
["acorn", "npm:8.3.0"],
["browserslist", "npm:4.16.6"],
["chrome-trace-event", "npm:1.0.3"],
["enhanced-resolve", "npm:5.8.2"],
["es-module-lexer", "npm:0.4.1"],
["eslint-scope", "npm:5.1.1"],
["events", "npm:3.3.0"],
["glob-to-regexp", "npm:0.4.1"],
["graceful-fs", "npm:4.2.6"],
["json-parse-better-errors", "npm:1.0.2"],
["loader-runner", "npm:4.2.0"],
["mime-types", "npm:2.1.30"],
["neo-async", "npm:2.6.2"],
["schema-utils", "npm:3.0.0"],
["tapable", "npm:2.2.0"],
["terser-webpack-plugin", "virtual:76f21278f4a8c9dc6749fe37e8940de5866eb36634cce6e66c0bc61d6cd5f03433c17fa6df9b9d808134b7a19ed911bb0e93f7e09a42160bc9ba07e23c007be7#npm:5.1.2"],
["watchpack", "npm:2.2.0"],
["webpack-cli", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:4.7.0"],
["webpack-sources", "npm:2.3.0"]
],
"packagePeers": [
"webpack-cli"
],
"linkType": "HARD",
}],
["virtual:aad21d373d6721af7549b2798c35c4ea25d83c122770abeaa0a4343ba20d55700fd9e3c5fa3289a7e6f591d09e8790df14d525c719ca4729b178b8644cca082a#npm:5.38.1", {
"packageLocation": "./.yarn/$$virtual/webpack-virtual-8d0417a807/0/cache/webpack-npm-5.38.1-723473b68f-c6bc39fc58.zip/node_modules/webpack/",
"packageDependencies": [
@ -29197,6 +29199,40 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:4.7.0", {
"packageLocation": "./.yarn/$$virtual/webpack-cli-virtual-1f5cef5497/0/cache/webpack-cli-npm-4.7.0-cb3d7c34ff-6b935cda02.zip/node_modules/webpack-cli/",
"packageDependencies": [
["webpack-cli", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:4.7.0"],
["@discoveryjs/json-ext", "npm:0.5.3"],
["@types/webpack", null],
["@webpack-cli/configtest", "virtual:1f5cef5497efda9312a376e583bd1e2b84021d86dcd3b12519da0b55aeeaa6ef760229f27a84e9c477ae7858ff454f9ae63b0db609f7909abd08b05b55b97620#npm:1.0.3"],
["@webpack-cli/generators", null],
["@webpack-cli/info", "virtual:1f5cef5497efda9312a376e583bd1e2b84021d86dcd3b12519da0b55aeeaa6ef760229f27a84e9c477ae7858ff454f9ae63b0db609f7909abd08b05b55b97620#npm:1.2.4"],
["@webpack-cli/migrate", null],
["@webpack-cli/serve", "virtual:1f5cef5497efda9312a376e583bd1e2b84021d86dcd3b12519da0b55aeeaa6ef760229f27a84e9c477ae7858ff454f9ae63b0db609f7909abd08b05b55b97620#npm:1.4.0"],
["colorette", "npm:1.2.2"],
["commander", "npm:7.2.0"],
["execa", "npm:5.0.1"],
["fastest-levenshtein", "npm:1.0.12"],
["import-local", "npm:3.0.2"],
["interpret", "npm:2.2.0"],
["rechoir", "npm:0.7.0"],
["v8-compile-cache", "npm:2.3.0"],
["webpack", "virtual:82de947fc294c4b5c3387525f54fa68d9b130722ab1400baec48c70f5de8f0a113483d6107190c2cd1f74a09b0cd778b2a5327c52819b03bc6afce59e3437fbd#npm:5.38.1"],
["webpack-bundle-analyzer", null],
["webpack-dev-server", null],
["webpack-merge", "npm:5.7.3"]
],
"packagePeers": [
"@types/webpack",
"@webpack-cli/generators",
"@webpack-cli/migrate",
"webpack-bundle-analyzer",
"webpack-dev-server",
"webpack"
],
"linkType": "HARD",
}],
["virtual:885b7c7699c189719052a46b1a9ec1286757c4ac6b604c1386cca53720d793c5403bf2f82e8d576afe6e296a65179038188b229308256e2723b9e95f9bb39b0d#npm:4.7.0", {
"packageLocation": "./.yarn/$$virtual/webpack-cli-virtual-4612eef536/0/cache/webpack-cli-npm-4.7.0-cb3d7c34ff-6b935cda02.zip/node_modules/webpack-cli/",
"packageDependencies": [
@ -29231,40 +29267,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
],
"linkType": "HARD",
}],
["virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:4.7.0", {
"packageLocation": "./.yarn/$$virtual/webpack-cli-virtual-f83e9107e8/0/cache/webpack-cli-npm-4.7.0-cb3d7c34ff-6b935cda02.zip/node_modules/webpack-cli/",
"packageDependencies": [
["webpack-cli", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:4.7.0"],
["@discoveryjs/json-ext", "npm:0.5.3"],
["@types/webpack", null],
["@webpack-cli/configtest", "virtual:f83e9107e81fdc07a45af0fc6796969367d1a303e9604881da21d7ee7a3d21b058df547828d70e186ef296dc18bba6a5c6f10137b46a2c1a15a805423a8fc8d8#npm:1.0.3"],
["@webpack-cli/generators", null],
["@webpack-cli/info", "virtual:f83e9107e81fdc07a45af0fc6796969367d1a303e9604881da21d7ee7a3d21b058df547828d70e186ef296dc18bba6a5c6f10137b46a2c1a15a805423a8fc8d8#npm:1.2.4"],
["@webpack-cli/migrate", null],
["@webpack-cli/serve", "virtual:f83e9107e81fdc07a45af0fc6796969367d1a303e9604881da21d7ee7a3d21b058df547828d70e186ef296dc18bba6a5c6f10137b46a2c1a15a805423a8fc8d8#npm:1.4.0"],
["colorette", "npm:1.2.2"],
["commander", "npm:7.2.0"],
["execa", "npm:5.0.1"],
["fastest-levenshtein", "npm:1.0.12"],
["import-local", "npm:3.0.2"],
["interpret", "npm:2.2.0"],
["rechoir", "npm:0.7.0"],
["v8-compile-cache", "npm:2.3.0"],
["webpack", "virtual:9d140c8c7e6cf46aed8abf40a0f1bf143eebb4006f69fe73c8eb6fee0d95a298d9eac70e1d5fef379a61bbc3388e8980bc436bdda5d2d7973ef5d5fff7b04ea0#npm:5.38.1"],
["webpack-bundle-analyzer", null],
["webpack-dev-server", null],
["webpack-merge", "npm:5.7.3"]
],
"packagePeers": [
"@types/webpack",
"@webpack-cli/generators",
"@webpack-cli/migrate",
"webpack-bundle-analyzer",
"webpack-dev-server",
"webpack"
],
"linkType": "HARD",
}],
["virtual:aad21d373d6721af7549b2798c35c4ea25d83c122770abeaa0a4343ba20d55700fd9e3c5fa3289a7e6f591d09e8790df14d525c719ca4729b178b8644cca082a#npm:4.7.0", {
"packageLocation": "./.yarn/$$virtual/webpack-cli-virtual-a3ecf627f7/0/cache/webpack-cli-npm-4.7.0-cb3d7c34ff-6b935cda02.zip/node_modules/webpack-cli/",
"packageDependencies": [

View File

@ -28,6 +28,7 @@ function getServer({
logger,
getSecrets,
serveStaticFiles = true,
shellLocation,
}) {
const context = createContext({
CONFIGURATION_BASE_PATH: configurationBasePath,
@ -45,8 +46,9 @@ function getServer({
let indexHtml = null;
const serveIndex = async (req, res) => {
if (!indexHtml) {
indexHtml = await readFile(path.resolve(process.cwd(), 'dist/shell/index.html'));
// TODO: can do better here?
if (!indexHtml || development) {
indexHtml = await readFile(path.resolve(process.cwd(), shellLocation, 'shell/index.html'));
let appConfig = await readFile(path.resolve(configurationBasePath, 'app.json'));
appConfig = JSON.parse(appConfig);
indexHtml = indexHtml.replace(
@ -70,8 +72,10 @@ function getServer({
// else static server serves without appended html
server.get('/', serveIndex);
// Serve webpack and public files from './dist/shell'
server.use(express.static('dist/shell'));
server.use('/shell', express.static(path.resolve(process.cwd(), shellLocation, 'shell')));
// serve public files
server.use('/public', express.static(path.resolve(process.cwd(), shellLocation, 'public')));
// Redirect all 404 to index.html with status 200
// This should always be the last route

View File

@ -30,16 +30,16 @@
],
"scripts": {
"babel": "babel src --out-dir dist",
"build": "yarn webpack && yarn babel",
"build": "yarn babel",
"clean": "rm -rf dist && rm -rf .lowdefy",
"prepare": "yarn build",
"start": "nodemon dist/server.js",
"webpack": "webpack --config webpack.config.js"
"start": "nodemon dist/server.js"
},
"dependencies": {
"@lowdefy/graphql": "3.16.5",
"@lowdefy/node-utils": "3.16.5",
"@lowdefy/server": "3.16.5",
"@lowdefy/shell": "3.16.5",
"apollo-server-express": "2.25.0",
"dotenv": "10.0.0",
"express": "4.17.1",

View File

@ -16,6 +16,7 @@
import dotenv from 'dotenv';
import getServer from '@lowdefy/server';
import shellLocation from '@lowdefy/shell';
import { createGetSecretsFromEnv } from '@lowdefy/node-utils';
dotenv.config({ silent: true });
@ -25,6 +26,7 @@ const server = getServer({
development: true,
getSecrets: createGetSecretsFromEnv(),
logger: console,
shellLocation,
});
server.listen({ port: 3000 }, () => console.log(`🚀 Server ready at http://localhost:3000`));

Binary file not shown.

Before

Width:  |  Height:  |  Size: 949 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 734 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 94 94" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1,0,0,1,-979.672,-59.6924)">
<g transform="matrix(1,0,0,1.03297,-38.3284,-294.615)">
<g transform="matrix(1,0,0,1,952,232)">
<path d="M160,129.634C160,119.35 151.375,111 140.751,111L85.249,111C74.625,111 66,119.35 66,129.634L66,183.366C66,193.65 74.625,202 85.249,202L140.751,202C151.375,202 160,193.65 160,183.366L160,129.634Z"/>
</g>
<g transform="matrix(0.872141,0,0,1,1002.6,346)">
<rect x="36" y="12" width="36" height="59" style="fill:white;"/>
</g>
<g transform="matrix(0.78125,0,0,0.862069,1010.84,356.663)">
<rect x="77" y="41" width="32" height="29" style="fill:rgb(24,144,255);"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -1,16 +0,0 @@
{
"short_name": "Lowdefy App",
"name": "Lowdefy App",
"description": "Lowdefy App",
"icons": [
{
"src": "/public/icon-512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": "/",
"background_color": "#FFFFFF",
"display": "browser",
"scope": "/"
}

View File

@ -1,48 +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 filterDefaultValue(value, defaultValue) {
const isObject = (obj) => typeof obj === 'object' && obj !== null && !Array.isArray(obj);
const isEmptyObject = (obj) => isObject(obj) && Object.keys(obj).length === 0;
const getNestedValue = (obj, path) => {
const keys = [...path];
const key = keys.shift();
const value = obj[key];
if (keys.length > 0 && isObject(value)) return getNestedValue(value, keys);
return value;
};
const filterObject = ({ obj, path }) => {
Object.keys(obj).forEach((key) => {
const propPath = path.concat([key]);
if (isObject(obj[key])) {
filterObject({ obj: obj[key], path: propPath });
}
const dv = getNestedValue(defaultValue, propPath);
if (obj[key] === dv) {
delete obj[key];
}
if (obj[key] === null || isEmptyObject(obj[key])) {
delete obj[key];
}
});
return obj;
};
return filterObject({ obj: value, path: [] });
}
export default filterDefaultValue;

View File

@ -1,3 +0,0 @@
import filterDefaultValue from './filterDefaultValue.js';
window.lowdefy.registerJsOperator('filterDefaultValue', filterDefaultValue);

View File

@ -1,78 +0,0 @@
const path = require('path');
const webpack = require('webpack');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const CopyPlugin = require('copy-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { ModuleFederationPlugin } = require('webpack').container;
const packageJson = require('./package.json');
module.exports = {
entry: './src/shell/index',
mode: 'development',
devtool: 'eval-source-map',
output: {
path: path.resolve(__dirname, 'dist/shell'),
},
module: {
rules: [
{
test: /\.jsx?$/,
loader: 'babel-loader',
exclude: /node_modules/,
options: {
babelrc: false,
presets: ['@babel/preset-react'],
},
},
{
test: /\.css$/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader', // translates CSS into CommonJS
},
],
},
],
},
plugins: [
new CleanWebpackPlugin(),
new HtmlWebpackPlugin({
minify: false,
publicPath: '/',
template: './src/shell/index.html',
}),
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('development'),
}),
new ModuleFederationPlugin({
name: 'lowdefy_web_shell',
shared: {
...packageJson.dependencies,
react: {
singleton: true, // only a single version of the shared module is allowed
requiredVersion: '~17.0.0',
version: packageJson.dependencies.react,
},
'react-dom': {
singleton: true, // only a single version of the shared module is allowed
requiredVersion: '~17.0.0',
version: packageJson.dependencies['react-dom'],
},
},
remotes: {
lowdefy_renderer: `lowdefy_renderer@http://localhost:3001/remoteEntry.js`,
},
}),
new CopyPlugin({
patterns: [
{
from: './src/shell/public',
to: 'public',
},
],
}),
],
};

View File

@ -31,18 +31,18 @@
],
"scripts": {
"babel": "babel src --out-dir dist",
"build": "yarn webpack && yarn babel",
"build": "yarn babel",
"build:docker": "docker build --tag lowdefy/lowdefy .",
"build:lowdefy-starter": "lowdefy init && lowdefy build",
"clean": "rm -rf dist && rm -rf dev",
"prepare": "yarn build",
"start": "nodemon dist/server.js",
"webpack": "webpack --config webpack.config.js"
"start": "nodemon dist/server.js"
},
"dependencies": {
"@lowdefy/graphql": "3.16.5",
"@lowdefy/node-utils": "3.16.5",
"@lowdefy/server": "3.16.5",
"@lowdefy/shell": "3.16.5",
"apollo-server-express": "2.25.0",
"express": "4.17.1",
"graphql": "15.5.0"

View File

@ -15,6 +15,7 @@
*/
import getServer from '@lowdefy/server';
import shellLocation from '@lowdefy/shell';
import { createGetSecretsFromEnv } from '@lowdefy/node-utils';
const configurationBasePath = process.env.LOWDEFY_SERVER_CONFIGURATION_PATH || './build';
@ -25,6 +26,7 @@ const server = getServer({
development: false,
getSecrets: createGetSecretsFromEnv(),
logger: console,
shellLocation,
});
server.listen({ port }, () => console.log(`Server started at port ${port}`));

View File

@ -1,33 +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.
*/
/*global __webpack_share_scopes__, __webpack_init_sharing__*/
import React from 'react';
import ReactDOM from 'react-dom';
import { Loading } from '@lowdefy/block-tools';
const Renderer = React.lazy(() => import('lowdefy_renderer/Renderer'));
function Shell() {
return (
<React.Suspense fallback={<Loading type="Spinner" properties={{ height: '100vh' }} />}>
<Renderer />
</React.Suspense>
);
}
ReactDOM.render(<Shell />, document.getElementById('root'));

View File

@ -1,58 +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. -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Lowdefy App</title>
<link rel="manifest" href="/public/manifest.webmanifest">
<link rel="icon" type="image/svg+xml" href="/public/icon.svg">
<link rel="icon" type="image/png" href="/public/icon-32.png">
<link rel="apple-touch-icon" href="/public/apple-touch-icon.png">
<script type="text/javascript">
const jsActions = {}
const jsOperators = {}
const getMethodLoader = (scope, reference) =>
(name, method) => {
if (typeof name !== 'string') {
throw new Error(`${scope} requires a string for the first argument.`)
}
if (typeof method !== 'function') {
throw new Error(`${scope} requires a function for the second argument.`)
}
reference[name] = method;
}
window.lowdefy = {
imports: {
jsActions,
jsOperators,
},
registerJsAction: getMethodLoader('registerJsAction', jsActions),
registerJsOperator: getMethodLoader('registerJsOperator', jsOperators)
}
</script>
<!-- __LOWDEFY_APP_HEAD_HTML__ -->
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="emotion"></div>
<div id="root"></div>
<!-- __LOWDEFY_APP_BODY_HTML__ -->
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 949 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 734 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 94 94" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1,0,0,1,-979.672,-59.6924)">
<g transform="matrix(1,0,0,1.03297,-38.3284,-294.615)">
<g transform="matrix(1,0,0,1,952,232)">
<path d="M160,129.634C160,119.35 151.375,111 140.751,111L85.249,111C74.625,111 66,119.35 66,129.634L66,183.366C66,193.65 74.625,202 85.249,202L140.751,202C151.375,202 160,193.65 160,183.366L160,129.634Z"/>
</g>
<g transform="matrix(0.872141,0,0,1,1002.6,346)">
<rect x="36" y="12" width="36" height="59" style="fill:white;"/>
</g>
<g transform="matrix(0.78125,0,0,0.862069,1010.84,356.663)">
<rect x="77" y="41" width="32" height="29" style="fill:rgb(24,144,255);"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -1,16 +0,0 @@
{
"short_name": "Lowdefy App",
"name": "Lowdefy App",
"description": "Lowdefy App",
"icons": [
{
"src": "/public/icon-512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": "/",
"background_color": "#FFFFFF",
"display": "browser",
"scope": "/"
}

View File

@ -1,82 +0,0 @@
const path = require('path');
const webpack = require('webpack');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const CopyPlugin = require('copy-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { ModuleFederationPlugin } = require('webpack').container;
const packageJson = require('./package.json');
module.exports = {
entry: './src/shell/index',
mode: 'production',
output: {
filename: '[name].[contenthash].js',
path: path.resolve(__dirname, 'dist/shell'),
},
module: {
rules: [
{
test: /\.jsx?$/,
loader: 'babel-loader',
exclude: /node_modules/,
options: {
babelrc: false,
presets: ['@babel/preset-react'],
},
},
{
test: /\.css$/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader', // translates CSS into CommonJS
},
],
},
],
},
optimization: {
moduleIds: 'deterministic',
runtimeChunk: 'single',
},
plugins: [
new CleanWebpackPlugin(),
new HtmlWebpackPlugin({
minify: false,
publicPath: '/',
template: './src/shell/index.html',
}),
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production'),
}),
new ModuleFederationPlugin({
name: 'lowdefy_web_shell',
shared: {
...packageJson.dependencies,
react: {
singleton: true, // only a single version of the shared module is allowed
requiredVersion: '~17.0.0',
version: packageJson.dependencies.react,
},
'react-dom': {
singleton: true, // only a single version of the shared module is allowed
requiredVersion: '~17.0.0',
version: packageJson.dependencies['react-dom'],
},
},
remotes: {
lowdefy_renderer: `lowdefy_renderer@https://blocks-cdn.lowdefy.com/v${packageJson.version}/renderer/remoteEntry.js`,
},
}),
new CopyPlugin({
patterns: [
{
from: './src/shell/public',
to: 'public',
},
],
}),
],
};

13
packages/shell/.babelrc Normal file
View File

@ -0,0 +1,13 @@
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "12",
"esmodules": true
}
}
]
]
}

View File

@ -25,13 +25,16 @@
"type": "git",
"url": "https://github.com/lowdefy/lowdefy.git"
},
"main": "dist/location.js",
"files": [
"dist/*"
],
"scripts": {
"build": "webpack --config webpack.config.js",
"babel": "babel src/location.js --out-dir dist",
"build": "yarn webpack && yarn babel",
"clean": "rm -rf dist",
"prepare": "yarn build"
"prepare": "yarn build",
"webpack": "webpack --config webpack.config.js"
},
"dependencies": {
"@lowdefy/graphql": "3.16.5",

View File

@ -1,33 +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.
*/
/*global __webpack_share_scopes__, __webpack_init_sharing__*/
import React from 'react';
import ReactDOM from 'react-dom';
import { Loading } from '@lowdefy/block-tools';
const Renderer = React.lazy(() => import('lowdefy_renderer/Renderer'));
function Shell() {
return (
<React.Suspense fallback={<Loading type="Spinner" properties={{ height: '100vh' }} />}>
<Renderer gqlUri="http://localhost:3000/api/graphql" />
</React.Suspense>
);
}
ReactDOM.render(<Shell />, document.getElementById('root'));

View File

@ -1,57 +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. -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Lowdefy App</title>
<link rel="manifest" href="/public/manifest.webmanifest">
<link rel="icon" type="image/svg+xml" href="/public/icon.svg">
<link rel="icon" type="image/png" href="/public/icon-32.png">
<link rel="apple-touch-icon" href="/public/apple-touch-icon.png">
<script type="text/javascript">
const jsActions = {}
const jsOperators = {}
const getMethodLoader = (scope, reference) =>
(name, method) => {
if (typeof name !== 'string') {
throw new Error(`${scope} requires a string for the first argument.`)
}
if (typeof method !== 'function') {
throw new Error(`${scope} requires a function for the second argument.`)
}
reference[name] = method;
}
window.lowdefy = {
imports: {
jsActions,
jsOperators,
},
registerJsAction: getMethodLoader('registerJsAction', jsActions),
registerJsOperator: getMethodLoader('registerJsOperator', jsOperators)
}
</script>
<!-- __LOWDEFY_APP_HEAD_HTML__ -->
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="emotion"></div>
<div id="root"></div>
<!-- __LOWDEFY_APP_BODY_HTML__ -->
</body>
</html>

View File

@ -1,17 +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.
*/
import('./bootstrap');

View File

@ -14,4 +14,6 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import('./bootstrap');
import path from 'path';
export default path.resolve(__dirname);

View File

@ -19,34 +19,33 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Lowdefy App</title>
<link rel="manifest" href="/public/manifest.webmanifest">
<link rel="manifest" href="/public/manifest.webmanifest" />
<link rel="icon" type="image/svg+xml" href="/public/icon.svg">
<link rel="icon" type="image/png" href="/public/icon-32.png">
<link rel="apple-touch-icon" href="/public/apple-touch-icon.png">
<link rel="icon" type="image/svg+xml" href="/public/icon.svg" />
<link rel="icon" type="image/png" href="/public/icon-32.png" />
<link rel="apple-touch-icon" href="/public/apple-touch-icon.png" />
<script type="text/javascript">
const jsActions = {}
const jsOperators = {}
const getMethodLoader = (scope, reference) =>
(name, method) => {
if (typeof name !== 'string') {
throw new Error(`${scope} requires a string for the first argument.`)
}
if (typeof method !== 'function') {
throw new Error(`${scope} requires a function for the second argument.`)
}
reference[name] = method;
const jsActions = {};
const jsOperators = {};
const getMethodLoader = (scope, reference) => (name, method) => {
if (typeof name !== 'string') {
throw new Error(`${scope} requires a string for the first argument.`);
}
if (typeof method !== 'function') {
throw new Error(`${scope} requires a function for the second argument.`);
}
reference[name] = method;
};
window.lowdefy = {
imports: {
jsActions,
jsOperators,
},
registerJsAction: getMethodLoader('registerJsAction', jsActions),
registerJsOperator: getMethodLoader('registerJsOperator', jsOperators)
}
</script>
<!-- __LOWDEFY_APP_HEAD_HTML__ -->
registerJsOperator: getMethodLoader('registerJsOperator', jsOperators),
};
</script>
<!-- __LOWDEFY_APP_HEAD_HTML__ -->
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>

View File

@ -7,11 +7,11 @@ const { ModuleFederationPlugin } = require('webpack').container;
const packageJson = require('./package.json');
module.exports = {
entry: './src/index',
entry: './src/shell/index',
mode: 'production',
output: {
filename: '[name].[contenthash].js',
path: path.resolve(__dirname, 'dist'),
path: path.resolve(__dirname, 'dist/shell'),
},
module: {
rules: [
@ -45,8 +45,8 @@ module.exports = {
new CleanWebpackPlugin(),
new HtmlWebpackPlugin({
minify: false,
publicPath: '/',
template: './src/index.html',
publicPath: '/shell',
template: './src/shell/index.html',
}),
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production'),
@ -74,7 +74,7 @@ module.exports = {
patterns: [
{
from: './src/public',
to: 'public',
to: '../public',
},
],
}),

View File

@ -3460,6 +3460,39 @@ __metadata:
languageName: unknown
linkType: soft
"@lowdefy/server-aws-lambda@workspace:packages/servers/serverAwsLambda":
version: 0.0.0-use.local
resolution: "@lowdefy/server-aws-lambda@workspace:packages/servers/serverAwsLambda"
dependencies:
"@babel/cli": 7.14.3
"@babel/core": 7.14.3
"@babel/preset-env": 7.14.4
"@babel/preset-react": 7.13.13
"@lowdefy/block-tools": 3.16.5
"@lowdefy/graphql": 3.16.5
"@lowdefy/node-utils": 3.16.5
"@lowdefy/server": 3.16.5
apollo-server-express: 2.25.0
babel-jest: 26.6.3
babel-loader: 8.2.2
clean-webpack-plugin: 3.0.0
copy-webpack-plugin: 9.0.0
css-loader: 5.2.6
express: 4.17.1
graphql: 15.5.0
html-webpack-plugin: 5.3.1
jest: 26.6.3
lowdefy: 3.16.5
nodemon: 2.0.7
react: 17.0.2
react-dom: 17.0.2
serverless-http: 2.7.0
style-loader: 2.0.0
webpack: 5.38.1
webpack-cli: 4.7.0
languageName: unknown
linkType: soft
"@lowdefy/server-dev@workspace:packages/servers/serverDev":
version: 0.0.0-use.local
resolution: "@lowdefy/server-dev@workspace:packages/servers/serverDev"
@ -3472,6 +3505,7 @@ __metadata:
"@lowdefy/graphql": 3.16.5
"@lowdefy/node-utils": 3.16.5
"@lowdefy/server": 3.16.5
"@lowdefy/shell": 3.16.5
apollo-server-express: 2.25.0
babel-jest: 26.6.3
babel-loader: 8.2.2
@ -3504,6 +3538,7 @@ __metadata:
"@lowdefy/graphql": 3.16.5
"@lowdefy/node-utils": 3.16.5
"@lowdefy/server": 3.16.5
"@lowdefy/shell": 3.16.5
apollo-server-express: 2.25.0
babel-jest: 26.6.3
babel-loader: 8.2.2
@ -3524,39 +3559,6 @@ __metadata:
languageName: unknown
linkType: soft
"@lowdefy/server-lambda@workspace:packages/servers/serverLambda":
version: 0.0.0-use.local
resolution: "@lowdefy/server-lambda@workspace:packages/servers/serverLambda"
dependencies:
"@babel/cli": 7.14.3
"@babel/core": 7.14.3
"@babel/preset-env": 7.14.4
"@babel/preset-react": 7.13.13
"@lowdefy/block-tools": 3.16.5
"@lowdefy/graphql": 3.16.5
"@lowdefy/node-utils": 3.16.5
"@lowdefy/server": 3.16.5
apollo-server-express: 2.25.0
babel-jest: 26.6.3
babel-loader: 8.2.2
clean-webpack-plugin: 3.0.0
copy-webpack-plugin: 9.0.0
css-loader: 5.2.6
express: 4.17.1
graphql: 15.5.0
html-webpack-plugin: 5.3.1
jest: 26.6.3
lowdefy: 3.16.5
nodemon: 2.0.7
react: 17.0.2
react-dom: 17.0.2
serverless-http: 2.7.0
style-loader: 2.0.0
webpack: 5.38.1
webpack-cli: 4.7.0
languageName: unknown
linkType: soft
"@lowdefy/server-netlify@workspace:packages/servers/serverNetlify":
version: 0.0.0-use.local
resolution: "@lowdefy/server-netlify@workspace:packages/servers/serverNetlify"
@ -3611,7 +3613,7 @@ __metadata:
languageName: unknown
linkType: soft
"@lowdefy/shell@workspace:packages/shell":
"@lowdefy/shell@3.16.5, @lowdefy/shell@workspace:packages/shell":
version: 0.0.0-use.local
resolution: "@lowdefy/shell@workspace:packages/shell"
dependencies: