diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 70c0aeb23..2bee96ce0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,6 +17,7 @@ jobs: node-version: '12.x' - uses: actions/checkout@v2 with: + # needed for yarn version check, checks out entire repo fetch-depth: 0 - name: Check yarn cache integrity run: yarn install --immutable --immutable-cache --check-cache diff --git a/.pnp.js b/.pnp.js index 067c5116e..f1b60a98d 100755 --- a/.pnp.js +++ b/.pnp.js @@ -42,10 +42,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "name": "@lowdefy/engine", "reference": "workspace:packages/engine" }, - { - "name": "@lowdefy/express", - "reference": "workspace:packages/express" - }, { "name": "@lowdefy/format", "reference": "workspace:packages/format" @@ -77,6 +73,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { { "name": "@lowdefy/renderer", "reference": "workspace:packages/renderer" + }, + { + "name": "@lowdefy/server", + "reference": "workspace:packages/server" } ], "enableTopLevelFallback": true, @@ -87,7 +87,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@lowdefy/cli", ["workspace:packages/cli"]], ["@lowdefy/color", ["workspace:packages/color"]], ["@lowdefy/engine", ["workspace:packages/engine"]], - ["@lowdefy/express", ["workspace:packages/express"]], ["@lowdefy/format", ["workspace:packages/format"]], ["@lowdefy/graphql", ["workspace:packages/graphql"]], ["@lowdefy/helpers", ["workspace:packages/helpers"]], @@ -96,7 +95,8 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@lowdefy/node-utils", ["workspace:packages/nodeUtils"]], ["@lowdefy/nunjucks", ["workspace:packages/nunjucks"]], ["@lowdefy/operators", ["workspace:packages/operators"]], - ["@lowdefy/renderer", ["workspace:packages/renderer"]] + ["@lowdefy/renderer", ["workspace:packages/renderer"]], + ["@lowdefy/server", ["workspace:packages/server"]] ], "fallbackPool": [ ], @@ -209,7 +209,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@wry/equality", "npm:0.2.0"], ["fast-json-stable-stringify", "npm:2.1.0"], ["graphql", "npm:15.4.0"], - ["graphql-tag", "virtual:90d4a72924f341713b457eb175224e1ec0cb1cc17fae57e4425352a06b7bd1badc2992c0aaf430411c746462d51ce4afd9da56feea73b62dad7f9bec3f6bc226#npm:2.11.0"], + ["graphql-tag", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:2.11.0"], ["hoist-non-react-statics", "npm:3.3.2"], ["optimism", "npm:0.13.0"], ["prop-types", "npm:15.7.2"], @@ -242,7 +242,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@wry/equality", "npm:0.2.0"], ["fast-json-stable-stringify", "npm:2.1.0"], ["graphql", "npm:15.4.0"], - ["graphql-tag", "virtual:90d4a72924f341713b457eb175224e1ec0cb1cc17fae57e4425352a06b7bd1badc2992c0aaf430411c746462d51ce4afd9da56feea73b62dad7f9bec3f6bc226#npm:2.11.0"], + ["graphql-tag", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:2.11.0"], ["hoist-non-react-statics", "npm:3.3.2"], ["optimism", "npm:0.13.0"], ["prop-types", "npm:15.7.2"], @@ -313,17 +313,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@protobufjs/pool", "npm:1.1.0"], ["@protobufjs/utf8", "npm:1.1.0"], ["@types/long", "npm:4.0.1"], - ["@types/node", "npm:10.17.43"], + ["@types/node", "npm:10.17.44"], ["long", "npm:4.0.0"] ], "linkType": "HARD", }] ]], ["@apollographql/apollo-tools", [ - ["virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.4.8", { - "packageLocation": "./.yarn/$$virtual/@apollographql-apollo-tools-virtual-6fc346eb83/0/cache/@apollographql-apollo-tools-npm-0.4.8-634f66fb5b-324d2a78e4.zip/node_modules/@apollographql/apollo-tools/", + ["virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.4.8", { + "packageLocation": "./.yarn/$$virtual/@apollographql-apollo-tools-virtual-44ddc73d97/0/cache/@apollographql-apollo-tools-npm-0.4.8-634f66fb5b-324d2a78e4.zip/node_modules/@apollographql/apollo-tools/", "packageDependencies": [ - ["@apollographql/apollo-tools", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.4.8"], + ["@apollographql/apollo-tools", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.4.8"], ["@types/graphql", null], ["apollo-env", "npm:0.6.5"], ["graphql", "npm:15.4.0"] @@ -363,7 +363,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@babel/core", "npm:7.12.3"], ["@nicolo-ribaudo/chokidar-2", "npm:2.1.8"], ["@types/babel__core", null], - ["chokidar", "npm:3.4.2"], + ["chokidar", "npm:3.4.3"], ["commander", "npm:4.1.1"], ["convert-source-map", "npm:1.7.0"], ["fs-readdir-recursive", "npm:1.1.0"], @@ -414,7 +414,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@babel/types", "npm:7.12.1"], ["convert-source-map", "npm:1.7.0"], ["debug", "virtual:88318143fb6d80d1f55c54ae799fe6cfcf29c86ca9b9dae7a485ec5bdb22c3a20f79119854bb9696c57b5a03879e8671e3e9d39fcd8ca2cec3e6655f73233a79#npm:4.3.0"], - ["gensync", "npm:1.0.0-beta.1"], + ["gensync", "npm:1.0.0-beta.2"], ["json5", "npm:2.1.3"], ["lodash", "npm:4.17.20"], ["resolve", "patch:resolve@npm%3A1.18.1#builtin::version=1.18.1&hash=3388aa"], @@ -2574,7 +2574,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["@jest/console", "npm:26.6.1"], ["@jest/types", "npm:26.6.1"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["chalk", "npm:4.1.0"], ["jest-message-util", "npm:26.6.1"], ["jest-util", "npm:26.6.1"], @@ -2593,7 +2593,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@jest/test-result", "npm:26.6.1"], ["@jest/transform", "npm:26.6.1"], ["@jest/types", "npm:26.6.1"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["ansi-escapes", "npm:4.3.1"], ["chalk", "npm:4.1.0"], ["exit", "npm:0.1.2"], @@ -2627,7 +2627,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@jest/environment", "npm:26.6.1"], ["@jest/fake-timers", "npm:26.6.1"], ["@jest/types", "npm:26.6.1"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["jest-mock", "npm:26.6.1"] ], "linkType": "HARD", @@ -2640,7 +2640,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@jest/fake-timers", "npm:26.6.1"], ["@jest/types", "npm:26.6.1"], ["@sinonjs/fake-timers", "npm:6.0.1"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["jest-message-util", "npm:26.6.1"], ["jest-mock", "npm:26.6.1"], ["jest-util", "npm:26.6.1"] @@ -2764,7 +2764,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@jest/types", "npm:26.6.1"], ["@types/istanbul-lib-coverage", "npm:2.0.3"], ["@types/istanbul-reports", "npm:3.0.0"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["@types/yargs", "npm:15.0.9"], ["chalk", "npm:4.1.0"] ], @@ -3636,6 +3636,19 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["@lowdefy/block-tools", [ + ["npm:1.0.1-alpha.9", { + "packageLocation": "./.yarn/cache/@lowdefy-block-tools-npm-1.0.1-alpha.9-4588a99901-1283256de9.zip/node_modules/@lowdefy/block-tools/", + "packageDependencies": [ + ["@lowdefy/block-tools", "npm:1.0.1-alpha.9"], + ["@lowdefy/helpers", "workspace:packages/helpers"], + ["ajv", "npm:6.12.6"], + ["ajv-errors", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:1.0.1"], + ["create-emotion", "npm:10.0.27"], + ["react", "npm:17.0.1"], + ["react-dom", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:17.0.1"] + ], + "linkType": "HARD", + }], ["workspace:packages/blockTools", { "packageLocation": "./packages/blockTools/", "packageDependencies": [ @@ -3652,6 +3665,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["babel-loader", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:8.1.0"], ["babel-plugin-import", "npm:1.13.1"], ["buffer", "npm:5.7.0"], + ["clean-webpack-plugin", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:3.0.0"], ["create-emotion", "npm:10.0.27"], ["css-loader", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:5.0.0"], ["enzyme", "npm:3.11.0"], @@ -3690,6 +3704,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["axios", "npm:0.21.0"], ["babel-jest", "virtual:1014ef660ce97becb8ac4df1a8d21a33469d752bd4a1c6c0282cd0e1cb1287e68fbacb2c474a03cbfe0a01bb9c7d0c2165dd449f02ebc6028899420c3fe79fc6#npm:26.6.1"], ["babel-loader", "virtual:aad21d373d6721af7549b2798c35c4ea25d83c122770abeaa0a4343ba20d55700fd9e3c5fa3289a7e6f591d09e8790df14d525c719ca4729b178b8644cca082a#npm:8.1.0"], + ["clean-webpack-plugin", "virtual:aad21d373d6721af7549b2798c35c4ea25d83c122770abeaa0a4343ba20d55700fd9e3c5fa3289a7e6f591d09e8790df14d525c719ca4729b178b8644cca082a#npm:3.0.0"], ["dataloader", "npm:2.0.0"], ["jest", "npm:26.6.1"], ["js-yaml", "npm:3.14.0"], @@ -3709,20 +3724,32 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@babel/cli", "virtual:4a7337632ff6e9ee5a1c45a62a9ff4cc325a9367b21424babda93e269fe01b671e885bc41bdeebafb83c81f2a8eebbf0102043354a4e58905f61c8c3387cda1e#npm:7.12.1"], ["@babel/core", "npm:7.12.3"], ["@babel/preset-env", "virtual:4a7337632ff6e9ee5a1c45a62a9ff4cc325a9367b21424babda93e269fe01b671e885bc41bdeebafb83c81f2a8eebbf0102043354a4e58905f61c8c3387cda1e#npm:7.12.1"], - ["@lowdefy/build", "workspace:packages/build"], + ["@babel/preset-react", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:7.12.1"], + ["@lowdefy/block-tools", "npm:1.0.1-alpha.9"], ["@lowdefy/helpers", "workspace:packages/helpers"], ["@lowdefy/node-utils", "workspace:packages/nodeUtils"], + ["apollo-server-express", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:2.18.2"], ["axios", "npm:0.21.0"], ["babel-jest", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:26.5.2"], ["babel-loader", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:8.1.0"], ["chalk", "npm:4.1.0"], ["chokidar", "npm:3.4.3"], + ["clean-webpack-plugin", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:3.0.0"], ["commander", "npm:6.2.0"], + ["css-loader", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:5.0.0"], ["decompress", "npm:4.2.1"], ["decompress-targz", "npm:4.1.1"], + ["express", "npm:4.17.1"], + ["graphql", "npm:15.4.0"], + ["html-webpack-plugin", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:4.5.0"], ["inquirer", "npm:7.3.3"], ["jest", "npm:26.5.3"], ["js-yaml", "npm:3.14.0"], + ["opener", "npm:1.5.2"], + ["react", "npm:17.0.1"], + ["react-dom", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:17.0.1"], + ["reload", "npm:3.1.1"], + ["style-loader", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:2.0.0"], ["webpack", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:5.3.2"], ["webpack-cli", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:4.0.0"] ], @@ -3745,6 +3772,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["@lowdefy/engine", [ + ["npm:0.0.0-alpha.1", { + "packageLocation": "./.yarn/cache/@lowdefy-engine-npm-0.0.0-alpha.1-004c11a426-096f56708e.zip/node_modules/@lowdefy/engine/", + "packageDependencies": [ + ["@lowdefy/engine", "npm:0.0.0-alpha.1"], + ["@lowdefy/helpers", "workspace:packages/helpers"], + ["@lowdefy/operators", "workspace:packages/operators"], + ["graphql", "npm:15.4.0"], + ["graphql-tag", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:2.11.0"] + ], + "linkType": "HARD", + }], ["workspace:packages/engine", { "packageLocation": "./packages/engine/", "packageDependencies": [ @@ -3756,39 +3794,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@lowdefy/operators", "workspace:packages/operators"], ["babel-jest", "virtual:1014ef660ce97becb8ac4df1a8d21a33469d752bd4a1c6c0282cd0e1cb1287e68fbacb2c474a03cbfe0a01bb9c7d0c2165dd449f02ebc6028899420c3fe79fc6#npm:26.6.1"], ["graphql", "npm:15.4.0"], - ["graphql-tag", "virtual:90d4a72924f341713b457eb175224e1ec0cb1cc17fae57e4425352a06b7bd1badc2992c0aaf430411c746462d51ce4afd9da56feea73b62dad7f9bec3f6bc226#npm:2.11.0"], + ["graphql-tag", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:2.11.0"], ["jest", "npm:26.6.1"] ], "linkType": "SOFT", }] ]], - ["@lowdefy/express", [ - ["workspace:packages/express", { - "packageLocation": "./packages/express/", - "packageDependencies": [ - ["@lowdefy/express", "workspace:packages/express"], - ["@babel/core", "npm:7.12.3"], - ["@babel/preset-react", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:7.12.1"], - ["@lowdefy/block-tools", "workspace:packages/blockTools"], - ["@lowdefy/graphql", "workspace:packages/graphql"], - ["apollo-server-express", "virtual:b48bfc75325537b9d641f357739049b25dac71eb86a05d5744ecd259c67ce3d1110d501b0f5cd21b669aa2cda1c9f77cfe9c3e49e1202cba9683bd40f09e88bb#npm:2.18.2"], - ["babel-loader", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:8.1.0"], - ["css-loader", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:5.0.0"], - ["express", "npm:4.17.1"], - ["graphql", "npm:15.4.0"], - ["html-webpack-plugin", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:4.5.0"], - ["nodemon", "npm:2.0.6"], - ["react", "npm:17.0.1"], - ["react-dom", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:17.0.1"], - ["style-loader", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:2.0.0"], - ["webpack", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:5.3.2"], - ["webpack-cli", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:4.1.0"], - ["webpack-dev-server", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:3.11.0"], - ["webpack-merge", "npm:5.2.0"] - ], - "linkType": "SOFT", - }] - ]], ["@lowdefy/format", [ ["workspace:packages/format", { "packageLocation": "./packages/format/", @@ -3805,6 +3816,19 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["@lowdefy/graphql", [ + ["npm:0.0.0-alpha.1", { + "packageLocation": "./.yarn/cache/@lowdefy-graphql-npm-0.0.0-alpha.1-ae7035028f-877635c0c9.zip/node_modules/@lowdefy/graphql/", + "packageDependencies": [ + ["@lowdefy/graphql", "npm:0.0.0-alpha.1"], + ["@lowdefy/helpers", "workspace:packages/helpers"], + ["@lowdefy/node-utils", "workspace:packages/nodeUtils"], + ["apollo-server", "virtual:7fa6405098723f150ab741c1e73c906de11a676b4cc641bac8b3397ea2dd6efbb913e72a780932220533241b442cc586b41b26c7b5ac786de486992cd2db054c#npm:2.18.2"], + ["dataloader", "npm:2.0.0"], + ["graphql", "npm:15.4.0"], + ["graphql-type-json", "virtual:7fa6405098723f150ab741c1e73c906de11a676b4cc641bac8b3397ea2dd6efbb913e72a780932220533241b442cc586b41b26c7b5ac786de486992cd2db054c#npm:0.3.2"] + ], + "linkType": "HARD", + }], ["workspace:packages/graphql", { "packageLocation": "./packages/graphql/", "packageDependencies": [ @@ -3818,6 +3842,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["apollo-server-testing", "virtual:7fa6405098723f150ab741c1e73c906de11a676b4cc641bac8b3397ea2dd6efbb913e72a780932220533241b442cc586b41b26c7b5ac786de486992cd2db054c#npm:2.18.2"], ["babel-jest", "virtual:1014ef660ce97becb8ac4df1a8d21a33469d752bd4a1c6c0282cd0e1cb1287e68fbacb2c474a03cbfe0a01bb9c7d0c2165dd449f02ebc6028899420c3fe79fc6#npm:26.6.1"], ["babel-loader", "virtual:7fa6405098723f150ab741c1e73c906de11a676b4cc641bac8b3397ea2dd6efbb913e72a780932220533241b442cc586b41b26c7b5ac786de486992cd2db054c#npm:8.1.0"], + ["clean-webpack-plugin", "virtual:7fa6405098723f150ab741c1e73c906de11a676b4cc641bac8b3397ea2dd6efbb913e72a780932220533241b442cc586b41b26c7b5ac786de486992cd2db054c#npm:3.0.0"], ["dataloader", "npm:2.0.0"], ["graphql", "npm:15.4.0"], ["graphql-type-json", "virtual:7fa6405098723f150ab741c1e73c906de11a676b4cc641bac8b3397ea2dd6efbb913e72a780932220533241b442cc586b41b26c7b5ac786de486992cd2db054c#npm:0.3.2"], @@ -3861,6 +3886,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["babel-loader", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:8.1.0"], ["babel-plugin-import", "npm:1.13.1"], ["buffer", "npm:5.7.0"], + ["clean-webpack-plugin", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:3.0.0"], ["css-loader", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.0.0"], ["html-webpack-plugin", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.5.0"], ["identity-obj-proxy", "npm:3.0.0"], @@ -3969,10 +3995,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@babel/core", "npm:7.12.3"], ["@babel/preset-react", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:7.12.1"], ["@lowdefy/block-tools", "workspace:packages/blockTools"], - ["@lowdefy/engine", "workspace:packages/engine"], + ["@lowdefy/engine", "npm:0.0.0-alpha.1"], ["@lowdefy/helpers", "workspace:packages/helpers"], ["@lowdefy/layout", "workspace:packages/layout"], ["babel-loader", "virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:8.1.0"], + ["clean-webpack-plugin", "virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:3.0.0"], ["css-loader", "virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:5.0.0"], ["graphql", "npm:15.4.0"], ["graphql-type-json", "virtual:7fa6405098723f150ab741c1e73c906de11a676b4cc641bac8b3397ea2dd6efbb913e72a780932220533241b442cc586b41b26c7b5ac786de486992cd2db054c#npm:0.3.2"], @@ -3991,6 +4018,34 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "SOFT", }] ]], + ["@lowdefy/server", [ + ["workspace:packages/server", { + "packageLocation": "./packages/server/", + "packageDependencies": [ + ["@lowdefy/server", "workspace:packages/server"], + ["@babel/core", "npm:7.12.3"], + ["@babel/preset-react", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:7.12.1"], + ["@lowdefy/block-tools", "workspace:packages/blockTools"], + ["@lowdefy/graphql", "npm:0.0.0-alpha.1"], + ["apollo-server-express", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:2.18.2"], + ["babel-loader", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:8.1.0"], + ["clean-webpack-plugin", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:3.0.0"], + ["css-loader", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.0.0"], + ["express", "npm:4.17.1"], + ["graphql", "npm:15.4.0"], + ["html-webpack-plugin", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:4.5.0"], + ["nodemon", "npm:2.0.6"], + ["react", "npm:17.0.1"], + ["react-dom", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:17.0.1"], + ["style-loader", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:2.0.0"], + ["webpack", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.3.2"], + ["webpack-cli", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:4.1.0"], + ["webpack-dev-server", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:3.11.0"], + ["webpack-merge", "npm:5.2.0"] + ], + "linkType": "SOFT", + }] + ]], ["@mrmlnc/readdir-enhanced", [ ["npm:2.2.1", { "packageLocation": "./.yarn/cache/@mrmlnc-readdir-enhanced-npm-2.2.1-5286808663-e01193b783.zip/node_modules/@mrmlnc/readdir-enhanced/", @@ -4045,7 +4100,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["@nodelib/fs.walk", "npm:1.2.4"], ["@nodelib/fs.scandir", "npm:2.1.3"], - ["fastq", "npm:1.8.0"] + ["fastq", "npm:1.9.0"] ], "linkType": "HARD", }] @@ -4186,7 +4241,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/@octokit-types-npm-2.16.2-67cc6da7f2-0cdd051034.zip/node_modules/@octokit/types/", "packageDependencies": [ ["@octokit/types", "npm:2.16.2"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }], @@ -4194,7 +4249,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/@octokit-types-npm-5.5.0-9fc65c7f63-ef5429c90b.zip/node_modules/@octokit/types/", "packageDependencies": [ ["@octokit/types", "npm:5.5.0"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -4357,7 +4412,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/@types-accepts-npm-1.3.5-1d59cd2a7a-78a31c01d9.zip/node_modules/@types/accepts/", "packageDependencies": [ ["@types/accepts", "npm:1.3.5"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -4422,7 +4477,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["@types/body-parser", "npm:1.19.0"], ["@types/connect", "npm:3.4.33"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -4434,7 +4489,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/cacheable-request", "npm:6.0.1"], ["@types/http-cache-semantics", "npm:4.0.0"], ["@types/keyv", "npm:3.1.1"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["@types/responselike", "npm:1.0.0"] ], "linkType": "HARD", @@ -4445,7 +4500,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/@types-connect-npm-3.4.33-959638d9c6-6414495b59.zip/node_modules/@types/connect/", "packageDependencies": [ ["@types/connect", "npm:3.4.33"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -4460,14 +4515,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["@types/cookies", [ - ["npm:0.7.4", { - "packageLocation": "./.yarn/cache/@types-cookies-npm-0.7.4-884cdf5d42-641b1f5122.zip/node_modules/@types/cookies/", + ["npm:0.7.5", { + "packageLocation": "./.yarn/cache/@types-cookies-npm-0.7.5-45cb7b9bb5-913d972d89.zip/node_modules/@types/cookies/", "packageDependencies": [ - ["@types/cookies", "npm:0.7.4"], + ["@types/cookies", "npm:0.7.5"], ["@types/connect", "npm:3.4.33"], ["@types/express", "npm:4.17.7"], ["@types/keygrip", "npm:1.0.2"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -4540,7 +4595,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/@types-express-serve-static-core-npm-4.17.9-b40b44c418-20ddd0d263.zip/node_modules/@types/express-serve-static-core/", "packageDependencies": [ ["@types/express-serve-static-core", "npm:4.17.9"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["@types/qs", "npm:6.9.5"], ["@types/range-parser", "npm:1.2.3"] ], @@ -4552,7 +4607,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/@types-fs-capacitor-npm-2.0.0-4f20eba973-2fed98a117.zip/node_modules/@types/fs-capacitor/", "packageDependencies": [ ["@types/fs-capacitor", "npm:2.0.0"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -4563,7 +4618,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["@types/glob", "npm:7.1.3"], ["@types/minimatch", "npm:3.0.3"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -4573,7 +4628,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/@types-graceful-fs-npm-4.1.4-6e2b33ed9f-acffaa4f4b.zip/node_modules/@types/graceful-fs/", "packageDependencies": [ ["@types/graceful-fs", "npm:4.1.4"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -4688,7 +4743,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/@types-keyv-npm-3.1.1-779a80f2c7-3aaf557d5b.zip/node_modules/@types/keyv/", "packageDependencies": [ ["@types/keyv", "npm:3.1.1"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -4700,12 +4755,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/koa", "npm:2.11.6"], ["@types/accepts", "npm:1.3.5"], ["@types/content-disposition", "npm:0.5.3"], - ["@types/cookies", "npm:0.7.4"], + ["@types/cookies", "npm:0.7.5"], ["@types/http-assert", "npm:1.5.1"], ["@types/http-errors", "npm:1.8.0"], ["@types/keygrip", "npm:1.0.2"], ["@types/koa-compose", "npm:3.2.5"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -4767,24 +4822,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["@types/node", [ - ["npm:10.17.43", { - "packageLocation": "./.yarn/cache/@types-node-npm-10.17.43-dd3ea4abc5-2b2f80dcb6.zip/node_modules/@types/node/", + ["npm:10.17.44", { + "packageLocation": "./.yarn/cache/@types-node-npm-10.17.44-487c33305c-050261ca43.zip/node_modules/@types/node/", "packageDependencies": [ - ["@types/node", "npm:10.17.43"] + ["@types/node", "npm:10.17.44"] ], "linkType": "HARD", }], - ["npm:13.13.29", { - "packageLocation": "./.yarn/cache/@types-node-npm-13.13.29-435189277d-c32528416a.zip/node_modules/@types/node/", + ["npm:13.13.30", { + "packageLocation": "./.yarn/cache/@types-node-npm-13.13.30-dcf1f90d23-c5b6c51df0.zip/node_modules/@types/node/", "packageDependencies": [ - ["@types/node", "npm:13.13.29"] + ["@types/node", "npm:13.13.30"] ], "linkType": "HARD", }], - ["npm:14.14.5", { - "packageLocation": "./.yarn/cache/@types-node-npm-14.14.5-0bf1b63d5b-4916d5c46e.zip/node_modules/@types/node/", + ["npm:14.14.6", { + "packageLocation": "./.yarn/cache/@types-node-npm-14.14.6-6c20289547-9b06b04ab2.zip/node_modules/@types/node/", "packageDependencies": [ - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -4794,7 +4849,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/@types-node-fetch-npm-2.5.7-fd8c51e56f-101f6e8474.zip/node_modules/@types/node-fetch/", "packageDependencies": [ ["@types/node-fetch", "npm:2.5.7"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["form-data", "npm:3.0.0"] ], "linkType": "HARD", @@ -4841,7 +4896,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/@types-responselike-npm-1.0.0-85dd08af42-e6e6613c80.zip/node_modules/@types/responselike/", "packageDependencies": [ ["@types/responselike", "npm:1.0.0"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -4861,7 +4916,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["@types/serve-static", "npm:1.13.6"], ["@types/mime", "npm:2.0.3"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -4903,10 +4958,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["@types/uglify-js", [ - ["npm:3.11.0", { - "packageLocation": "./.yarn/cache/@types-uglify-js-npm-3.11.0-e8e4d1a8ca-ee62336f5a.zip/node_modules/@types/uglify-js/", + ["npm:3.11.1", { + "packageLocation": "./.yarn/cache/@types-uglify-js-npm-3.11.1-911509ddc2-75f1c06245.zip/node_modules/@types/uglify-js/", "packageDependencies": [ - ["@types/uglify-js", "npm:3.11.0"], + ["@types/uglify-js", "npm:3.11.1"], ["source-map", "npm:0.6.1"] ], "linkType": "HARD", @@ -4922,14 +4977,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["@types/webpack", [ - ["npm:4.41.23", { - "packageLocation": "./.yarn/cache/@types-webpack-npm-4.41.23-44f5d7a8e6-6ac67beaa8.zip/node_modules/@types/webpack/", + ["npm:4.41.24", { + "packageLocation": "./.yarn/cache/@types-webpack-npm-4.41.24-196053a9fa-2237901a97.zip/node_modules/@types/webpack/", "packageDependencies": [ - ["@types/webpack", "npm:4.41.23"], + ["@types/webpack", "npm:4.41.24"], ["@types/anymatch", "npm:1.3.1"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["@types/tapable", "npm:1.0.6"], - ["@types/uglify-js", "npm:3.11.0"], + ["@types/uglify-js", "npm:3.11.1"], ["@types/webpack-sources", "npm:2.0.0"], ["source-map", "npm:0.6.1"] ], @@ -4941,7 +4996,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/@types-webpack-sources-npm-2.0.0-16ddc581bb-90bb9ca408.zip/node_modules/@types/webpack-sources/", "packageDependencies": [ ["@types/webpack-sources", "npm:2.0.0"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["@types/source-list-map", "npm:0.1.2"], ["source-map", "npm:0.7.3"] ], @@ -4949,11 +5004,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["@types/ws", [ - ["npm:7.2.8", { - "packageLocation": "./.yarn/cache/@types-ws-npm-7.2.8-5229e788a3-5188aa5a91.zip/node_modules/@types/ws/", + ["npm:7.2.9", { + "packageLocation": "./.yarn/cache/@types-ws-npm-7.2.9-65a5cae19f-77532ad73c.zip/node_modules/@types/ws/", "packageDependencies": [ - ["@types/ws", "npm:7.2.8"], - ["@types/node", "npm:14.14.5"] + ["@types/ws", "npm:7.2.9"], + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -5231,13 +5286,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["virtual:55caa269ef4d2d28fd095c98ea04c4253eec49b5035fab054d2e08b30888af54f7264618f38fa109a383472f5b68634383a196042143e3180e0919787ff93e16#npm:1.0.2", { - "packageLocation": "./.yarn/$$virtual/@webpack-cli-info-virtual-74c9005606/0/cache/@webpack-cli-info-npm-1.0.2-2aa189629b-a961e982fb.zip/node_modules/@webpack-cli/info/", + ["virtual:47493ab90b81f5e67b5f11a7bbcaa2618150d06c44b8670d3061615b0179e9d85c4662bf66ad5e861c51041d750ba5ef1a63029f49232877dbe4903dc4ab67c8#npm:1.0.2", { + "packageLocation": "./.yarn/$$virtual/@webpack-cli-info-virtual-fe5e21757e/0/cache/@webpack-cli-info-npm-1.0.2-2aa189629b-a961e982fb.zip/node_modules/@webpack-cli/info/", "packageDependencies": [ - ["@webpack-cli/info", "virtual:55caa269ef4d2d28fd095c98ea04c4253eec49b5035fab054d2e08b30888af54f7264618f38fa109a383472f5b68634383a196042143e3180e0919787ff93e16#npm:1.0.2"], + ["@webpack-cli/info", "virtual:47493ab90b81f5e67b5f11a7bbcaa2618150d06c44b8670d3061615b0179e9d85c4662bf66ad5e861c51041d750ba5ef1a63029f49232877dbe4903dc4ab67c8#npm:1.0.2"], ["@types/webpack-cli", null], ["envinfo", "npm:7.7.3"], - ["webpack-cli", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:4.1.0"] + ["webpack-cli", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:4.1.0"] ], "packagePeers": [ "@types/webpack-cli", @@ -5245,13 +5300,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["virtual:86ec2128bd42e5131bfbcbd484423cdf0f0a908b0b285962c79b64bafc46a80c871be37beb58b9c121a9efc6fad183200687258d8416d2bbe490a1189058ed67#npm:1.0.2", { - "packageLocation": "./.yarn/$$virtual/@webpack-cli-info-virtual-a097d8ca07/0/cache/@webpack-cli-info-npm-1.0.2-2aa189629b-a961e982fb.zip/node_modules/@webpack-cli/info/", + ["virtual:55caa269ef4d2d28fd095c98ea04c4253eec49b5035fab054d2e08b30888af54f7264618f38fa109a383472f5b68634383a196042143e3180e0919787ff93e16#npm:1.0.2", { + "packageLocation": "./.yarn/$$virtual/@webpack-cli-info-virtual-74c9005606/0/cache/@webpack-cli-info-npm-1.0.2-2aa189629b-a961e982fb.zip/node_modules/@webpack-cli/info/", "packageDependencies": [ - ["@webpack-cli/info", "virtual:86ec2128bd42e5131bfbcbd484423cdf0f0a908b0b285962c79b64bafc46a80c871be37beb58b9c121a9efc6fad183200687258d8416d2bbe490a1189058ed67#npm:1.0.2"], + ["@webpack-cli/info", "virtual:55caa269ef4d2d28fd095c98ea04c4253eec49b5035fab054d2e08b30888af54f7264618f38fa109a383472f5b68634383a196042143e3180e0919787ff93e16#npm:1.0.2"], ["@types/webpack-cli", null], ["envinfo", "npm:7.7.3"], - ["webpack-cli", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:4.1.0"] + ["webpack-cli", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:4.1.0"] ], "packagePeers": [ "@types/webpack-cli", @@ -5353,13 +5408,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["virtual:55caa269ef4d2d28fd095c98ea04c4253eec49b5035fab054d2e08b30888af54f7264618f38fa109a383472f5b68634383a196042143e3180e0919787ff93e16#npm:1.0.1", { - "packageLocation": "./.yarn/$$virtual/@webpack-cli-serve-virtual-42423c2ca0/0/cache/@webpack-cli-serve-npm-1.0.1-d23cc6c68b-d1dd4fb204.zip/node_modules/@webpack-cli/serve/", + ["virtual:47493ab90b81f5e67b5f11a7bbcaa2618150d06c44b8670d3061615b0179e9d85c4662bf66ad5e861c51041d750ba5ef1a63029f49232877dbe4903dc4ab67c8#npm:1.0.1", { + "packageLocation": "./.yarn/$$virtual/@webpack-cli-serve-virtual-a10e83d68c/0/cache/@webpack-cli-serve-npm-1.0.1-d23cc6c68b-d1dd4fb204.zip/node_modules/@webpack-cli/serve/", "packageDependencies": [ - ["@webpack-cli/serve", "virtual:55caa269ef4d2d28fd095c98ea04c4253eec49b5035fab054d2e08b30888af54f7264618f38fa109a383472f5b68634383a196042143e3180e0919787ff93e16#npm:1.0.1"], + ["@webpack-cli/serve", "virtual:47493ab90b81f5e67b5f11a7bbcaa2618150d06c44b8670d3061615b0179e9d85c4662bf66ad5e861c51041d750ba5ef1a63029f49232877dbe4903dc4ab67c8#npm:1.0.1"], ["@types/webpack-cli", null], - ["webpack-cli", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:4.1.0"], - ["webpack-dev-server", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:3.11.0"] + ["webpack-cli", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:4.1.0"], + ["webpack-dev-server", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:3.11.0"] ], "packagePeers": [ "@types/webpack-cli", @@ -5368,13 +5423,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["virtual:86ec2128bd42e5131bfbcbd484423cdf0f0a908b0b285962c79b64bafc46a80c871be37beb58b9c121a9efc6fad183200687258d8416d2bbe490a1189058ed67#npm:1.0.1", { - "packageLocation": "./.yarn/$$virtual/@webpack-cli-serve-virtual-14b24e9f09/0/cache/@webpack-cli-serve-npm-1.0.1-d23cc6c68b-d1dd4fb204.zip/node_modules/@webpack-cli/serve/", + ["virtual:55caa269ef4d2d28fd095c98ea04c4253eec49b5035fab054d2e08b30888af54f7264618f38fa109a383472f5b68634383a196042143e3180e0919787ff93e16#npm:1.0.1", { + "packageLocation": "./.yarn/$$virtual/@webpack-cli-serve-virtual-42423c2ca0/0/cache/@webpack-cli-serve-npm-1.0.1-d23cc6c68b-d1dd4fb204.zip/node_modules/@webpack-cli/serve/", "packageDependencies": [ - ["@webpack-cli/serve", "virtual:86ec2128bd42e5131bfbcbd484423cdf0f0a908b0b285962c79b64bafc46a80c871be37beb58b9c121a9efc6fad183200687258d8416d2bbe490a1189058ed67#npm:1.0.1"], + ["@webpack-cli/serve", "virtual:55caa269ef4d2d28fd095c98ea04c4253eec49b5035fab054d2e08b30888af54f7264618f38fa109a383472f5b68634383a196042143e3180e0919787ff93e16#npm:1.0.1"], ["@types/webpack-cli", null], - ["webpack-cli", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:4.1.0"], - ["webpack-dev-server", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:3.11.0"] + ["webpack-cli", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:4.1.0"], + ["webpack-dev-server", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:3.11.0"] ], "packagePeers": [ "@types/webpack-cli", @@ -5452,7 +5507,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/webpack-cli", null], ["colorette", "npm:1.2.1"], ["cross-spawn", "npm:7.0.3"], - ["execa", "npm:4.0.3"], + ["execa", "npm:4.1.0"], ["findup-sync", "npm:4.0.0"], ["global-modules", "npm:2.0.0"], ["got", "npm:10.7.0"], @@ -5653,7 +5708,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/@yarnpkg-pnp-npm-2.3.1-29e8efeb8a-b04da36672.zip/node_modules/@yarnpkg/pnp/", "packageDependencies": [ ["@yarnpkg/pnp", "npm:2.3.1"], - ["@types/node", "npm:13.13.29"], + ["@types/node", "npm:13.13.30"], ["@yarnpkg/fslib", "npm:2.3.0"], ["tslib", "npm:1.14.1"] ], @@ -6141,13 +6196,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["apollo-cache-control", [ - ["virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.11.3", { - "packageLocation": "./.yarn/$$virtual/apollo-cache-control-virtual-c8cae818e6/0/cache/apollo-cache-control-npm-0.11.3-45d9ee928b-d40c6fd332.zip/node_modules/apollo-cache-control/", + ["virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.11.3", { + "packageLocation": "./.yarn/$$virtual/apollo-cache-control-virtual-1ee20d175e/0/cache/apollo-cache-control-npm-0.11.3-45d9ee928b-d40c6fd332.zip/node_modules/apollo-cache-control/", "packageDependencies": [ - ["apollo-cache-control", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.11.3"], + ["apollo-cache-control", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.11.3"], ["@types/graphql", null], ["apollo-server-env", "npm:2.4.5"], - ["apollo-server-plugin-base", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.10.1"], + ["apollo-server-plugin-base", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.10.1"], ["graphql", "npm:15.4.0"] ], "packagePeers": [ @@ -6182,10 +6237,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["apollo-graphql", [ - ["virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.6.0", { - "packageLocation": "./.yarn/$$virtual/apollo-graphql-virtual-8c763a836b/0/cache/apollo-graphql-npm-0.6.0-6a3e2b481b-f18999fb95.zip/node_modules/apollo-graphql/", + ["virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.6.0", { + "packageLocation": "./.yarn/$$virtual/apollo-graphql-virtual-0aafcca6c4/0/cache/apollo-graphql-npm-0.6.0-6a3e2b481b-f18999fb95.zip/node_modules/apollo-graphql/", "packageDependencies": [ - ["apollo-graphql", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.6.0"], + ["apollo-graphql", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.6.0"], ["@types/graphql", null], ["apollo-env", "npm:0.6.5"], ["graphql", "npm:15.4.0"], @@ -6199,12 +6254,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["apollo-link", [ - ["virtual:1d9460e4f25e67dc6fbab8cd026583a9854ca03b7e57ffb7c23c611bf85f6b9bd8ce37944d666205376796f656412b0bf4451cd60c7482eb06f06f46e7f7afa1#npm:1.2.14", { - "packageLocation": "./.yarn/$$virtual/apollo-link-virtual-d747bc1ea4/0/cache/apollo-link-npm-1.2.14-74f0ba01f9-5cc96cd6df.zip/node_modules/apollo-link/", + ["virtual:ea53d40d39bd77fa4e4c540ca1bf72443f35df38d8680e1906507f956349a2203c44c234a941fec344f2f36ca491e571990d7ab8844a9cde6536651afc790899#npm:1.2.14", { + "packageLocation": "./.yarn/$$virtual/apollo-link-virtual-ce52294bc5/0/cache/apollo-link-npm-1.2.14-74f0ba01f9-5cc96cd6df.zip/node_modules/apollo-link/", "packageDependencies": [ - ["apollo-link", "virtual:1d9460e4f25e67dc6fbab8cd026583a9854ca03b7e57ffb7c23c611bf85f6b9bd8ce37944d666205376796f656412b0bf4451cd60c7482eb06f06f46e7f7afa1#npm:1.2.14"], + ["apollo-link", "virtual:ea53d40d39bd77fa4e4c540ca1bf72443f35df38d8680e1906507f956349a2203c44c234a941fec344f2f36ca491e571990d7ab8844a9cde6536651afc790899#npm:1.2.14"], ["@types/graphql", null], - ["apollo-utilities", "virtual:1d9460e4f25e67dc6fbab8cd026583a9854ca03b7e57ffb7c23c611bf85f6b9bd8ce37944d666205376796f656412b0bf4451cd60c7482eb06f06f46e7f7afa1#npm:1.3.4"], + ["apollo-utilities", "virtual:ea53d40d39bd77fa4e4c540ca1bf72443f35df38d8680e1906507f956349a2203c44c234a941fec344f2f36ca491e571990d7ab8844a9cde6536651afc790899#npm:1.3.4"], ["graphql", "npm:15.4.0"], ["ts-invariant", "npm:0.4.4"], ["tslib", "npm:1.14.1"], @@ -6233,12 +6288,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["apollo-server", "virtual:7fa6405098723f150ab741c1e73c906de11a676b4cc641bac8b3397ea2dd6efbb913e72a780932220533241b442cc586b41b26c7b5ac786de486992cd2db054c#npm:2.18.2"], ["@types/graphql", null], - ["apollo-server-core", "virtual:b64f1492aa0f9679ca70fc6827c257e8a4f0b4ed089e4a9f581dd3ff7538426986d9e795da327a051ab7cd2acfc02e6cccf2c4e761b1b7517d75fed1d0407d8f#npm:2.18.2"], - ["apollo-server-express", "virtual:b48bfc75325537b9d641f357739049b25dac71eb86a05d5744ecd259c67ce3d1110d501b0f5cd21b669aa2cda1c9f77cfe9c3e49e1202cba9683bd40f09e88bb#npm:2.18.2"], + ["apollo-server-core", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:2.18.2"], + ["apollo-server-express", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:2.18.2"], ["express", "npm:4.17.1"], ["graphql", "npm:15.4.0"], - ["graphql-subscriptions", "virtual:b48bfc75325537b9d641f357739049b25dac71eb86a05d5744ecd259c67ce3d1110d501b0f5cd21b669aa2cda1c9f77cfe9c3e49e1202cba9683bd40f09e88bb#npm:1.1.0"], - ["graphql-tools", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:4.0.8"] + ["graphql-subscriptions", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:1.1.0"], + ["graphql-tools", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:4.0.8"] ], "packagePeers": [ "@types/graphql", @@ -6258,36 +6313,36 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["apollo-server-core", [ - ["virtual:b64f1492aa0f9679ca70fc6827c257e8a4f0b4ed089e4a9f581dd3ff7538426986d9e795da327a051ab7cd2acfc02e6cccf2c4e761b1b7517d75fed1d0407d8f#npm:2.18.2", { - "packageLocation": "./.yarn/$$virtual/apollo-server-core-virtual-c2454b2d17/0/cache/apollo-server-core-npm-2.18.2-6498354fe6-c4374b24ca.zip/node_modules/apollo-server-core/", + ["virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:2.18.2", { + "packageLocation": "./.yarn/$$virtual/apollo-server-core-virtual-2bce9dce25/0/cache/apollo-server-core-npm-2.18.2-6498354fe6-c4374b24ca.zip/node_modules/apollo-server-core/", "packageDependencies": [ - ["apollo-server-core", "virtual:b64f1492aa0f9679ca70fc6827c257e8a4f0b4ed089e4a9f581dd3ff7538426986d9e795da327a051ab7cd2acfc02e6cccf2c4e761b1b7517d75fed1d0407d8f#npm:2.18.2"], - ["@apollographql/apollo-tools", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.4.8"], + ["apollo-server-core", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:2.18.2"], + ["@apollographql/apollo-tools", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.4.8"], ["@apollographql/graphql-playground-html", "npm:1.6.26"], ["@types/graphql", null], ["@types/graphql-upload", "npm:8.0.4"], - ["@types/ws", "npm:7.2.8"], - ["apollo-cache-control", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.11.3"], + ["@types/ws", "npm:7.2.9"], + ["apollo-cache-control", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.11.3"], ["apollo-datasource", "npm:0.7.2"], - ["apollo-graphql", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.6.0"], + ["apollo-graphql", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.6.0"], ["apollo-reporting-protobuf", "npm:0.6.0"], ["apollo-server-caching", "npm:0.5.2"], ["apollo-server-env", "npm:2.4.5"], - ["apollo-server-errors", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:2.4.2"], - ["apollo-server-plugin-base", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.10.1"], - ["apollo-server-types", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.6.0"], - ["apollo-tracing", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.11.4"], + ["apollo-server-errors", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:2.4.2"], + ["apollo-server-plugin-base", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.10.1"], + ["apollo-server-types", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:0.6.0"], + ["apollo-tracing", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.11.4"], ["async-retry", "npm:1.3.1"], ["fast-json-stable-stringify", "npm:2.1.0"], ["graphql", "npm:15.4.0"], - ["graphql-extensions", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.12.5"], - ["graphql-tag", "virtual:90d4a72924f341713b457eb175224e1ec0cb1cc17fae57e4425352a06b7bd1badc2992c0aaf430411c746462d51ce4afd9da56feea73b62dad7f9bec3f6bc226#npm:2.11.0"], - ["graphql-tools", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:4.0.8"], - ["graphql-upload", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:8.1.0"], + ["graphql-extensions", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.12.5"], + ["graphql-tag", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:2.11.0"], + ["graphql-tools", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:4.0.8"], + ["graphql-upload", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:8.1.0"], ["loglevel", "npm:1.7.0"], ["lru-cache", "npm:5.1.1"], ["sha.js", "npm:2.4.11"], - ["subscriptions-transport-ws", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.9.18"], + ["subscriptions-transport-ws", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:0.9.18"], ["uuid", "npm:8.3.1"], ["ws", "npm:6.2.1"] ], @@ -6310,10 +6365,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["apollo-server-errors", [ - ["virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:2.4.2", { - "packageLocation": "./.yarn/$$virtual/apollo-server-errors-virtual-a1f26561d9/0/cache/apollo-server-errors-npm-2.4.2-dc7896d913-638fc54b24.zip/node_modules/apollo-server-errors/", + ["virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:2.4.2", { + "packageLocation": "./.yarn/$$virtual/apollo-server-errors-virtual-146ac26810/0/cache/apollo-server-errors-npm-2.4.2-dc7896d913-638fc54b24.zip/node_modules/apollo-server-errors/", "packageDependencies": [ - ["apollo-server-errors", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:2.4.2"], + ["apollo-server-errors", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:2.4.2"], ["@types/graphql", null], ["graphql", "npm:15.4.0"] ], @@ -6325,10 +6380,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["apollo-server-express", [ - ["virtual:b48bfc75325537b9d641f357739049b25dac71eb86a05d5744ecd259c67ce3d1110d501b0f5cd21b669aa2cda1c9f77cfe9c3e49e1202cba9683bd40f09e88bb#npm:2.18.2", { - "packageLocation": "./.yarn/$$virtual/apollo-server-express-virtual-f8be828370/0/cache/apollo-server-express-npm-2.18.2-772b669727-ebcb732409.zip/node_modules/apollo-server-express/", + ["virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:2.18.2", { + "packageLocation": "./.yarn/$$virtual/apollo-server-express-virtual-ac5f8f8d86/0/cache/apollo-server-express-npm-2.18.2-772b669727-ebcb732409.zip/node_modules/apollo-server-express/", "packageDependencies": [ - ["apollo-server-express", "virtual:b48bfc75325537b9d641f357739049b25dac71eb86a05d5744ecd259c67ce3d1110d501b0f5cd21b669aa2cda1c9f77cfe9c3e49e1202cba9683bd40f09e88bb#npm:2.18.2"], + ["apollo-server-express", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:2.18.2"], ["@apollographql/graphql-playground-html", "npm:1.6.26"], ["@types/accepts", "npm:1.3.5"], ["@types/body-parser", "npm:1.19.0"], @@ -6337,16 +6392,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/express-serve-static-core", "npm:4.17.9"], ["@types/graphql", null], ["accepts", "npm:1.3.7"], - ["apollo-server-core", "virtual:b64f1492aa0f9679ca70fc6827c257e8a4f0b4ed089e4a9f581dd3ff7538426986d9e795da327a051ab7cd2acfc02e6cccf2c4e761b1b7517d75fed1d0407d8f#npm:2.18.2"], - ["apollo-server-types", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.6.0"], + ["apollo-server-core", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:2.18.2"], + ["apollo-server-types", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:0.6.0"], ["body-parser", "npm:1.19.0"], ["cors", "npm:2.8.5"], ["express", "npm:4.17.1"], ["graphql", "npm:15.4.0"], - ["graphql-subscriptions", "virtual:b48bfc75325537b9d641f357739049b25dac71eb86a05d5744ecd259c67ce3d1110d501b0f5cd21b669aa2cda1c9f77cfe9c3e49e1202cba9683bd40f09e88bb#npm:1.1.0"], - ["graphql-tools", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:4.0.8"], + ["graphql-subscriptions", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:1.1.0"], + ["graphql-tools", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:4.0.8"], ["parseurl", "npm:1.3.3"], - ["subscriptions-transport-ws", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.9.18"], + ["subscriptions-transport-ws", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:0.9.18"], ["type-is", "npm:1.6.18"] ], "packagePeers": [ @@ -6357,12 +6412,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["apollo-server-plugin-base", [ - ["virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.10.1", { - "packageLocation": "./.yarn/$$virtual/apollo-server-plugin-base-virtual-963d44c78b/0/cache/apollo-server-plugin-base-npm-0.10.1-4aab69d9e2-7518c4c287.zip/node_modules/apollo-server-plugin-base/", + ["virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.10.1", { + "packageLocation": "./.yarn/$$virtual/apollo-server-plugin-base-virtual-ff286431b0/0/cache/apollo-server-plugin-base-npm-0.10.1-4aab69d9e2-7518c4c287.zip/node_modules/apollo-server-plugin-base/", "packageDependencies": [ - ["apollo-server-plugin-base", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.10.1"], + ["apollo-server-plugin-base", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.10.1"], ["@types/graphql", null], - ["apollo-server-types", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.6.0"], + ["apollo-server-types", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:0.6.0"], ["graphql", "npm:15.4.0"] ], "packagePeers": [ @@ -6378,7 +6433,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["apollo-server-testing", "virtual:7fa6405098723f150ab741c1e73c906de11a676b4cc641bac8b3397ea2dd6efbb913e72a780932220533241b442cc586b41b26c7b5ac786de486992cd2db054c#npm:2.18.2"], ["@types/graphql", null], - ["apollo-server-core", "virtual:b64f1492aa0f9679ca70fc6827c257e8a4f0b4ed089e4a9f581dd3ff7538426986d9e795da327a051ab7cd2acfc02e6cccf2c4e761b1b7517d75fed1d0407d8f#npm:2.18.2"], + ["apollo-server-core", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:2.18.2"], ["graphql", "npm:15.4.0"] ], "packagePeers": [ @@ -6389,10 +6444,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["apollo-server-types", [ - ["virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.6.0", { - "packageLocation": "./.yarn/$$virtual/apollo-server-types-virtual-3f09783861/0/cache/apollo-server-types-npm-0.6.0-85ddd0b6f7-1ac6ded7bf.zip/node_modules/apollo-server-types/", + ["virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:0.6.0", { + "packageLocation": "./.yarn/$$virtual/apollo-server-types-virtual-b3b058667f/0/cache/apollo-server-types-npm-0.6.0-85ddd0b6f7-1ac6ded7bf.zip/node_modules/apollo-server-types/", "packageDependencies": [ - ["apollo-server-types", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.6.0"], + ["apollo-server-types", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:0.6.0"], ["@types/graphql", null], ["apollo-reporting-protobuf", "npm:0.6.0"], ["apollo-server-caching", "npm:0.5.2"], @@ -6407,13 +6462,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["apollo-tracing", [ - ["virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.11.4", { - "packageLocation": "./.yarn/$$virtual/apollo-tracing-virtual-dce96119c4/0/cache/apollo-tracing-npm-0.11.4-77d3783a3e-1ac23007e3.zip/node_modules/apollo-tracing/", + ["virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.11.4", { + "packageLocation": "./.yarn/$$virtual/apollo-tracing-virtual-da8b4d9f01/0/cache/apollo-tracing-npm-0.11.4-77d3783a3e-1ac23007e3.zip/node_modules/apollo-tracing/", "packageDependencies": [ - ["apollo-tracing", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.11.4"], + ["apollo-tracing", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.11.4"], ["@types/graphql", null], ["apollo-server-env", "npm:2.4.5"], - ["apollo-server-plugin-base", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.10.1"], + ["apollo-server-plugin-base", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.10.1"], ["graphql", "npm:15.4.0"] ], "packagePeers": [ @@ -6424,10 +6479,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["apollo-utilities", [ - ["virtual:1d9460e4f25e67dc6fbab8cd026583a9854ca03b7e57ffb7c23c611bf85f6b9bd8ce37944d666205376796f656412b0bf4451cd60c7482eb06f06f46e7f7afa1#npm:1.3.4", { - "packageLocation": "./.yarn/$$virtual/apollo-utilities-virtual-66b8cf14cb/0/cache/apollo-utilities-npm-1.3.4-2bafd621ff-5a046f8792.zip/node_modules/apollo-utilities/", + ["virtual:ea53d40d39bd77fa4e4c540ca1bf72443f35df38d8680e1906507f956349a2203c44c234a941fec344f2f36ca491e571990d7ab8844a9cde6536651afc790899#npm:1.3.4", { + "packageLocation": "./.yarn/$$virtual/apollo-utilities-virtual-343a106af0/0/cache/apollo-utilities-npm-1.3.4-2bafd621ff-5a046f8792.zip/node_modules/apollo-utilities/", "packageDependencies": [ - ["apollo-utilities", "virtual:1d9460e4f25e67dc6fbab8cd026583a9854ca03b7e57ffb7c23c611bf85f6b9bd8ce37944d666205376796f656412b0bf4451cd60c7482eb06f06f46e7f7afa1#npm:1.3.4"], + ["apollo-utilities", "virtual:ea53d40d39bd77fa4e4c540ca1bf72443f35df38d8680e1906507f956349a2203c44c234a941fec344f2f36ca491e571990d7ab8844a9cde6536651afc790899#npm:1.3.4"], ["@types/graphql", null], ["@wry/equality", "npm:0.1.11"], ["fast-json-stable-stringify", "npm:2.1.0"], @@ -6459,10 +6514,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["arch", [ - ["npm:2.1.2", { - "packageLocation": "./.yarn/cache/arch-npm-2.1.2-65b6637bd2-bb32fafdc3.zip/node_modules/arch/", + ["npm:2.2.0", { + "packageLocation": "./.yarn/cache/arch-npm-2.2.0-34797684d8-4a8d92a9a7.zip/node_modules/arch/", "packageDependencies": [ - ["arch", "npm:2.1.2"] + ["arch", "npm:2.2.0"] ], "linkType": "HARD", }] @@ -6965,6 +7020,28 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["babel-loader", [ + ["virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:8.1.0", { + "packageLocation": "./.yarn/$$virtual/babel-loader-virtual-ea17f22da8/0/cache/babel-loader-npm-8.1.0-e8c38740ba-f7b236a5f7.zip/node_modules/babel-loader/", + "packageDependencies": [ + ["babel-loader", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:8.1.0"], + ["@babel/core", "npm:7.12.3"], + ["@types/babel__core", null], + ["@types/webpack", null], + ["find-cache-dir", "npm:2.1.0"], + ["loader-utils", "npm:1.4.0"], + ["mkdirp", "npm:0.5.5"], + ["pify", "npm:4.0.1"], + ["schema-utils", "npm:2.7.1"], + ["webpack", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.3.2"] + ], + "packagePeers": [ + "@babel/core", + "@types/babel__core", + "@types/webpack", + "webpack" + ], + "linkType": "HARD", + }], ["virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:8.1.0", { "packageLocation": "./.yarn/$$virtual/babel-loader-virtual-975889a8ec/0/cache/babel-loader-npm-8.1.0-e8c38740ba-f7b236a5f7.zip/node_modules/babel-loader/", "packageDependencies": [ @@ -7075,28 +7152,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:8.1.0", { - "packageLocation": "./.yarn/$$virtual/babel-loader-virtual-a4f3f21166/0/cache/babel-loader-npm-8.1.0-e8c38740ba-f7b236a5f7.zip/node_modules/babel-loader/", - "packageDependencies": [ - ["babel-loader", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:8.1.0"], - ["@babel/core", "npm:7.12.3"], - ["@types/babel__core", null], - ["@types/webpack", null], - ["find-cache-dir", "npm:2.1.0"], - ["loader-utils", "npm:1.4.0"], - ["mkdirp", "npm:0.5.5"], - ["pify", "npm:4.0.1"], - ["schema-utils", "npm:2.7.1"], - ["webpack", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:5.3.2"] - ], - "packagePeers": [ - "@babel/core", - "@types/babel__core", - "@types/webpack", - "webpack" - ], - "linkType": "HARD", - }], ["virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:8.1.0", { "packageLocation": "./.yarn/$$virtual/babel-loader-virtual-7475b7ab7c/0/cache/babel-loader-npm-8.1.0-e8c38740ba-f7b236a5f7.zip/node_modules/babel-loader/", "packageDependencies": [ @@ -7358,7 +7413,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/bl-npm-4.0.3-4670d76538-1f33c5a3da.zip/node_modules/bl/", "packageDependencies": [ ["bl", "npm:4.0.3"], - ["buffer", "npm:5.6.1"], + ["buffer", "npm:5.7.0"], ["inherits", "npm:2.0.4"], ["readable-stream", "npm:3.6.0"] ], @@ -7500,10 +7555,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/browserslist-npm-4.14.5-9f4c5b58ce-18261764bd.zip/node_modules/browserslist/", "packageDependencies": [ ["browserslist", "npm:4.14.5"], - ["caniuse-lite", "npm:1.0.30001151"], + ["caniuse-lite", "npm:1.0.30001154"], ["electron-to-chromium", "npm:1.3.584"], ["escalade", "npm:3.1.1"], - ["node-releases", "npm:1.1.64"] + ["node-releases", "npm:1.1.65"] ], "linkType": "HARD", }] @@ -7528,21 +7583,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["buffer", [ - ["npm:5.6.1", { - "packageLocation": "./.yarn/cache/buffer-npm-5.6.1-1cdb5291ea-7bfd48809d.zip/node_modules/buffer/", - "packageDependencies": [ - ["buffer", "npm:5.6.1"], - ["base64-js", "npm:1.3.1"], - ["ieee754", "npm:1.1.13"] - ], - "linkType": "HARD", - }], ["npm:5.7.0", { "packageLocation": "./.yarn/cache/buffer-npm-5.7.0-09dd3873c0-33a6a08be4.zip/node_modules/buffer/", "packageDependencies": [ ["buffer", "npm:5.7.0"], ["base64-js", "npm:1.3.1"], - ["ieee754", "npm:1.1.13"] + ["ieee754", "npm:1.2.1"] ], "linkType": "HARD", }] @@ -7824,10 +7870,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["npm:6.1.0", { - "packageLocation": "./.yarn/cache/camelcase-npm-6.1.0-d0e05be5f0-3e968d5efb.zip/node_modules/camelcase/", + ["npm:6.2.0", { + "packageLocation": "./.yarn/cache/camelcase-npm-6.2.0-69f8c130ac-654700600a.zip/node_modules/camelcase/", "packageDependencies": [ - ["camelcase", "npm:6.1.0"] + ["camelcase", "npm:6.2.0"] ], "linkType": "HARD", }] @@ -7864,10 +7910,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["caniuse-lite", [ - ["npm:1.0.30001151", { - "packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001151-29bf83e412-3acb52ac17.zip/node_modules/caniuse-lite/", + ["npm:1.0.30001154", { + "packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001154-2944c2dcaf-7e087e61d0.zip/node_modules/caniuse-lite/", "packageDependencies": [ - ["caniuse-lite", "npm:1.0.30001151"] + ["caniuse-lite", "npm:1.0.30001154"] ], "linkType": "HARD", }] @@ -8020,21 +8066,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["npm:3.4.2", { - "packageLocation": "./.yarn/cache/chokidar-npm-3.4.2-4e5f7d3b1f-a394c13d28.zip/node_modules/chokidar/", - "packageDependencies": [ - ["chokidar", "npm:3.4.2"], - ["anymatch", "npm:3.1.1"], - ["braces", "npm:3.0.2"], - ["fsevents", "patch:fsevents@npm%3A2.1.3#builtin::version=2.1.3&hash=127e8e"], - ["glob-parent", "npm:5.1.1"], - ["is-binary-path", "npm:2.1.0"], - ["is-glob", "npm:4.0.1"], - ["normalize-path", "npm:3.0.0"], - ["readdirp", "npm:3.4.0"] - ], - "linkType": "HARD", - }], ["npm:3.4.3", { "packageLocation": "./.yarn/cache/chokidar-npm-3.4.3-58f7548978-b5a566b312.zip/node_modules/chokidar/", "packageDependencies": [ @@ -8127,6 +8158,99 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["clean-webpack-plugin", [ + ["virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:3.0.0", { + "packageLocation": "./.yarn/$$virtual/clean-webpack-plugin-virtual-43808e0940/0/cache/clean-webpack-plugin-npm-3.0.0-21f4eeb4fb-fc0fbd1c8e.zip/node_modules/clean-webpack-plugin/", + "packageDependencies": [ + ["clean-webpack-plugin", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:3.0.0"], + ["@types/webpack", "npm:4.41.24"], + ["del", "npm:4.1.1"], + ["webpack", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.3.2"] + ], + "packagePeers": [ + "webpack" + ], + "linkType": "HARD", + }], + ["virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:3.0.0", { + "packageLocation": "./.yarn/$$virtual/clean-webpack-plugin-virtual-1e35e18dbb/0/cache/clean-webpack-plugin-npm-3.0.0-21f4eeb4fb-fc0fbd1c8e.zip/node_modules/clean-webpack-plugin/", + "packageDependencies": [ + ["clean-webpack-plugin", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:3.0.0"], + ["@types/webpack", "npm:4.41.24"], + ["del", "npm:4.1.1"], + ["webpack", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:5.3.2"] + ], + "packagePeers": [ + "webpack" + ], + "linkType": "HARD", + }], + ["virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:3.0.0", { + "packageLocation": "./.yarn/$$virtual/clean-webpack-plugin-virtual-43c34e69b3/0/cache/clean-webpack-plugin-npm-3.0.0-21f4eeb4fb-fc0fbd1c8e.zip/node_modules/clean-webpack-plugin/", + "packageDependencies": [ + ["clean-webpack-plugin", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:3.0.0"], + ["@types/webpack", "npm:4.41.24"], + ["del", "npm:4.1.1"], + ["webpack", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:5.3.2"] + ], + "packagePeers": [ + "webpack" + ], + "linkType": "HARD", + }], + ["virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:3.0.0", { + "packageLocation": "./.yarn/$$virtual/clean-webpack-plugin-virtual-79e718cbee/0/cache/clean-webpack-plugin-npm-3.0.0-21f4eeb4fb-fc0fbd1c8e.zip/node_modules/clean-webpack-plugin/", + "packageDependencies": [ + ["clean-webpack-plugin", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:3.0.0"], + ["@types/webpack", "npm:4.41.24"], + ["del", "npm:4.1.1"], + ["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.3.2"] + ], + "packagePeers": [ + "webpack" + ], + "linkType": "HARD", + }], + ["virtual:7fa6405098723f150ab741c1e73c906de11a676b4cc641bac8b3397ea2dd6efbb913e72a780932220533241b442cc586b41b26c7b5ac786de486992cd2db054c#npm:3.0.0", { + "packageLocation": "./.yarn/$$virtual/clean-webpack-plugin-virtual-9fffd6f36b/0/cache/clean-webpack-plugin-npm-3.0.0-21f4eeb4fb-fc0fbd1c8e.zip/node_modules/clean-webpack-plugin/", + "packageDependencies": [ + ["clean-webpack-plugin", "virtual:7fa6405098723f150ab741c1e73c906de11a676b4cc641bac8b3397ea2dd6efbb913e72a780932220533241b442cc586b41b26c7b5ac786de486992cd2db054c#npm:3.0.0"], + ["@types/webpack", "npm:4.41.24"], + ["del", "npm:4.1.1"], + ["webpack", "virtual:7fa6405098723f150ab741c1e73c906de11a676b4cc641bac8b3397ea2dd6efbb913e72a780932220533241b442cc586b41b26c7b5ac786de486992cd2db054c#npm:5.3.2"] + ], + "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": [ + ["clean-webpack-plugin", "virtual:aad21d373d6721af7549b2798c35c4ea25d83c122770abeaa0a4343ba20d55700fd9e3c5fa3289a7e6f591d09e8790df14d525c719ca4729b178b8644cca082a#npm:3.0.0"], + ["@types/webpack", "npm:4.41.24"], + ["del", "npm:4.1.1"], + ["webpack", "virtual:aad21d373d6721af7549b2798c35c4ea25d83c122770abeaa0a4343ba20d55700fd9e3c5fa3289a7e6f591d09e8790df14d525c719ca4729b178b8644cca082a#npm:5.3.2"] + ], + "packagePeers": [ + "webpack" + ], + "linkType": "HARD", + }], + ["virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:3.0.0", { + "packageLocation": "./.yarn/$$virtual/clean-webpack-plugin-virtual-417744cee7/0/cache/clean-webpack-plugin-npm-3.0.0-21f4eeb4fb-fc0fbd1c8e.zip/node_modules/clean-webpack-plugin/", + "packageDependencies": [ + ["clean-webpack-plugin", "virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:3.0.0"], + ["@types/webpack", "npm:4.41.24"], + ["del", "npm:4.1.1"], + ["webpack", "virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:5.3.2"] + ], + "packagePeers": [ + "webpack" + ], + "linkType": "HARD", + }] + ]], ["cli-boxes", [ ["npm:1.0.0", { "packageLocation": "./.yarn/cache/cli-boxes-npm-1.0.0-fdd89bc01b-1227f15d82.zip/node_modules/cli-boxes/", @@ -8143,6 +8267,21 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["cli-color", [ + ["npm:2.0.0", { + "packageLocation": "./.yarn/cache/cli-color-npm-2.0.0-9f10b21e11-6a8824e7f1.zip/node_modules/cli-color/", + "packageDependencies": [ + ["cli-color", "npm:2.0.0"], + ["ansi-regex", "npm:2.1.1"], + ["d", "npm:1.0.1"], + ["es5-ext", "npm:0.10.53"], + ["es6-iterator", "npm:2.0.3"], + ["memoizee", "npm:0.4.14"], + ["timers-ext", "npm:0.1.7"] + ], + "linkType": "HARD", + }] + ]], ["cli-cursor", [ ["npm:2.1.0", { "packageLocation": "./.yarn/cache/cli-cursor-npm-2.1.0-3920629c9c-df33c11b3c.zip/node_modules/cli-cursor/", @@ -8201,7 +8340,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/unplugged/clipboardy-npm-1.2.3-d3a44efb48/node_modules/clipboardy/", "packageDependencies": [ ["clipboardy", "npm:1.2.3"], - ["arch", "npm:2.1.2"], + ["arch", "npm:2.2.0"], ["execa", "npm:0.8.0"] ], "linkType": "HARD", @@ -8964,12 +9103,62 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["css-loader", [ + ["virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.0.0", { + "packageLocation": "./.yarn/$$virtual/css-loader-virtual-7eaf9e6c35/0/cache/css-loader-npm-5.0.0-817f349654-8b0d45e201.zip/node_modules/css-loader/", + "packageDependencies": [ + ["css-loader", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.0.0"], + ["@types/webpack", null], + ["camelcase", "npm:6.2.0"], + ["cssesc", "npm:3.0.0"], + ["icss-utils", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:5.0.0"], + ["loader-utils", "npm:2.0.0"], + ["postcss", "npm:8.1.4"], + ["postcss-modules-extract-imports", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:3.0.0"], + ["postcss-modules-local-by-default", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:4.0.0"], + ["postcss-modules-scope", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:3.0.0"], + ["postcss-modules-values", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:4.0.0"], + ["postcss-value-parser", "npm:4.1.0"], + ["schema-utils", "npm:3.0.0"], + ["semver", "npm:7.3.2"], + ["webpack", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.3.2"] + ], + "packagePeers": [ + "@types/webpack", + "webpack" + ], + "linkType": "HARD", + }], + ["virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:5.0.0", { + "packageLocation": "./.yarn/$$virtual/css-loader-virtual-649ba8e0ce/0/cache/css-loader-npm-5.0.0-817f349654-8b0d45e201.zip/node_modules/css-loader/", + "packageDependencies": [ + ["css-loader", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:5.0.0"], + ["@types/webpack", null], + ["camelcase", "npm:6.2.0"], + ["cssesc", "npm:3.0.0"], + ["icss-utils", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:5.0.0"], + ["loader-utils", "npm:2.0.0"], + ["postcss", "npm:8.1.4"], + ["postcss-modules-extract-imports", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:3.0.0"], + ["postcss-modules-local-by-default", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:4.0.0"], + ["postcss-modules-scope", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:3.0.0"], + ["postcss-modules-values", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:4.0.0"], + ["postcss-value-parser", "npm:4.1.0"], + ["schema-utils", "npm:3.0.0"], + ["semver", "npm:7.3.2"], + ["webpack", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:5.3.2"] + ], + "packagePeers": [ + "@types/webpack", + "webpack" + ], + "linkType": "HARD", + }], ["virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:5.0.0", { "packageLocation": "./.yarn/$$virtual/css-loader-virtual-1550050e91/0/cache/css-loader-npm-5.0.0-817f349654-8b0d45e201.zip/node_modules/css-loader/", "packageDependencies": [ ["css-loader", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:5.0.0"], ["@types/webpack", null], - ["camelcase", "npm:6.1.0"], + ["camelcase", "npm:6.2.0"], ["cssesc", "npm:3.0.0"], ["icss-utils", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:5.0.0"], ["loader-utils", "npm:2.0.0"], @@ -8994,7 +9183,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["css-loader", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.0.0"], ["@types/webpack", null], - ["camelcase", "npm:6.1.0"], + ["camelcase", "npm:6.2.0"], ["cssesc", "npm:3.0.0"], ["icss-utils", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:5.0.0"], ["loader-utils", "npm:2.0.0"], @@ -9014,37 +9203,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:5.0.0", { - "packageLocation": "./.yarn/$$virtual/css-loader-virtual-e909827ec1/0/cache/css-loader-npm-5.0.0-817f349654-8b0d45e201.zip/node_modules/css-loader/", - "packageDependencies": [ - ["css-loader", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:5.0.0"], - ["@types/webpack", null], - ["camelcase", "npm:6.1.0"], - ["cssesc", "npm:3.0.0"], - ["icss-utils", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:5.0.0"], - ["loader-utils", "npm:2.0.0"], - ["postcss", "npm:8.1.4"], - ["postcss-modules-extract-imports", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:3.0.0"], - ["postcss-modules-local-by-default", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:4.0.0"], - ["postcss-modules-scope", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:3.0.0"], - ["postcss-modules-values", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:4.0.0"], - ["postcss-value-parser", "npm:4.1.0"], - ["schema-utils", "npm:3.0.0"], - ["semver", "npm:7.3.2"], - ["webpack", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:5.3.2"] - ], - "packagePeers": [ - "@types/webpack", - "webpack" - ], - "linkType": "HARD", - }], ["virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:5.0.0", { "packageLocation": "./.yarn/$$virtual/css-loader-virtual-770e2d8e6d/0/cache/css-loader-npm-5.0.0-817f349654-8b0d45e201.zip/node_modules/css-loader/", "packageDependencies": [ ["css-loader", "virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:5.0.0"], ["@types/webpack", null], - ["camelcase", "npm:6.1.0"], + ["camelcase", "npm:6.2.0"], ["cssesc", "npm:3.0.0"], ["icss-utils", "virtual:1550050e9194aa246e92f1844512800c79f7c5a511d68e35220732a14879f90eb4c39010000bd38f3ffbabddb58c92387865e9ed9d235a8196798c77155e4159#npm:5.0.0"], ["loader-utils", "npm:2.0.0"], @@ -9159,6 +9323,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["d", [ + ["npm:1.0.1", { + "packageLocation": "./.yarn/cache/d-npm-1.0.1-64afbbc689-cf9b770965.zip/node_modules/d/", + "packageDependencies": [ + ["d", "npm:1.0.1"], + ["es5-ext", "npm:0.10.53"], + ["type", "npm:1.2.0"] + ], + "linkType": "HARD", + }] + ]], ["damerau-levenshtein", [ ["npm:1.0.6", { "packageLocation": "./.yarn/cache/damerau-levenshtein-npm-1.0.6-ca3bec3e25-46fbf25fc5.zip/node_modules/damerau-levenshtein/", @@ -10348,6 +10523,30 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["es5-ext", [ + ["npm:0.10.53", { + "packageLocation": "./.yarn/cache/es5-ext-npm-0.10.53-18c0039c41-99e8115c2f.zip/node_modules/es5-ext/", + "packageDependencies": [ + ["es5-ext", "npm:0.10.53"], + ["es6-iterator", "npm:2.0.3"], + ["es6-symbol", "npm:3.1.3"], + ["next-tick", "npm:1.0.0"] + ], + "linkType": "HARD", + }] + ]], + ["es6-iterator", [ + ["npm:2.0.3", { + "packageLocation": "./.yarn/cache/es6-iterator-npm-2.0.3-4dadb0ccc1-1880ce3121.zip/node_modules/es6-iterator/", + "packageDependencies": [ + ["es6-iterator", "npm:2.0.3"], + ["d", "npm:1.0.1"], + ["es5-ext", "npm:0.10.53"], + ["es6-symbol", "npm:3.1.3"] + ], + "linkType": "HARD", + }] + ]], ["es6-promise", [ ["npm:4.2.8", { "packageLocation": "./.yarn/cache/es6-promise-npm-4.2.8-c9f5b11f66-b85e5faab1.zip/node_modules/es6-promise/", @@ -10367,6 +10566,30 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["es6-symbol", [ + ["npm:3.1.3", { + "packageLocation": "./.yarn/cache/es6-symbol-npm-3.1.3-34d72f2a23-0915d72de8.zip/node_modules/es6-symbol/", + "packageDependencies": [ + ["es6-symbol", "npm:3.1.3"], + ["d", "npm:1.0.1"], + ["ext", "npm:1.4.0"] + ], + "linkType": "HARD", + }] + ]], + ["es6-weak-map", [ + ["npm:2.0.3", { + "packageLocation": "./.yarn/cache/es6-weak-map-npm-2.0.3-5e57e0b4e6-8dfd50b291.zip/node_modules/es6-weak-map/", + "packageDependencies": [ + ["es6-weak-map", "npm:2.0.3"], + ["d", "npm:1.0.1"], + ["es5-ext", "npm:0.10.53"], + ["es6-iterator", "npm:2.0.3"], + ["es6-symbol", "npm:3.1.3"] + ], + "linkType": "HARD", + }] + ]], ["escalade", [ ["npm:3.1.1", { "packageLocation": "./.yarn/cache/escalade-npm-3.1.1-e02da076aa-1e31ff50d6.zip/node_modules/escalade/", @@ -10465,7 +10688,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["strip-json-comments", "npm:3.1.1"], ["table", "npm:5.4.6"], ["text-table", "npm:0.2.0"], - ["v8-compile-cache", "npm:2.1.1"] + ["v8-compile-cache", "npm:2.2.0"] ], "linkType": "HARD", }] @@ -10735,6 +10958,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["event-emitter", [ + ["npm:0.3.5", { + "packageLocation": "./.yarn/cache/event-emitter-npm-0.3.5-f1e8b8edb5-92107b8970.zip/node_modules/event-emitter/", + "packageDependencies": [ + ["event-emitter", "npm:0.3.5"], + ["d", "npm:1.0.1"], + ["es5-ext", "npm:0.10.53"] + ], + "linkType": "HARD", + }] + ]], ["eventemitter3", [ ["npm:3.1.2", { "packageLocation": "./.yarn/cache/eventemitter3-npm-3.1.2-a68b03e1ea-fa1a206c4e.zip/node_modules/eventemitter3/", @@ -10822,10 +11056,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["npm:4.0.3", { - "packageLocation": "./.yarn/cache/execa-npm-4.0.3-b70e1b2212-65b237d178.zip/node_modules/execa/", + ["npm:4.1.0", { + "packageLocation": "./.yarn/cache/execa-npm-4.1.0-cc675b4189-79bd736acd.zip/node_modules/execa/", "packageDependencies": [ - ["execa", "npm:4.0.3"], + ["execa", "npm:4.1.0"], ["cross-spawn", "npm:7.0.3"], ["get-stream", "npm:5.2.0"], ["human-signals", "npm:1.1.1"], @@ -10928,6 +11162,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["ext", [ + ["npm:1.4.0", { + "packageLocation": "./.yarn/cache/ext-npm-1.4.0-4190310122-c94102371f.zip/node_modules/ext/", + "packageDependencies": [ + ["ext", "npm:1.4.0"], + ["type", "npm:2.1.0"] + ], + "linkType": "HARD", + }] + ]], ["extend", [ ["npm:3.0.2", { "packageLocation": "./.yarn/cache/extend-npm-3.0.2-e1ca07ac54-1406da1f0c.zip/node_modules/extend/", @@ -11076,10 +11320,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["fastq", [ - ["npm:1.8.0", { - "packageLocation": "./.yarn/cache/fastq-npm-1.8.0-4c0923de4a-77d71545ba.zip/node_modules/fastq/", + ["npm:1.9.0", { + "packageLocation": "./.yarn/cache/fastq-npm-1.9.0-11e58b198d-e9b46ea899.zip/node_modules/fastq/", "packageDependencies": [ - ["fastq", "npm:1.8.0"], + ["fastq", "npm:1.9.0"], ["reusify", "npm:1.0.4"] ], "linkType": "HARD", @@ -11332,10 +11576,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["flow-parser", [ - ["npm:0.136.0", { - "packageLocation": "./.yarn/cache/flow-parser-npm-0.136.0-d6bb795f99-3df0a0f6a4.zip/node_modules/flow-parser/", + ["npm:0.137.0", { + "packageLocation": "./.yarn/cache/flow-parser-npm-0.137.0-2e0024a61a-054a1a4c49.zip/node_modules/flow-parser/", "packageDependencies": [ - ["flow-parser", "npm:0.136.0"] + ["flow-parser", "npm:0.137.0"] ], "linkType": "HARD", }] @@ -11611,10 +11855,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["gensync", [ - ["npm:1.0.0-beta.1", { - "packageLocation": "./.yarn/cache/gensync-npm-1.0.0-beta.1-0bc9838d39-3d14f7c34f.zip/node_modules/gensync/", + ["npm:1.0.0-beta.2", { + "packageLocation": "./.yarn/cache/gensync-npm-1.0.0-beta.2-224666d72f-d523437689.zip/node_modules/gensync/", "packageDependencies": [ - ["gensync", "npm:1.0.0-beta.1"] + ["gensync", "npm:1.0.0-beta.2"] ], "linkType": "HARD", }] @@ -12106,14 +12350,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["graphql-extensions", [ - ["virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.12.5", { - "packageLocation": "./.yarn/$$virtual/graphql-extensions-virtual-e4a31ef987/0/cache/graphql-extensions-npm-0.12.5-34878b805e-acdba97954.zip/node_modules/graphql-extensions/", + ["virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.12.5", { + "packageLocation": "./.yarn/$$virtual/graphql-extensions-virtual-ab6c014dee/0/cache/graphql-extensions-npm-0.12.5-34878b805e-acdba97954.zip/node_modules/graphql-extensions/", "packageDependencies": [ - ["graphql-extensions", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.12.5"], - ["@apollographql/apollo-tools", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.4.8"], + ["graphql-extensions", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.12.5"], + ["@apollographql/apollo-tools", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:0.4.8"], ["@types/graphql", null], ["apollo-server-env", "npm:2.4.5"], - ["apollo-server-types", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.6.0"], + ["apollo-server-types", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:0.6.0"], ["graphql", "npm:15.4.0"] ], "packagePeers": [ @@ -12124,10 +12368,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["graphql-subscriptions", [ - ["virtual:b48bfc75325537b9d641f357739049b25dac71eb86a05d5744ecd259c67ce3d1110d501b0f5cd21b669aa2cda1c9f77cfe9c3e49e1202cba9683bd40f09e88bb#npm:1.1.0", { - "packageLocation": "./.yarn/$$virtual/graphql-subscriptions-virtual-3fd9c299a1/0/cache/graphql-subscriptions-npm-1.1.0-89d5e40c1b-3e10eebf44.zip/node_modules/graphql-subscriptions/", + ["virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:1.1.0", { + "packageLocation": "./.yarn/$$virtual/graphql-subscriptions-virtual-2d475877c6/0/cache/graphql-subscriptions-npm-1.1.0-89d5e40c1b-3e10eebf44.zip/node_modules/graphql-subscriptions/", "packageDependencies": [ - ["graphql-subscriptions", "virtual:b48bfc75325537b9d641f357739049b25dac71eb86a05d5744ecd259c67ce3d1110d501b0f5cd21b669aa2cda1c9f77cfe9c3e49e1202cba9683bd40f09e88bb#npm:1.1.0"], + ["graphql-subscriptions", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:1.1.0"], ["@types/graphql", null], ["graphql", "npm:15.4.0"], ["iterall", "npm:1.3.0"] @@ -12140,10 +12384,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["graphql-tag", [ - ["virtual:90d4a72924f341713b457eb175224e1ec0cb1cc17fae57e4425352a06b7bd1badc2992c0aaf430411c746462d51ce4afd9da56feea73b62dad7f9bec3f6bc226#npm:2.11.0", { - "packageLocation": "./.yarn/$$virtual/graphql-tag-virtual-a9b97c87e6/0/cache/graphql-tag-npm-2.11.0-d505ecf590-4003555901.zip/node_modules/graphql-tag/", + ["virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:2.11.0", { + "packageLocation": "./.yarn/$$virtual/graphql-tag-virtual-6a1a09f7fd/0/cache/graphql-tag-npm-2.11.0-d505ecf590-4003555901.zip/node_modules/graphql-tag/", "packageDependencies": [ - ["graphql-tag", "virtual:90d4a72924f341713b457eb175224e1ec0cb1cc17fae57e4425352a06b7bd1badc2992c0aaf430411c746462d51ce4afd9da56feea73b62dad7f9bec3f6bc226#npm:2.11.0"], + ["graphql-tag", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:2.11.0"], ["@types/graphql", null], ["graphql", "npm:15.4.0"] ], @@ -12155,13 +12399,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["graphql-tools", [ - ["virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:4.0.8", { - "packageLocation": "./.yarn/$$virtual/graphql-tools-virtual-1d9460e4f2/0/cache/graphql-tools-npm-4.0.8-8345536f34-93f62ea9b1.zip/node_modules/graphql-tools/", + ["virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:4.0.8", { + "packageLocation": "./.yarn/$$virtual/graphql-tools-virtual-ea53d40d39/0/cache/graphql-tools-npm-4.0.8-8345536f34-93f62ea9b1.zip/node_modules/graphql-tools/", "packageDependencies": [ - ["graphql-tools", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:4.0.8"], + ["graphql-tools", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:4.0.8"], ["@types/graphql", null], - ["apollo-link", "virtual:1d9460e4f25e67dc6fbab8cd026583a9854ca03b7e57ffb7c23c611bf85f6b9bd8ce37944d666205376796f656412b0bf4451cd60c7482eb06f06f46e7f7afa1#npm:1.2.14"], - ["apollo-utilities", "virtual:1d9460e4f25e67dc6fbab8cd026583a9854ca03b7e57ffb7c23c611bf85f6b9bd8ce37944d666205376796f656412b0bf4451cd60c7482eb06f06f46e7f7afa1#npm:1.3.4"], + ["apollo-link", "virtual:ea53d40d39bd77fa4e4c540ca1bf72443f35df38d8680e1906507f956349a2203c44c234a941fec344f2f36ca491e571990d7ab8844a9cde6536651afc790899#npm:1.2.14"], + ["apollo-utilities", "virtual:ea53d40d39bd77fa4e4c540ca1bf72443f35df38d8680e1906507f956349a2203c44c234a941fec344f2f36ca491e571990d7ab8844a9cde6536651afc790899#npm:1.3.4"], ["deprecated-decorator", "npm:0.1.6"], ["graphql", "npm:15.4.0"], ["iterall", "npm:1.3.0"], @@ -12190,10 +12434,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["graphql-upload", [ - ["virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:8.1.0", { - "packageLocation": "./.yarn/$$virtual/graphql-upload-virtual-ec826a7e96/0/cache/graphql-upload-npm-8.1.0-c7d3bd9b21-e5fa68b3eb.zip/node_modules/graphql-upload/", + ["virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:8.1.0", { + "packageLocation": "./.yarn/$$virtual/graphql-upload-virtual-fd97b496d2/0/cache/graphql-upload-npm-8.1.0-c7d3bd9b21-e5fa68b3eb.zip/node_modules/graphql-upload/", "packageDependencies": [ - ["graphql-upload", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:8.1.0"], + ["graphql-upload", "virtual:2bce9dce25f9bfe869c7f137dedfbdd8b53c33ca723c2baeb14d0039e9f64c63850e9fb6937a8cc11fc519edd4f195ee97a0d881a7bf77cc5d6ef9cd0fdf1824#npm:8.1.0"], ["@types/graphql", null], ["busboy", "npm:0.3.1"], ["fs-capacitor", "npm:2.0.4"], @@ -12539,13 +12783,53 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["html-webpack-plugin", [ + ["virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:4.5.0", { + "packageLocation": "./.yarn/$$virtual/html-webpack-plugin-virtual-5476d43d01/0/cache/html-webpack-plugin-npm-4.5.0-a74a71941d-df4dd38bd8.zip/node_modules/html-webpack-plugin/", + "packageDependencies": [ + ["html-webpack-plugin", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:4.5.0"], + ["@types/html-minifier-terser", "npm:5.1.1"], + ["@types/tapable", "npm:1.0.6"], + ["@types/webpack", "npm:4.41.24"], + ["html-minifier-terser", "npm:5.1.1"], + ["loader-utils", "npm:1.4.0"], + ["lodash", "npm:4.17.20"], + ["pretty-error", "npm:2.1.2"], + ["tapable", "npm:1.1.3"], + ["util.promisify", "npm:1.0.0"], + ["webpack", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.3.2"] + ], + "packagePeers": [ + "webpack" + ], + "linkType": "HARD", + }], + ["virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:4.5.0", { + "packageLocation": "./.yarn/$$virtual/html-webpack-plugin-virtual-75ab05a3a1/0/cache/html-webpack-plugin-npm-4.5.0-a74a71941d-df4dd38bd8.zip/node_modules/html-webpack-plugin/", + "packageDependencies": [ + ["html-webpack-plugin", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:4.5.0"], + ["@types/html-minifier-terser", "npm:5.1.1"], + ["@types/tapable", "npm:1.0.6"], + ["@types/webpack", "npm:4.41.24"], + ["html-minifier-terser", "npm:5.1.1"], + ["loader-utils", "npm:1.4.0"], + ["lodash", "npm:4.17.20"], + ["pretty-error", "npm:2.1.2"], + ["tapable", "npm:1.1.3"], + ["util.promisify", "npm:1.0.0"], + ["webpack", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:5.3.2"] + ], + "packagePeers": [ + "webpack" + ], + "linkType": "HARD", + }], ["virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:4.5.0", { "packageLocation": "./.yarn/$$virtual/html-webpack-plugin-virtual-9ef9465d7e/0/cache/html-webpack-plugin-npm-4.5.0-a74a71941d-df4dd38bd8.zip/node_modules/html-webpack-plugin/", "packageDependencies": [ ["html-webpack-plugin", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:4.5.0"], ["@types/html-minifier-terser", "npm:5.1.1"], ["@types/tapable", "npm:1.0.6"], - ["@types/webpack", "npm:4.41.23"], + ["@types/webpack", "npm:4.41.24"], ["html-minifier-terser", "npm:5.1.1"], ["loader-utils", "npm:1.4.0"], ["lodash", "npm:4.17.20"], @@ -12565,7 +12849,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["html-webpack-plugin", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:4.5.0"], ["@types/html-minifier-terser", "npm:5.1.1"], ["@types/tapable", "npm:1.0.6"], - ["@types/webpack", "npm:4.41.23"], + ["@types/webpack", "npm:4.41.24"], ["html-minifier-terser", "npm:5.1.1"], ["loader-utils", "npm:1.4.0"], ["lodash", "npm:4.17.20"], @@ -12579,33 +12863,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:4.5.0", { - "packageLocation": "./.yarn/$$virtual/html-webpack-plugin-virtual-0165c07a1d/0/cache/html-webpack-plugin-npm-4.5.0-a74a71941d-df4dd38bd8.zip/node_modules/html-webpack-plugin/", - "packageDependencies": [ - ["html-webpack-plugin", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:4.5.0"], - ["@types/html-minifier-terser", "npm:5.1.1"], - ["@types/tapable", "npm:1.0.6"], - ["@types/webpack", "npm:4.41.23"], - ["html-minifier-terser", "npm:5.1.1"], - ["loader-utils", "npm:1.4.0"], - ["lodash", "npm:4.17.20"], - ["pretty-error", "npm:2.1.2"], - ["tapable", "npm:1.1.3"], - ["util.promisify", "npm:1.0.0"], - ["webpack", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:5.3.2"] - ], - "packagePeers": [ - "webpack" - ], - "linkType": "HARD", - }], ["virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:4.5.0", { "packageLocation": "./.yarn/$$virtual/html-webpack-plugin-virtual-d7be3f97a0/0/cache/html-webpack-plugin-npm-4.5.0-a74a71941d-df4dd38bd8.zip/node_modules/html-webpack-plugin/", "packageDependencies": [ ["html-webpack-plugin", "virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:4.5.0"], ["@types/html-minifier-terser", "npm:5.1.1"], ["@types/tapable", "npm:1.0.6"], - ["@types/webpack", "npm:4.41.23"], + ["@types/webpack", "npm:4.41.24"], ["html-minifier-terser", "npm:5.1.1"], ["loader-utils", "npm:1.4.0"], ["lodash", "npm:4.17.20"], @@ -12841,10 +13105,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["ieee754", [ - ["npm:1.1.13", { - "packageLocation": "./.yarn/cache/ieee754-npm-1.1.13-a57522ba12-9ef12932e8.zip/node_modules/ieee754/", + ["npm:1.2.1", { + "packageLocation": "./.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-6c1cfab995.zip/node_modules/ieee754/", "packageDependencies": [ - ["ieee754", "npm:1.1.13"] + ["ieee754", "npm:1.2.1"] ], "linkType": "HARD", }] @@ -13654,6 +13918,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["is-promise", [ + ["npm:2.2.2", { + "packageLocation": "./.yarn/cache/is-promise-npm-2.2.2-afbf94db67-6fe84293b8.zip/node_modules/is-promise/", + "packageDependencies": [ + ["is-promise", "npm:2.2.2"] + ], + "linkType": "HARD", + }] + ]], ["is-redirect", [ ["npm:1.0.0", { "packageLocation": "./.yarn/cache/is-redirect-npm-1.0.0-0ff2c21753-24c2aef7db.zip/node_modules/is-redirect/", @@ -13988,7 +14261,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["jest-changed-files", "npm:26.6.1"], ["@jest/types", "npm:26.6.1"], - ["execa", "npm:4.0.3"], + ["execa", "npm:4.1.0"], ["throat", "npm:5.0.0"] ], "linkType": "HARD", @@ -14094,7 +14367,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@jest/environment", "npm:26.6.1"], ["@jest/fake-timers", "npm:26.6.1"], ["@jest/types", "npm:26.6.1"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["jest-mock", "npm:26.6.1"], ["jest-util", "npm:26.6.1"], ["jsdom", "virtual:14cceddac47525b46081ac3c8a17517d9fe57bf307664a9717626d2d8bd47a211df9f40e5146d559efce9c7d3d534a6bc34a9037e6dafacdeb7bb522b97f67b2#npm:16.4.0"] @@ -14110,7 +14383,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@jest/environment", "npm:26.6.1"], ["@jest/fake-timers", "npm:26.6.1"], ["@jest/types", "npm:26.6.1"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["jest-mock", "npm:26.6.1"], ["jest-util", "npm:26.6.1"] ], @@ -14133,7 +14406,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["jest-haste-map", "npm:26.6.1"], ["@jest/types", "npm:26.6.1"], ["@types/graceful-fs", "npm:4.1.4"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["anymatch", "npm:3.1.1"], ["fb-watchman", "npm:2.0.1"], ["fsevents", "patch:fsevents@npm%3A2.1.3#builtin::version=2.1.3&hash=127e8e"], @@ -14159,7 +14432,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@jest/source-map", "npm:26.5.0"], ["@jest/test-result", "npm:26.6.1"], ["@jest/types", "npm:26.6.1"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["chalk", "npm:4.1.0"], ["co", "npm:4.6.0"], ["expect", "npm:26.6.1"], @@ -14223,7 +14496,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["jest-mock", "npm:26.6.1"], ["@jest/types", "npm:26.6.1"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }] @@ -14290,7 +14563,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@jest/environment", "npm:26.6.1"], ["@jest/test-result", "npm:26.6.1"], ["@jest/types", "npm:26.6.1"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["chalk", "npm:4.1.0"], ["emittery", "npm:0.7.2"], ["exit", "npm:0.1.2"], @@ -14351,7 +14624,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/jest-serializer-npm-26.5.0-482df27b58-a36804c075.zip/node_modules/jest-serializer/", "packageDependencies": [ ["jest-serializer", "npm:26.5.0"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["graceful-fs", "npm:4.2.4"] ], "linkType": "HARD", @@ -14388,7 +14661,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["jest-util", "npm:26.6.1"], ["@jest/types", "npm:26.6.1"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["chalk", "npm:4.1.0"], ["graceful-fs", "npm:4.2.4"], ["is-ci", "npm:2.0.0"], @@ -14403,7 +14676,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["jest-validate", "npm:26.6.1"], ["@jest/types", "npm:26.6.1"], - ["camelcase", "npm:6.1.0"], + ["camelcase", "npm:6.2.0"], ["chalk", "npm:4.1.0"], ["jest-get-type", "npm:26.3.0"], ["leven", "npm:3.1.0"], @@ -14419,7 +14692,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["jest-watcher", "npm:26.6.1"], ["@jest/test-result", "npm:26.6.1"], ["@jest/types", "npm:26.6.1"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["ansi-escapes", "npm:4.3.1"], ["chalk", "npm:4.1.0"], ["jest-util", "npm:26.6.1"], @@ -14433,7 +14706,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/jest-worker-npm-26.6.1-29bb728758-329b65b18b.zip/node_modules/jest-worker/", "packageDependencies": [ ["jest-worker", "npm:26.6.1"], - ["@types/node", "npm:14.14.5"], + ["@types/node", "npm:14.14.6"], ["merge-stream", "npm:2.0.0"], ["supports-color", "npm:7.2.0"] ], @@ -14484,7 +14757,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@babel/register", "virtual:0214d34cbd2dfa0517bf5502fa848c00a1937162fff5aec4985d02e667d7fec7f388adc5d9586872978d0a7a6d9ea76f6f6a7a963e49174aad15584cf077e4ef#npm:7.12.1"], ["babel-core", "virtual:0214d34cbd2dfa0517bf5502fa848c00a1937162fff5aec4985d02e667d7fec7f388adc5d9586872978d0a7a6d9ea76f6f6a7a963e49174aad15584cf077e4ef#npm:7.0.0-bridge.0"], ["colors", "npm:1.4.0"], - ["flow-parser", "npm:0.136.0"], + ["flow-parser", "npm:0.137.0"], ["graceful-fs", "npm:4.2.4"], ["micromatch", "npm:3.1.10"], ["neo-async", "npm:2.6.2"], @@ -15305,6 +15578,16 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["lru-queue", [ + ["npm:0.1.0", { + "packageLocation": "./.yarn/cache/lru-queue-npm-0.1.0-8e1c90dde8-2eab98cdfb.zip/node_modules/lru-queue/", + "packageDependencies": [ + ["lru-queue", "npm:0.1.0"], + ["es5-ext", "npm:0.10.53"] + ], + "linkType": "HARD", + }] + ]], ["macos-release", [ ["npm:2.4.1", { "packageLocation": "./.yarn/cache/macos-release-npm-2.4.1-4856441ab1-0d15f4b163.zip/node_modules/macos-release/", @@ -15485,10 +15768,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["npm:7.0.1", { - "packageLocation": "./.yarn/cache/mem-fs-editor-npm-7.0.1-d25c5bb014-5097632333.zip/node_modules/mem-fs-editor/", + ["npm:7.1.0", { + "packageLocation": "./.yarn/cache/mem-fs-editor-npm-7.1.0-da247f514e-3e46ac729f.zip/node_modules/mem-fs-editor/", "packageDependencies": [ - ["mem-fs-editor", "npm:7.0.1"], + ["mem-fs-editor", "npm:7.1.0"], ["commondir", "npm:1.0.1"], ["deep-extend", "npm:0.6.0"], ["ejs", "npm:3.1.5"], @@ -15504,6 +15787,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["memoizee", [ + ["npm:0.4.14", { + "packageLocation": "./.yarn/cache/memoizee-npm-0.4.14-a62a033531-89530bbed2.zip/node_modules/memoizee/", + "packageDependencies": [ + ["memoizee", "npm:0.4.14"], + ["d", "npm:1.0.1"], + ["es5-ext", "npm:0.10.53"], + ["es6-weak-map", "npm:2.0.3"], + ["event-emitter", "npm:0.3.5"], + ["is-promise", "npm:2.2.2"], + ["lru-queue", "npm:0.1.0"], + ["next-tick", "npm:1.1.0"], + ["timers-ext", "npm:0.1.7"] + ], + "linkType": "HARD", + }] + ]], ["memory-fs", [ ["npm:0.4.1", { "packageLocation": "./.yarn/cache/memory-fs-npm-0.4.1-0a5f9b8954-ba79207118.zip/node_modules/memory-fs/", @@ -16166,6 +16466,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["next-tick", [ + ["npm:1.0.0", { + "packageLocation": "./.yarn/cache/next-tick-npm-1.0.0-0c0dd4bec1-18db63c447.zip/node_modules/next-tick/", + "packageDependencies": [ + ["next-tick", "npm:1.0.0"] + ], + "linkType": "HARD", + }], + ["npm:1.1.0", { + "packageLocation": "./.yarn/cache/next-tick-npm-1.1.0-e0eb60d6a4-586cc85dcd.zip/node_modules/next-tick/", + "packageDependencies": [ + ["next-tick", "npm:1.1.0"] + ], + "linkType": "HARD", + }] + ]], ["nice-try", [ ["npm:1.0.5", { "packageLocation": "./.yarn/cache/nice-try-npm-1.0.5-963856b16f-330f190bf6.zip/node_modules/nice-try/", @@ -16297,10 +16613,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["node-releases", [ - ["npm:1.1.64", { - "packageLocation": "./.yarn/cache/node-releases-npm-1.1.64-171b1d9b08-09e85fd0ec.zip/node_modules/node-releases/", + ["npm:1.1.65", { + "packageLocation": "./.yarn/cache/node-releases-npm-1.1.65-fff441f5a5-7b8b1c118e.zip/node_modules/node-releases/", "packageDependencies": [ - ["node-releases", "npm:1.1.64"] + ["node-releases", "npm:1.1.65"] ], "linkType": "HARD", }] @@ -16321,7 +16637,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/unplugged/nodemon-npm-2.0.6-533efccfd9/node_modules/nodemon/", "packageDependencies": [ ["nodemon", "npm:2.0.6"], - ["chokidar", "npm:3.4.2"], + ["chokidar", "npm:3.4.3"], ["debug", "virtual:533efccfd94682ecd466a58a5f392b34e0de4de31de9a671dc1fdefb92cdeea2750e4cdb6545c5f712ce24980c3d89f1ed4a11fbbcb3f8d8c94c44ea70d21f60#npm:3.2.6"], ["ignore-by-default", "npm:1.0.1"], ["minimatch", "npm:3.0.4"], @@ -16553,7 +16869,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["nunjucks", "npm:3.2.2"], ["a-sync-waterfall", "npm:1.0.1"], ["asap", "npm:2.0.6"], - ["chokidar", "npm:3.4.2"], + ["chokidar", "npm:3.4.3"], ["commander", "npm:5.1.0"] ], "linkType": "HARD", @@ -16811,6 +17127,26 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["open", [ + ["npm:7.3.0", { + "packageLocation": "./.yarn/cache/open-npm-7.3.0-d582d8b42e-a212fc9cf6.zip/node_modules/open/", + "packageDependencies": [ + ["open", "npm:7.3.0"], + ["is-docker", "npm:2.1.1"], + ["is-wsl", "npm:2.2.0"] + ], + "linkType": "HARD", + }] + ]], + ["opener", [ + ["npm:1.5.2", { + "packageLocation": "./.yarn/cache/opener-npm-1.5.2-7a1aa69f14-855420de4f.zip/node_modules/opener/", + "packageDependencies": [ + ["opener", "npm:1.5.2"] + ], + "linkType": "HARD", + }] + ]], ["opn", [ ["npm:5.5.0", { "packageLocation": "./.yarn/cache/opn-npm-5.5.0-9a97e03147-0ea3b6550f.zip/node_modules/opn/", @@ -17246,7 +17582,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/parse5-npm-3.0.3-fb7c9e4969-4708652470.zip/node_modules/parse5/", "packageDependencies": [ ["parse5", "npm:3.0.3"], - ["@types/node", "npm:14.14.5"] + ["@types/node", "npm:14.14.6"] ], "linkType": "HARD", }], @@ -18426,10 +18762,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["virtual:4ddff1d646bc362c6afc36bef28f93e31d6a5006606ba80eda4318677fbb711f937a7af8ebec32c54c83167e7f20a53c527751e18860df2685911ae6d7bc346b#npm:2.3.3", { - "packageLocation": "./.yarn/$$virtual/rc-motion-virtual-4f7fcf70da/0/cache/rc-motion-npm-2.3.3-7ccdd7343f-c48c4c03bc.zip/node_modules/rc-motion/", + ["virtual:7e6b9361306b98f5a9fac50e27d0c1aad3525785c5d5aa7cd2877d3347ec731c7e0eabccea2f9cc643462406d1bc00feb8f093ccdd963552c0770ac68af0780d#npm:2.3.3", { + "packageLocation": "./.yarn/$$virtual/rc-motion-virtual-d64d1bd306/0/cache/rc-motion-npm-2.3.3-7ccdd7343f-c48c4c03bc.zip/node_modules/rc-motion/", "packageDependencies": [ - ["rc-motion", "virtual:4ddff1d646bc362c6afc36bef28f93e31d6a5006606ba80eda4318677fbb711f937a7af8ebec32c54c83167e7f20a53c527751e18860df2685911ae6d7bc346b#npm:2.3.3"], + ["rc-motion", "virtual:7e6b9361306b98f5a9fac50e27d0c1aad3525785c5d5aa7cd2877d3347ec731c7e0eabccea2f9cc643462406d1bc00feb8f093ccdd963552c0770ac68af0780d#npm:2.3.3"], ["@babel/runtime", "npm:7.12.1"], ["@types/react", null], ["@types/react-dom", null], @@ -18599,10 +18935,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/react", null], ["@types/react-dom", null], ["classnames", "npm:2.2.6"], - ["rc-motion", "virtual:4ddff1d646bc362c6afc36bef28f93e31d6a5006606ba80eda4318677fbb711f937a7af8ebec32c54c83167e7f20a53c527751e18860df2685911ae6d7bc346b#npm:2.3.3"], - ["rc-trigger", "npm:5.0.8"], + ["rc-motion", "virtual:7e6b9361306b98f5a9fac50e27d0c1aad3525785c5d5aa7cd2877d3347ec731c7e0eabccea2f9cc643462406d1bc00feb8f093ccdd963552c0770ac68af0780d#npm:2.3.3"], + ["rc-trigger", "npm:5.0.9"], ["rc-util", "npm:5.4.0"], - ["rc-virtual-list", "virtual:1828b7c21cb30a5c411b16ce70cabbe993e20d180dd1ba5a1fc3b8d8df44178eb5c7d5811932bb03e8d44337af0298660db72f11a7a0a74d04b89b797734c40c#npm:3.2.0"], + ["rc-virtual-list", "virtual:1828b7c21cb30a5c411b16ce70cabbe993e20d180dd1ba5a1fc3b8d8df44178eb5c7d5811932bb03e8d44337af0298660db72f11a7a0a74d04b89b797734c40c#npm:3.2.2"], ["react", "npm:17.0.1"], ["react-dom", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:17.0.1"], ["warning", "npm:4.0.3"] @@ -18864,14 +19200,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["npm:5.0.8", { - "packageLocation": "./.yarn/cache/rc-trigger-npm-5.0.8-4ddff1d646-5db12ceb73.zip/node_modules/rc-trigger/", + ["npm:5.0.9", { + "packageLocation": "./.yarn/cache/rc-trigger-npm-5.0.9-7e6b936130-684484a403.zip/node_modules/rc-trigger/", "packageDependencies": [ - ["rc-trigger", "npm:5.0.8"], + ["rc-trigger", "npm:5.0.9"], ["@babel/runtime", "npm:7.12.1"], ["classnames", "npm:2.2.6"], ["rc-align", "virtual:ac2f68112fbc26381253629353b13227a42a4ab08ada8fe215ba91bd6512196d244328f97d6411e88dfd49c3e14a248c47e55758481aabb9f46016c23cbae9eb#npm:4.0.8"], - ["rc-motion", "virtual:4ddff1d646bc362c6afc36bef28f93e31d6a5006606ba80eda4318677fbb711f937a7af8ebec32c54c83167e7f20a53c527751e18860df2685911ae6d7bc346b#npm:2.3.3"], + ["rc-motion", "virtual:7e6b9361306b98f5a9fac50e27d0c1aad3525785c5d5aa7cd2877d3347ec731c7e0eabccea2f9cc643462406d1bc00feb8f093ccdd963552c0770ac68af0780d#npm:2.3.3"], ["rc-util", "npm:5.4.0"], ["react", "npm:17.0.1"], ["react-dom", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:17.0.1"] @@ -18919,10 +19255,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["rc-virtual-list", [ - ["virtual:1828b7c21cb30a5c411b16ce70cabbe993e20d180dd1ba5a1fc3b8d8df44178eb5c7d5811932bb03e8d44337af0298660db72f11a7a0a74d04b89b797734c40c#npm:3.2.0", { - "packageLocation": "./.yarn/$$virtual/rc-virtual-list-virtual-de1431fe88/0/cache/rc-virtual-list-npm-3.2.0-5efaefc12e-dab2c22130.zip/node_modules/rc-virtual-list/", + ["virtual:1828b7c21cb30a5c411b16ce70cabbe993e20d180dd1ba5a1fc3b8d8df44178eb5c7d5811932bb03e8d44337af0298660db72f11a7a0a74d04b89b797734c40c#npm:3.2.2", { + "packageLocation": "./.yarn/$$virtual/rc-virtual-list-virtual-3406d8003e/0/cache/rc-virtual-list-npm-3.2.2-e9cfab8d5d-166e06e696.zip/node_modules/rc-virtual-list/", "packageDependencies": [ - ["rc-virtual-list", "virtual:1828b7c21cb30a5c411b16ce70cabbe993e20d180dd1ba5a1fc3b8d8df44178eb5c7d5811932bb03e8d44337af0298660db72f11a7a0a74d04b89b797734c40c#npm:3.2.0"], + ["rc-virtual-list", "virtual:1828b7c21cb30a5c411b16ce70cabbe993e20d180dd1ba5a1fc3b8d8df44178eb5c7d5811932bb03e8d44337af0298660db72f11a7a0a74d04b89b797734c40c#npm:3.2.2"], ["@types/react", null], ["@types/react-dom", null], ["classnames", "npm:2.2.6"], @@ -19385,14 +19721,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["npm:3.4.0", { - "packageLocation": "./.yarn/cache/readdirp-npm-3.4.0-503e0a2772-0159f43eb0.zip/node_modules/readdirp/", - "packageDependencies": [ - ["readdirp", "npm:3.4.0"], - ["picomatch", "npm:2.2.2"] - ], - "linkType": "HARD", - }], ["npm:3.5.0", { "packageLocation": "./.yarn/cache/readdirp-npm-3.5.0-a1b1568d32-a64fe56069.zip/node_modules/readdirp/", "packageDependencies": [ @@ -19629,6 +19957,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["reload", [ + ["npm:3.1.1", { + "packageLocation": "./.yarn/cache/reload-npm-3.1.1-c7ae64f9ae-3401eedb3e.zip/node_modules/reload/", + "packageDependencies": [ + ["reload", "npm:3.1.1"], + ["cli-color", "npm:2.0.0"], + ["commander", "npm:6.1.0"], + ["finalhandler", "npm:1.1.2"], + ["minimist", "npm:1.2.5"], + ["open", "npm:7.3.0"], + ["serve-static", "npm:1.14.1"], + ["supervisor", "npm:0.12.0"], + ["url-parse", "npm:1.4.7"], + ["ws", "virtual:9d099031b90fc8a274f2b32435263e19422ee3c9337fd65f27b60c6a50f33b1170ce05c87a5370ded8c05a1293b7b83ed44851966d8efaffe544d06ba235364f#npm:7.3.1"] + ], + "linkType": "HARD", + }] + ]], ["remark-parse", [ ["npm:9.0.0", { "packageLocation": "./.yarn/cache/remark-parse-npm-9.0.0-da1fe74019-ca34e41b0c.zip/node_modules/remark-parse/", @@ -21263,6 +21609,36 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["style-loader", [ + ["virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:2.0.0", { + "packageLocation": "./.yarn/$$virtual/style-loader-virtual-caaadebd65/0/cache/style-loader-npm-2.0.0-b9a5c4a2aa-ffc3054882.zip/node_modules/style-loader/", + "packageDependencies": [ + ["style-loader", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:2.0.0"], + ["@types/webpack", null], + ["loader-utils", "npm:2.0.0"], + ["schema-utils", "npm:3.0.0"], + ["webpack", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.3.2"] + ], + "packagePeers": [ + "@types/webpack", + "webpack" + ], + "linkType": "HARD", + }], + ["virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:2.0.0", { + "packageLocation": "./.yarn/$$virtual/style-loader-virtual-fc2e69646a/0/cache/style-loader-npm-2.0.0-b9a5c4a2aa-ffc3054882.zip/node_modules/style-loader/", + "packageDependencies": [ + ["style-loader", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:2.0.0"], + ["@types/webpack", null], + ["loader-utils", "npm:2.0.0"], + ["schema-utils", "npm:3.0.0"], + ["webpack", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:5.3.2"] + ], + "packagePeers": [ + "@types/webpack", + "webpack" + ], + "linkType": "HARD", + }], ["virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:2.0.0", { "packageLocation": "./.yarn/$$virtual/style-loader-virtual-f567a2cbe6/0/cache/style-loader-npm-2.0.0-b9a5c4a2aa-ffc3054882.zip/node_modules/style-loader/", "packageDependencies": [ @@ -21293,21 +21669,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:2.0.0", { - "packageLocation": "./.yarn/$$virtual/style-loader-virtual-868b905861/0/cache/style-loader-npm-2.0.0-b9a5c4a2aa-ffc3054882.zip/node_modules/style-loader/", - "packageDependencies": [ - ["style-loader", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:2.0.0"], - ["@types/webpack", null], - ["loader-utils", "npm:2.0.0"], - ["schema-utils", "npm:3.0.0"], - ["webpack", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:5.3.2"] - ], - "packagePeers": [ - "@types/webpack", - "webpack" - ], - "linkType": "HARD", - }], ["virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:2.0.0", { "packageLocation": "./.yarn/$$virtual/style-loader-virtual-f500aff369/0/cache/style-loader-npm-2.0.0-b9a5c4a2aa-ffc3054882.zip/node_modules/style-loader/", "packageDependencies": [ @@ -21325,10 +21686,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["subscriptions-transport-ws", [ - ["virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.9.18", { - "packageLocation": "./.yarn/$$virtual/subscriptions-transport-ws-virtual-0fb5816674/0/cache/subscriptions-transport-ws-npm-0.9.18-7d0f338bbd-54f23dadb3.zip/node_modules/subscriptions-transport-ws/", + ["virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:0.9.18", { + "packageLocation": "./.yarn/$$virtual/subscriptions-transport-ws-virtual-1c48b01d7d/0/cache/subscriptions-transport-ws-npm-0.9.18-7d0f338bbd-54f23dadb3.zip/node_modules/subscriptions-transport-ws/", "packageDependencies": [ - ["subscriptions-transport-ws", "virtual:c2454b2d17ccf8773bac72b0fb33aec92031d79474629ad85e077201aedc53cbab2422ea96820864a7d86645e4ac62c53b660162599f53a2db963c80308c607f#npm:0.9.18"], + ["subscriptions-transport-ws", "virtual:ac5f8f8d8676516901762bca16b7545b542343d928e3b436fbfe0b17f2be9a7dc8c7db255258863f7f2b369239b9623038bc632eaee495a9cd5327acbc141ad2#npm:0.9.18"], ["@types/graphql", null], ["backo2", "npm:1.0.2"], ["eventemitter3", "npm:3.1.2"], @@ -21344,6 +21705,15 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["supervisor", [ + ["npm:0.12.0", { + "packageLocation": "./.yarn/cache/supervisor-npm-0.12.0-86eb2f0732-b06597a97c.zip/node_modules/supervisor/", + "packageDependencies": [ + ["supervisor", "npm:0.12.0"] + ], + "linkType": "HARD", + }] + ]], ["supports-color", [ ["npm:5.5.0", { "packageLocation": "./.yarn/cache/supports-color-npm-5.5.0-183ac537bc-edacee6425.zip/node_modules/supports-color/", @@ -21628,6 +21998,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], + ["virtual:61135848450655fb8b2efa78db9f7766b31e026309cbf6f854bdedd42679e8ad8efe99cd2734c42042bb641c3cd6138c32e8b5075f9b33fbb093b570a5c0f703#npm:5.0.3", { + "packageLocation": "./.yarn/$$virtual/terser-webpack-plugin-virtual-e69b4996c2/0/cache/terser-webpack-plugin-npm-5.0.3-df7af3661a-e71ae79f55.zip/node_modules/terser-webpack-plugin/", + "packageDependencies": [ + ["terser-webpack-plugin", "virtual:61135848450655fb8b2efa78db9f7766b31e026309cbf6f854bdedd42679e8ad8efe99cd2734c42042bb641c3cd6138c32e8b5075f9b33fbb093b570a5c0f703#npm:5.0.3"], + ["@types/webpack", null], + ["jest-worker", "npm:26.6.1"], + ["p-limit", "npm:3.0.2"], + ["schema-utils", "npm:3.0.0"], + ["serialize-javascript", "npm:5.0.1"], + ["source-map", "npm:0.6.1"], + ["terser", "npm:5.3.8"], + ["webpack", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.3.2"] + ], + "packagePeers": [ + "@types/webpack", + "webpack" + ], + "linkType": "HARD", + }], ["virtual:70448510e35589dd4caeba1966f4c895168c7207f14665fd0bf48d3892d585abea0de39493b1c219da9b6dbb42041d80eb95c81d1901520a7a996d1e5d987d83#npm:5.0.3", { "packageLocation": "./.yarn/$$virtual/terser-webpack-plugin-virtual-fb6809767e/0/cache/terser-webpack-plugin-npm-5.0.3-df7af3661a-e71ae79f55.zip/node_modules/terser-webpack-plugin/", "packageDependencies": [ @@ -21703,44 +22092,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "webpack" ], "linkType": "HARD", - }], - ["virtual:b9817f6e3b41e7df1f8b91bd82cf1ff1f770b6f09c678e661736ccca9efd57a4588a815fbf9f54cb5c08a9b065a725b67d1e20a9137a442fa7cbb1090c5e4d4e#npm:5.0.1", { - "packageLocation": "./.yarn/$$virtual/terser-webpack-plugin-virtual-42889d7759/0/cache/terser-webpack-plugin-npm-5.0.1-e2259a3f81-23dfddfcba.zip/node_modules/terser-webpack-plugin/", - "packageDependencies": [ - ["terser-webpack-plugin", "virtual:b9817f6e3b41e7df1f8b91bd82cf1ff1f770b6f09c678e661736ccca9efd57a4588a815fbf9f54cb5c08a9b065a725b67d1e20a9137a442fa7cbb1090c5e4d4e#npm:5.0.1"], - ["@types/webpack", null], - ["jest-worker", "npm:26.6.1"], - ["p-limit", "npm:3.0.2"], - ["schema-utils", "npm:3.0.0"], - ["serialize-javascript", "npm:5.0.1"], - ["source-map", "npm:0.6.1"], - ["terser", "npm:5.3.8"], - ["webpack", "virtual:270d82db604954d961cc9f757385701a41fef1be9394b7dfdd6397f44e5ade32e0654e585ce5553233f046dd87d6ed47ed75ed4197dde852ba15a88c4364ec5d#npm:5.3.0"] - ], - "packagePeers": [ - "@types/webpack", - "webpack" - ], - "linkType": "HARD", - }], - ["virtual:e39379fe74ad1d167938aa5817b0910b05520473ee934b5be9e69ab35c894bc442600921521a0872ca475d2bd4161dc6ab14d0919de01d5f82a7a688d5571836#npm:5.0.3", { - "packageLocation": "./.yarn/$$virtual/terser-webpack-plugin-virtual-15a11b4d69/0/cache/terser-webpack-plugin-npm-5.0.3-df7af3661a-e71ae79f55.zip/node_modules/terser-webpack-plugin/", - "packageDependencies": [ - ["terser-webpack-plugin", "virtual:e39379fe74ad1d167938aa5817b0910b05520473ee934b5be9e69ab35c894bc442600921521a0872ca475d2bd4161dc6ab14d0919de01d5f82a7a688d5571836#npm:5.0.3"], - ["@types/webpack", null], - ["jest-worker", "npm:26.6.1"], - ["p-limit", "npm:3.0.2"], - ["schema-utils", "npm:3.0.0"], - ["serialize-javascript", "npm:5.0.1"], - ["source-map", "npm:0.6.1"], - ["terser", "npm:5.3.8"], - ["webpack", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:5.3.2"] - ], - "packagePeers": [ - "@types/webpack", - "webpack" - ], - "linkType": "HARD", }] ]], ["test-exclude", [ @@ -21858,6 +22209,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["timers-ext", [ + ["npm:0.1.7", { + "packageLocation": "./.yarn/cache/timers-ext-npm-0.1.7-7edcefbfb5-4593b57c39.zip/node_modules/timers-ext/", + "packageDependencies": [ + ["timers-ext", "npm:0.1.7"], + ["es5-ext", "npm:0.10.53"], + ["next-tick", "npm:1.1.0"] + ], + "linkType": "HARD", + }] + ]], ["tiny-invariant", [ ["npm:1.1.0", { "packageLocation": "./.yarn/cache/tiny-invariant-npm-1.1.0-105cc1fc8e-64318fbd77.zip/node_modules/tiny-invariant/", @@ -22157,6 +22519,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "linkType": "HARD", }] ]], + ["type", [ + ["npm:1.2.0", { + "packageLocation": "./.yarn/cache/type-npm-1.2.0-e67311c4b2-1589416fd9.zip/node_modules/type/", + "packageDependencies": [ + ["type", "npm:1.2.0"] + ], + "linkType": "HARD", + }], + ["npm:2.1.0", { + "packageLocation": "./.yarn/cache/type-npm-2.1.0-065c3f492a-c58a014169.zip/node_modules/type/", + "packageDependencies": [ + ["type", "npm:2.1.0"] + ], + "linkType": "HARD", + }] + ]], ["type-check", [ ["npm:0.3.2", { "packageLocation": "./.yarn/cache/type-check-npm-0.3.2-a4a38bb0b6-4e08064531.zip/node_modules/type-check/", @@ -22299,7 +22677,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/unbzip2-stream-npm-1.4.3-c5582d6a9f-779446eed1.zip/node_modules/unbzip2-stream/", "packageDependencies": [ ["unbzip2-stream", "npm:1.4.3"], - ["buffer", "npm:5.6.1"], + ["buffer", "npm:5.7.0"], ["through", "npm:2.3.8"] ], "linkType": "HARD", @@ -22430,10 +22808,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["unist-util-is", [ - ["npm:4.0.2", { - "packageLocation": "./.yarn/cache/unist-util-is-npm-4.0.2-edcf2f5815-497967dc77.zip/node_modules/unist-util-is/", + ["npm:4.0.3", { + "packageLocation": "./.yarn/cache/unist-util-is-npm-4.0.3-df0a79ea11-661a7fbf5f.zip/node_modules/unist-util-is/", "packageDependencies": [ - ["unist-util-is", "npm:4.0.2"] + ["unist-util-is", "npm:4.0.3"] ], "linkType": "HARD", }] @@ -22454,7 +22832,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["unist-util-visit", "npm:2.0.3"], ["@types/unist", "npm:2.0.3"], - ["unist-util-is", "npm:4.0.2"], + ["unist-util-is", "npm:4.0.3"], ["unist-util-visit-parents", "npm:3.1.1"] ], "linkType": "HARD", @@ -22473,7 +22851,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [ ["unist-util-visit-parents", "npm:3.1.1"], ["@types/unist", "npm:2.0.3"], - ["unist-util-is", "npm:4.0.2"] + ["unist-util-is", "npm:4.0.3"] ], "linkType": "HARD", }] @@ -22717,10 +23095,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["v8-compile-cache", [ - ["npm:2.1.1", { - "packageLocation": "./.yarn/cache/v8-compile-cache-npm-2.1.1-efff1ef0a4-1290922fe1.zip/node_modules/v8-compile-cache/", + ["npm:2.2.0", { + "packageLocation": "./.yarn/cache/v8-compile-cache-npm-2.2.0-b4d8f03dca-1efc994640.zip/node_modules/v8-compile-cache/", "packageDependencies": [ - ["v8-compile-cache", "npm:2.1.1"] + ["v8-compile-cache", "npm:2.2.0"] ], "linkType": "HARD", }] @@ -22937,6 +23315,41 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["webpack", [ + ["virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.3.2", { + "packageLocation": "./.yarn/$$virtual/webpack-virtual-6113584845/0/cache/webpack-npm-5.3.2-3f56763976-334a24989d.zip/node_modules/webpack/", + "packageDependencies": [ + ["webpack", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.3.2"], + ["@types/eslint-scope", "npm:3.7.0"], + ["@types/estree", "npm:0.0.45"], + ["@webassemblyjs/ast", "npm:1.9.0"], + ["@webassemblyjs/helper-module-context", "npm:1.9.0"], + ["@webassemblyjs/wasm-edit", "npm:1.9.0"], + ["@webassemblyjs/wasm-parser", "npm:1.9.0"], + ["acorn", "npm:8.0.4"], + ["browserslist", "npm:4.14.5"], + ["chrome-trace-event", "npm:1.0.2"], + ["enhanced-resolve", "npm:5.3.1"], + ["eslint-scope", "npm:5.1.1"], + ["events", "npm:3.2.0"], + ["glob-to-regexp", "npm:0.4.1"], + ["graceful-fs", "npm:4.2.4"], + ["json-parse-better-errors", "npm:1.0.2"], + ["loader-runner", "npm:4.1.0"], + ["mime-types", "npm:2.1.27"], + ["neo-async", "npm:2.6.2"], + ["pkg-dir", "npm:4.2.0"], + ["schema-utils", "npm:3.0.0"], + ["tapable", "npm:2.0.0"], + ["terser-webpack-plugin", "virtual:61135848450655fb8b2efa78db9f7766b31e026309cbf6f854bdedd42679e8ad8efe99cd2734c42042bb641c3cd6138c32e8b5075f9b33fbb093b570a5c0f703#npm:5.0.3"], + ["watchpack", "npm:2.0.0"], + ["webpack-cli", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:4.1.0"], + ["webpack-sources", "npm:2.2.0"] + ], + "packagePeers": [ + "webpack-cli" + ], + "linkType": "HARD", + }], ["virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:5.3.2", { "packageLocation": "./.yarn/$$virtual/webpack-virtual-b695c475d8/0/cache/webpack-npm-5.3.2-3f56763976-334a24989d.zip/node_modules/webpack/", "packageDependencies": [ @@ -23007,41 +23420,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["virtual:270d82db604954d961cc9f757385701a41fef1be9394b7dfdd6397f44e5ade32e0654e585ce5553233f046dd87d6ed47ed75ed4197dde852ba15a88c4364ec5d#npm:5.3.0", { - "packageLocation": "./.yarn/$$virtual/webpack-virtual-b9817f6e3b/0/cache/webpack-npm-5.3.0-24424e3a6a-039d91f1ea.zip/node_modules/webpack/", - "packageDependencies": [ - ["webpack", "virtual:270d82db604954d961cc9f757385701a41fef1be9394b7dfdd6397f44e5ade32e0654e585ce5553233f046dd87d6ed47ed75ed4197dde852ba15a88c4364ec5d#npm:5.3.0"], - ["@types/eslint-scope", "npm:3.7.0"], - ["@types/estree", "npm:0.0.45"], - ["@webassemblyjs/ast", "npm:1.9.0"], - ["@webassemblyjs/helper-module-context", "npm:1.9.0"], - ["@webassemblyjs/wasm-edit", "npm:1.9.0"], - ["@webassemblyjs/wasm-parser", "npm:1.9.0"], - ["acorn", "npm:8.0.4"], - ["browserslist", "npm:4.14.5"], - ["chrome-trace-event", "npm:1.0.2"], - ["enhanced-resolve", "npm:5.3.1"], - ["eslint-scope", "npm:5.1.1"], - ["events", "npm:3.2.0"], - ["glob-to-regexp", "npm:0.4.1"], - ["graceful-fs", "npm:4.2.4"], - ["json-parse-better-errors", "npm:1.0.2"], - ["loader-runner", "npm:4.1.0"], - ["mime-types", "npm:2.1.27"], - ["neo-async", "npm:2.6.2"], - ["pkg-dir", "npm:4.2.0"], - ["schema-utils", "npm:3.0.0"], - ["tapable", "npm:2.0.0"], - ["terser-webpack-plugin", "virtual:b9817f6e3b41e7df1f8b91bd82cf1ff1f770b6f09c678e661736ccca9efd57a4588a815fbf9f54cb5c08a9b065a725b67d1e20a9137a442fa7cbb1090c5e4d4e#npm:5.0.1"], - ["watchpack", "npm:2.0.0"], - ["webpack-cli", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:4.0.0"], - ["webpack-sources", "npm:2.1.0"] - ], - "packagePeers": [ - "webpack-cli" - ], - "linkType": "HARD", - }], ["virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.3.2", { "packageLocation": "./.yarn/$$virtual/webpack-virtual-224f7e20f9/0/cache/webpack-npm-5.3.2-3f56763976-334a24989d.zip/node_modules/webpack/", "packageDependencies": [ @@ -23147,41 +23525,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:5.3.2", { - "packageLocation": "./.yarn/$$virtual/webpack-virtual-e39379fe74/0/cache/webpack-npm-5.3.2-3f56763976-334a24989d.zip/node_modules/webpack/", - "packageDependencies": [ - ["webpack", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:5.3.2"], - ["@types/eslint-scope", "npm:3.7.0"], - ["@types/estree", "npm:0.0.45"], - ["@webassemblyjs/ast", "npm:1.9.0"], - ["@webassemblyjs/helper-module-context", "npm:1.9.0"], - ["@webassemblyjs/wasm-edit", "npm:1.9.0"], - ["@webassemblyjs/wasm-parser", "npm:1.9.0"], - ["acorn", "npm:8.0.4"], - ["browserslist", "npm:4.14.5"], - ["chrome-trace-event", "npm:1.0.2"], - ["enhanced-resolve", "npm:5.3.1"], - ["eslint-scope", "npm:5.1.1"], - ["events", "npm:3.2.0"], - ["glob-to-regexp", "npm:0.4.1"], - ["graceful-fs", "npm:4.2.4"], - ["json-parse-better-errors", "npm:1.0.2"], - ["loader-runner", "npm:4.1.0"], - ["mime-types", "npm:2.1.27"], - ["neo-async", "npm:2.6.2"], - ["pkg-dir", "npm:4.2.0"], - ["schema-utils", "npm:3.0.0"], - ["tapable", "npm:2.0.0"], - ["terser-webpack-plugin", "virtual:e39379fe74ad1d167938aa5817b0910b05520473ee934b5be9e69ab35c894bc442600921521a0872ca475d2bd4161dc6ab14d0919de01d5f82a7a688d5571836#npm:5.0.3"], - ["watchpack", "npm:2.0.0"], - ["webpack-cli", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:4.1.0"], - ["webpack-sources", "npm:2.2.0"] - ], - "packagePeers": [ - "webpack-cli" - ], - "linkType": "HARD", - }], ["virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:5.3.2", { "packageLocation": "./.yarn/$$virtual/webpack-virtual-a6707fe2a9/0/cache/webpack-npm-5.3.2-3f56763976-334a24989d.zip/node_modules/webpack/", "packageDependencies": [ @@ -23219,6 +23562,44 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["webpack-cli", [ + ["virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:4.1.0", { + "packageLocation": "./.yarn/$$virtual/webpack-cli-virtual-47493ab90b/0/cache/webpack-cli-npm-4.1.0-fcae536f7b-70402fe84a.zip/node_modules/webpack-cli/", + "packageDependencies": [ + ["webpack-cli", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:4.1.0"], + ["@types/webpack", null], + ["@webpack-cli/generate-loader", null], + ["@webpack-cli/generate-plugin", null], + ["@webpack-cli/info", "virtual:47493ab90b81f5e67b5f11a7bbcaa2618150d06c44b8670d3061615b0179e9d85c4662bf66ad5e861c51041d750ba5ef1a63029f49232877dbe4903dc4ab67c8#npm:1.0.2"], + ["@webpack-cli/init", null], + ["@webpack-cli/migrate", null], + ["@webpack-cli/serve", "virtual:47493ab90b81f5e67b5f11a7bbcaa2618150d06c44b8670d3061615b0179e9d85c4662bf66ad5e861c51041d750ba5ef1a63029f49232877dbe4903dc4ab67c8#npm:1.0.1"], + ["ansi-escapes", "npm:4.3.1"], + ["colorette", "npm:1.2.1"], + ["command-line-usage", "npm:6.1.0"], + ["commander", "npm:6.2.0"], + ["enquirer", "npm:2.3.6"], + ["execa", "npm:4.1.0"], + ["import-local", "npm:3.0.2"], + ["interpret", "npm:2.2.0"], + ["rechoir", "npm:0.7.0"], + ["v8-compile-cache", "npm:2.2.0"], + ["webpack", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.3.2"], + ["webpack-bundle-analyzer", null], + ["webpack-dev-server", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:3.11.0"], + ["webpack-merge", "npm:4.2.2"] + ], + "packagePeers": [ + "@types/webpack", + "@webpack-cli/generate-loader", + "@webpack-cli/generate-plugin", + "@webpack-cli/init", + "@webpack-cli/migrate", + "webpack-bundle-analyzer", + "webpack-dev-server", + "webpack" + ], + "linkType": "HARD", + }], ["virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:4.0.0", { "packageLocation": "./.yarn/$$virtual/webpack-cli-virtual-a3f353c57d/0/cache/webpack-cli-npm-4.0.0-ccb32dab5d-6c693d4cc9.zip/node_modules/webpack-cli/", "packageDependencies": [ @@ -23233,13 +23614,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ansi-escapes", "npm:4.3.1"], ["colorette", "npm:1.2.1"], ["command-line-usage", "npm:6.1.0"], - ["commander", "npm:6.1.0"], + ["commander", "npm:6.2.0"], ["enquirer", "npm:2.3.6"], - ["execa", "npm:4.0.3"], + ["execa", "npm:4.1.0"], ["import-local", "npm:3.0.2"], ["interpret", "npm:2.2.0"], ["rechoir", "npm:0.7.0"], - ["v8-compile-cache", "npm:2.1.1"], + ["v8-compile-cache", "npm:2.2.0"], ["webpack", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:5.3.2"], ["webpack-bundle-analyzer", null], ["webpack-merge", "npm:4.2.2"] @@ -23268,13 +23649,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ansi-escapes", "npm:4.3.1"], ["colorette", "npm:1.2.1"], ["command-line-usage", "npm:6.1.0"], - ["commander", "npm:6.1.0"], + ["commander", "npm:6.2.0"], ["enquirer", "npm:2.3.6"], - ["execa", "npm:4.0.3"], + ["execa", "npm:4.1.0"], ["import-local", "npm:3.0.2"], ["interpret", "npm:2.2.0"], ["rechoir", "npm:0.7.0"], - ["v8-compile-cache", "npm:2.1.1"], + ["v8-compile-cache", "npm:2.2.0"], ["webpack", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:5.3.2"], ["webpack-bundle-analyzer", null], ["webpack-dev-server", "virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:3.11.0"], @@ -23306,13 +23687,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ansi-escapes", "npm:4.3.1"], ["colorette", "npm:1.2.1"], ["command-line-usage", "npm:6.1.0"], - ["commander", "npm:6.1.0"], + ["commander", "npm:6.2.0"], ["enquirer", "npm:2.3.6"], - ["execa", "npm:4.0.3"], + ["execa", "npm:4.1.0"], ["import-local", "npm:3.0.2"], ["interpret", "npm:2.2.0"], ["rechoir", "npm:0.7.0"], - ["v8-compile-cache", "npm:2.1.1"], + ["v8-compile-cache", "npm:2.2.0"], ["webpack", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:5.3.2"], ["webpack-bundle-analyzer", null], ["webpack-dev-server", "virtual:54dfdd95092c538917b1daf717721dd3beca716f0768958f8123e1439693d909b26a74c88b3fb65b402559e626be2accab32554fb8a3874e699047fe18793f5e#npm:3.11.0"], @@ -23344,13 +23725,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ansi-escapes", "npm:4.3.1"], ["colorette", "npm:1.2.1"], ["command-line-usage", "npm:6.1.0"], - ["commander", "npm:6.1.0"], + ["commander", "npm:6.2.0"], ["enquirer", "npm:2.3.6"], - ["execa", "npm:4.0.3"], + ["execa", "npm:4.1.0"], ["import-local", "npm:3.0.2"], ["interpret", "npm:2.2.0"], ["rechoir", "npm:0.7.0"], - ["v8-compile-cache", "npm:2.1.1"], + ["v8-compile-cache", "npm:2.2.0"], ["webpack", "virtual:7fa6405098723f150ab741c1e73c906de11a676b4cc641bac8b3397ea2dd6efbb913e72a780932220533241b442cc586b41b26c7b5ac786de486992cd2db054c#npm:5.3.2"], ["webpack-bundle-analyzer", null], ["webpack-dev-server", null], @@ -23382,13 +23763,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ansi-escapes", "npm:4.3.1"], ["colorette", "npm:1.2.1"], ["command-line-usage", "npm:6.1.0"], - ["commander", "npm:6.1.0"], + ["commander", "npm:6.2.0"], ["enquirer", "npm:2.3.6"], - ["execa", "npm:4.0.3"], + ["execa", "npm:4.1.0"], ["import-local", "npm:3.0.2"], ["interpret", "npm:2.2.0"], ["rechoir", "npm:0.7.0"], - ["v8-compile-cache", "npm:2.1.1"], + ["v8-compile-cache", "npm:2.2.0"], ["webpack", "virtual:aad21d373d6721af7549b2798c35c4ea25d83c122770abeaa0a4343ba20d55700fd9e3c5fa3289a7e6f591d09e8790df14d525c719ca4729b178b8644cca082a#npm:5.3.2"], ["webpack-bundle-analyzer", null], ["webpack-dev-server", null], @@ -23406,44 +23787,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:4.1.0", { - "packageLocation": "./.yarn/$$virtual/webpack-cli-virtual-86ec2128bd/0/cache/webpack-cli-npm-4.1.0-fcae536f7b-70402fe84a.zip/node_modules/webpack-cli/", - "packageDependencies": [ - ["webpack-cli", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:4.1.0"], - ["@types/webpack", null], - ["@webpack-cli/generate-loader", null], - ["@webpack-cli/generate-plugin", null], - ["@webpack-cli/info", "virtual:86ec2128bd42e5131bfbcbd484423cdf0f0a908b0b285962c79b64bafc46a80c871be37beb58b9c121a9efc6fad183200687258d8416d2bbe490a1189058ed67#npm:1.0.2"], - ["@webpack-cli/init", null], - ["@webpack-cli/migrate", null], - ["@webpack-cli/serve", "virtual:86ec2128bd42e5131bfbcbd484423cdf0f0a908b0b285962c79b64bafc46a80c871be37beb58b9c121a9efc6fad183200687258d8416d2bbe490a1189058ed67#npm:1.0.1"], - ["ansi-escapes", "npm:4.3.1"], - ["colorette", "npm:1.2.1"], - ["command-line-usage", "npm:6.1.0"], - ["commander", "npm:6.1.0"], - ["enquirer", "npm:2.3.6"], - ["execa", "npm:4.0.3"], - ["import-local", "npm:3.0.2"], - ["interpret", "npm:2.2.0"], - ["rechoir", "npm:0.7.0"], - ["v8-compile-cache", "npm:2.1.1"], - ["webpack", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:5.3.2"], - ["webpack-bundle-analyzer", null], - ["webpack-dev-server", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:3.11.0"], - ["webpack-merge", "npm:4.2.2"] - ], - "packagePeers": [ - "@types/webpack", - "@webpack-cli/generate-loader", - "@webpack-cli/generate-plugin", - "@webpack-cli/init", - "@webpack-cli/migrate", - "webpack-bundle-analyzer", - "webpack-dev-server", - "webpack" - ], - "linkType": "HARD", - }], ["virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:4.1.0", { "packageLocation": "./.yarn/$$virtual/webpack-cli-virtual-dd06f1ba90/0/cache/webpack-cli-npm-4.1.0-fcae536f7b-70402fe84a.zip/node_modules/webpack-cli/", "packageDependencies": [ @@ -23458,13 +23801,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ansi-escapes", "npm:4.3.1"], ["colorette", "npm:1.2.1"], ["command-line-usage", "npm:6.1.0"], - ["commander", "npm:6.1.0"], + ["commander", "npm:6.2.0"], ["enquirer", "npm:2.3.6"], - ["execa", "npm:4.0.3"], + ["execa", "npm:4.1.0"], ["import-local", "npm:3.0.2"], ["interpret", "npm:2.2.0"], ["rechoir", "npm:0.7.0"], - ["v8-compile-cache", "npm:2.1.1"], + ["v8-compile-cache", "npm:2.2.0"], ["webpack", "virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:5.3.2"], ["webpack-bundle-analyzer", null], ["webpack-dev-server", "virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:3.11.0"], @@ -23511,7 +23854,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["mime", "npm:2.4.6"], ["mkdirp", "npm:0.5.5"], ["range-parser", "npm:1.2.1"], - ["webpack", "virtual:270d82db604954d961cc9f757385701a41fef1be9394b7dfdd6397f44e5ade32e0654e585ce5553233f046dd87d6ed47ed75ed4197dde852ba15a88c4364ec5d#npm:5.3.0"], + ["webpack", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:5.3.2"], + ["webpack-log", "npm:2.0.0"] + ], + "packagePeers": [ + "@types/webpack", + "webpack" + ], + "linkType": "HARD", + }], + ["virtual:6213fedbe680a69d41905621eac4d72dab31256d72879b950182ee6ddbdbcbdf46a4b01254d3ef4986a23c07bf93a39478253b01cff4a98229d46861bd017c21#npm:3.7.2", { + "packageLocation": "./.yarn/$$virtual/webpack-dev-middleware-virtual-66eb026764/0/cache/webpack-dev-middleware-npm-3.7.2-4f005aab9a-88480e7d7f.zip/node_modules/webpack-dev-middleware/", + "packageDependencies": [ + ["webpack-dev-middleware", "virtual:6213fedbe680a69d41905621eac4d72dab31256d72879b950182ee6ddbdbcbdf46a4b01254d3ef4986a23c07bf93a39478253b01cff4a98229d46861bd017c21#npm:3.7.2"], + ["@types/webpack", null], + ["memory-fs", "npm:0.4.1"], + ["mime", "npm:2.4.6"], + ["mkdirp", "npm:0.5.5"], + ["range-parser", "npm:1.2.1"], + ["webpack", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.3.2"], ["webpack-log", "npm:2.0.0"] ], "packagePeers": [ @@ -23538,24 +23899,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["virtual:b28a1ffb745e405d8d81ef8c11c95afa15b4db9d8af28c50ecd81cbc414bef6da62745b524e06098c4482d4400ac046892194b2fae59fbfc6773bf0345ea75de#npm:3.7.2", { - "packageLocation": "./.yarn/$$virtual/webpack-dev-middleware-virtual-98c23e5c63/0/cache/webpack-dev-middleware-npm-3.7.2-4f005aab9a-88480e7d7f.zip/node_modules/webpack-dev-middleware/", - "packageDependencies": [ - ["webpack-dev-middleware", "virtual:b28a1ffb745e405d8d81ef8c11c95afa15b4db9d8af28c50ecd81cbc414bef6da62745b524e06098c4482d4400ac046892194b2fae59fbfc6773bf0345ea75de#npm:3.7.2"], - ["@types/webpack", null], - ["memory-fs", "npm:0.4.1"], - ["mime", "npm:2.4.6"], - ["mkdirp", "npm:0.5.5"], - ["range-parser", "npm:1.2.1"], - ["webpack", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:5.3.2"], - ["webpack-log", "npm:2.0.0"] - ], - "packagePeers": [ - "@types/webpack", - "webpack" - ], - "linkType": "HARD", - }], ["virtual:e5ed5cc3bed29b8588dada2d99a7d1aa8a0b5595798b084f82e905d974cca7178eed57b0c50c8f819f591c83e85d87a7ff9c2676bcf2271b7e0618c976a62473#npm:3.7.2", { "packageLocation": "./.yarn/$$virtual/webpack-dev-middleware-virtual-cccfecc021/0/cache/webpack-dev-middleware-npm-3.7.2-4f005aab9a-88480e7d7f.zip/node_modules/webpack-dev-middleware/", "packageDependencies": [ @@ -23576,6 +23919,54 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["webpack-dev-server", [ + ["virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:3.11.0", { + "packageLocation": "./.yarn/$$virtual/webpack-dev-server-virtual-6213fedbe6/0/cache/webpack-dev-server-npm-3.11.0-42b1303dbc-1d34457456.zip/node_modules/webpack-dev-server/", + "packageDependencies": [ + ["webpack-dev-server", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:3.11.0"], + ["@types/webpack", null], + ["ansi-html", "npm:0.0.7"], + ["bonjour", "npm:3.5.0"], + ["chokidar", "npm:2.1.8"], + ["compression", "npm:1.7.4"], + ["connect-history-api-fallback", "npm:1.6.0"], + ["debug", "virtual:e5ed5cc3bed29b8588dada2d99a7d1aa8a0b5595798b084f82e905d974cca7178eed57b0c50c8f819f591c83e85d87a7ff9c2676bcf2271b7e0618c976a62473#npm:4.3.0"], + ["del", "npm:4.1.1"], + ["express", "npm:4.17.1"], + ["html-entities", "npm:1.3.1"], + ["http-proxy-middleware", "npm:0.19.1"], + ["import-local", "npm:2.0.0"], + ["internal-ip", "npm:4.3.0"], + ["ip", "npm:1.1.5"], + ["is-absolute-url", "npm:3.0.3"], + ["killable", "npm:1.0.1"], + ["loglevel", "npm:1.7.0"], + ["opn", "npm:5.5.0"], + ["p-retry", "npm:3.0.1"], + ["portfinder", "npm:1.0.28"], + ["schema-utils", "npm:1.0.0"], + ["selfsigned", "npm:1.10.8"], + ["semver", "npm:6.3.0"], + ["serve-index", "npm:1.9.1"], + ["sockjs", "npm:0.3.20"], + ["sockjs-client", "npm:1.4.0"], + ["spdy", "npm:4.0.2"], + ["strip-ansi", "npm:3.0.1"], + ["supports-color", "npm:6.1.0"], + ["url", "npm:0.11.0"], + ["webpack", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:5.3.2"], + ["webpack-cli", "virtual:003bebd8b7a948d12b44e2c11a621884feb1891eea3645171e827971487f79396db9f7422bc411ccf3f90877e94ec86f5c3da70b96efb5daddb2ee3b35eae5c6#npm:4.1.0"], + ["webpack-dev-middleware", "virtual:6213fedbe680a69d41905621eac4d72dab31256d72879b950182ee6ddbdbcbdf46a4b01254d3ef4986a23c07bf93a39478253b01cff4a98229d46861bd017c21#npm:3.7.2"], + ["webpack-log", "npm:2.0.0"], + ["ws", "npm:6.2.1"], + ["yargs", "npm:13.3.2"] + ], + "packagePeers": [ + "@types/webpack", + "webpack-cli", + "webpack" + ], + "linkType": "HARD", + }], ["virtual:22157ea722f8d6428f1fcf0a6f7f6c7d6b902d9c785256c60a65fe6cd0db76ebccc7c1457ee047df0ba6909ff018e300c4f4957a60f5b670089810dfc417af9b#npm:3.11.0", { "packageLocation": "./.yarn/$$virtual/webpack-dev-server-virtual-e5ed5cc3be/0/cache/webpack-dev-server-npm-3.11.0-42b1303dbc-1d34457456.zip/node_modules/webpack-dev-server/", "packageDependencies": [ @@ -23706,7 +24097,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["strip-ansi", "npm:3.0.1"], ["supports-color", "npm:6.1.0"], ["url", "npm:0.11.0"], - ["webpack", "virtual:270d82db604954d961cc9f757385701a41fef1be9394b7dfdd6397f44e5ade32e0654e585ce5553233f046dd87d6ed47ed75ed4197dde852ba15a88c4364ec5d#npm:5.3.0"], + ["webpack", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:5.3.2"], ["webpack-cli", "virtual:1e43113c7dc84a5d03308bf7ffaf00574d351ca16282af6c6c0b9576804fb03914bdf2200961292f439926b2e537dce172d7529f79013ce51b9f2d56e9cd836b#npm:4.0.0"], ["webpack-dev-middleware", "virtual:270d82db604954d961cc9f757385701a41fef1be9394b7dfdd6397f44e5ade32e0654e585ce5553233f046dd87d6ed47ed75ed4197dde852ba15a88c4364ec5d#npm:3.7.2"], ["webpack-log", "npm:2.0.0"], @@ -23719,54 +24110,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], - ["virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:3.11.0", { - "packageLocation": "./.yarn/$$virtual/webpack-dev-server-virtual-b28a1ffb74/0/cache/webpack-dev-server-npm-3.11.0-42b1303dbc-1d34457456.zip/node_modules/webpack-dev-server/", - "packageDependencies": [ - ["webpack-dev-server", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:3.11.0"], - ["@types/webpack", null], - ["ansi-html", "npm:0.0.7"], - ["bonjour", "npm:3.5.0"], - ["chokidar", "npm:2.1.8"], - ["compression", "npm:1.7.4"], - ["connect-history-api-fallback", "npm:1.6.0"], - ["debug", "virtual:e5ed5cc3bed29b8588dada2d99a7d1aa8a0b5595798b084f82e905d974cca7178eed57b0c50c8f819f591c83e85d87a7ff9c2676bcf2271b7e0618c976a62473#npm:4.3.0"], - ["del", "npm:4.1.1"], - ["express", "npm:4.17.1"], - ["html-entities", "npm:1.3.1"], - ["http-proxy-middleware", "npm:0.19.1"], - ["import-local", "npm:2.0.0"], - ["internal-ip", "npm:4.3.0"], - ["ip", "npm:1.1.5"], - ["is-absolute-url", "npm:3.0.3"], - ["killable", "npm:1.0.1"], - ["loglevel", "npm:1.7.0"], - ["opn", "npm:5.5.0"], - ["p-retry", "npm:3.0.1"], - ["portfinder", "npm:1.0.28"], - ["schema-utils", "npm:1.0.0"], - ["selfsigned", "npm:1.10.8"], - ["semver", "npm:6.3.0"], - ["serve-index", "npm:1.9.1"], - ["sockjs", "npm:0.3.20"], - ["sockjs-client", "npm:1.4.0"], - ["spdy", "npm:4.0.2"], - ["strip-ansi", "npm:3.0.1"], - ["supports-color", "npm:6.1.0"], - ["url", "npm:0.11.0"], - ["webpack", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:5.3.2"], - ["webpack-cli", "virtual:acf8ebf79a461c4f9f2ee32d35604720e52d54fc65cacbf3e944b2ad79cd4f17f95a2cb60cf4b37ca284c4f89981c732c25542cf20e548286d7eb31af1a6edda#npm:4.1.0"], - ["webpack-dev-middleware", "virtual:b28a1ffb745e405d8d81ef8c11c95afa15b4db9d8af28c50ecd81cbc414bef6da62745b524e06098c4482d4400ac046892194b2fae59fbfc6773bf0345ea75de#npm:3.7.2"], - ["webpack-log", "npm:2.0.0"], - ["ws", "npm:6.2.1"], - ["yargs", "npm:13.3.2"] - ], - "packagePeers": [ - "@types/webpack", - "webpack-cli", - "webpack" - ], - "linkType": "HARD", - }], ["virtual:e7dd2bdbec1b3ec399e5f3318d0a58728583b58181f43cb8f4f372a1b2b9707e2ffcf76bd80aad3c5c64a731754028a8070020628ca4fa0a02fe260c179762ae#npm:3.11.0", { "packageLocation": "./.yarn/$$virtual/webpack-dev-server-virtual-01a5852fca/0/cache/webpack-dev-server-npm-3.11.0-42b1303dbc-1d34457456.zip/node_modules/webpack-dev-server/", "packageDependencies": [ @@ -23847,15 +24190,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { }] ]], ["webpack-sources", [ - ["npm:2.1.0", { - "packageLocation": "./.yarn/cache/webpack-sources-npm-2.1.0-569bf85c0f-3950d59661.zip/node_modules/webpack-sources/", - "packageDependencies": [ - ["webpack-sources", "npm:2.1.0"], - ["source-list-map", "npm:2.0.1"], - ["source-map", "npm:0.6.1"] - ], - "linkType": "HARD", - }], ["npm:2.2.0", { "packageLocation": "./.yarn/cache/webpack-sources-npm-2.2.0-977585170c-7c4b797fa9.zip/node_modules/webpack-sources/", "packageDependencies": [ @@ -24392,7 +24726,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["debug", "virtual:8bb97bed484f021974a05538f31c077871d2363ce26ebed59b11577446762350604c9011c0660ae55b141dd86d888615a377ccccd7a87c5e54ae38233a22d5a9#npm:3.2.6"], ["diff", "npm:3.5.0"], ["escape-string-regexp", "npm:1.0.5"], - ["execa", "npm:4.0.3"], + ["execa", "npm:4.1.0"], ["globby", "npm:8.0.2"], ["grouped-queue", "npm:1.1.0"], ["inquirer", "npm:7.3.3"], @@ -24431,7 +24765,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["istextorbinary", "npm:2.6.0"], ["lodash", "npm:4.17.20"], ["make-dir", "npm:3.1.0"], - ["mem-fs-editor", "npm:7.0.1"], + ["mem-fs-editor", "npm:7.1.0"], ["minimist", "npm:1.2.5"], ["pretty-bytes", "npm:5.4.1"], ["read-chunk", "npm:3.2.0"], diff --git a/.yarn/cache/@lowdefy-block-tools-npm-1.0.1-alpha.9-4588a99901-1283256de9.zip b/.yarn/cache/@lowdefy-block-tools-npm-1.0.1-alpha.9-4588a99901-1283256de9.zip new file mode 100644 index 000000000..7a7216321 Binary files /dev/null and b/.yarn/cache/@lowdefy-block-tools-npm-1.0.1-alpha.9-4588a99901-1283256de9.zip differ diff --git a/.yarn/cache/@lowdefy-engine-npm-0.0.0-alpha.1-004c11a426-096f56708e.zip b/.yarn/cache/@lowdefy-engine-npm-0.0.0-alpha.1-004c11a426-096f56708e.zip new file mode 100644 index 000000000..9c3a7c142 Binary files /dev/null and b/.yarn/cache/@lowdefy-engine-npm-0.0.0-alpha.1-004c11a426-096f56708e.zip differ diff --git a/.yarn/cache/@lowdefy-graphql-npm-0.0.0-alpha.1-ae7035028f-877635c0c9.zip b/.yarn/cache/@lowdefy-graphql-npm-0.0.0-alpha.1-ae7035028f-877635c0c9.zip new file mode 100644 index 000000000..36d5ff1b2 Binary files /dev/null and b/.yarn/cache/@lowdefy-graphql-npm-0.0.0-alpha.1-ae7035028f-877635c0c9.zip differ diff --git a/.yarn/cache/@types-cookies-npm-0.7.4-884cdf5d42-641b1f5122.zip b/.yarn/cache/@types-cookies-npm-0.7.4-884cdf5d42-641b1f5122.zip deleted file mode 100644 index b008c466e..000000000 Binary files a/.yarn/cache/@types-cookies-npm-0.7.4-884cdf5d42-641b1f5122.zip and /dev/null differ diff --git a/.yarn/cache/@types-cookies-npm-0.7.5-45cb7b9bb5-913d972d89.zip b/.yarn/cache/@types-cookies-npm-0.7.5-45cb7b9bb5-913d972d89.zip new file mode 100644 index 000000000..b521563f0 Binary files /dev/null and b/.yarn/cache/@types-cookies-npm-0.7.5-45cb7b9bb5-913d972d89.zip differ diff --git a/.yarn/cache/@types-node-npm-10.17.43-dd3ea4abc5-2b2f80dcb6.zip b/.yarn/cache/@types-node-npm-10.17.44-487c33305c-050261ca43.zip similarity index 83% rename from .yarn/cache/@types-node-npm-10.17.43-dd3ea4abc5-2b2f80dcb6.zip rename to .yarn/cache/@types-node-npm-10.17.44-487c33305c-050261ca43.zip index e55d1be02..2e8131103 100644 Binary files a/.yarn/cache/@types-node-npm-10.17.43-dd3ea4abc5-2b2f80dcb6.zip and b/.yarn/cache/@types-node-npm-10.17.44-487c33305c-050261ca43.zip differ diff --git a/.yarn/cache/@types-node-npm-13.13.29-435189277d-c32528416a.zip b/.yarn/cache/@types-node-npm-13.13.30-dcf1f90d23-c5b6c51df0.zip similarity index 91% rename from .yarn/cache/@types-node-npm-13.13.29-435189277d-c32528416a.zip rename to .yarn/cache/@types-node-npm-13.13.30-dcf1f90d23-c5b6c51df0.zip index 5cd98006d..cee45a9b8 100644 Binary files a/.yarn/cache/@types-node-npm-13.13.29-435189277d-c32528416a.zip and b/.yarn/cache/@types-node-npm-13.13.30-dcf1f90d23-c5b6c51df0.zip differ diff --git a/.yarn/cache/@types-node-npm-14.14.5-0bf1b63d5b-4916d5c46e.zip b/.yarn/cache/@types-node-npm-14.14.6-6c20289547-9b06b04ab2.zip similarity index 84% rename from .yarn/cache/@types-node-npm-14.14.5-0bf1b63d5b-4916d5c46e.zip rename to .yarn/cache/@types-node-npm-14.14.6-6c20289547-9b06b04ab2.zip index 78330cb8a..0077770eb 100644 Binary files a/.yarn/cache/@types-node-npm-14.14.5-0bf1b63d5b-4916d5c46e.zip and b/.yarn/cache/@types-node-npm-14.14.6-6c20289547-9b06b04ab2.zip differ diff --git a/.yarn/cache/@types-uglify-js-npm-3.11.0-e8e4d1a8ca-ee62336f5a.zip b/.yarn/cache/@types-uglify-js-npm-3.11.0-e8e4d1a8ca-ee62336f5a.zip deleted file mode 100644 index f12212033..000000000 Binary files a/.yarn/cache/@types-uglify-js-npm-3.11.0-e8e4d1a8ca-ee62336f5a.zip and /dev/null differ diff --git a/.yarn/cache/@types-uglify-js-npm-3.11.1-911509ddc2-75f1c06245.zip b/.yarn/cache/@types-uglify-js-npm-3.11.1-911509ddc2-75f1c06245.zip new file mode 100644 index 000000000..ce7d2b233 Binary files /dev/null and b/.yarn/cache/@types-uglify-js-npm-3.11.1-911509ddc2-75f1c06245.zip differ diff --git a/.yarn/cache/@types-webpack-npm-4.41.23-44f5d7a8e6-6ac67beaa8.zip b/.yarn/cache/@types-webpack-npm-4.41.24-196053a9fa-2237901a97.zip similarity index 60% rename from .yarn/cache/@types-webpack-npm-4.41.23-44f5d7a8e6-6ac67beaa8.zip rename to .yarn/cache/@types-webpack-npm-4.41.24-196053a9fa-2237901a97.zip index 5806a3801..8ac459a46 100644 Binary files a/.yarn/cache/@types-webpack-npm-4.41.23-44f5d7a8e6-6ac67beaa8.zip and b/.yarn/cache/@types-webpack-npm-4.41.24-196053a9fa-2237901a97.zip differ diff --git a/.yarn/cache/@types-ws-npm-7.2.8-5229e788a3-5188aa5a91.zip b/.yarn/cache/@types-ws-npm-7.2.8-5229e788a3-5188aa5a91.zip deleted file mode 100644 index 68633b846..000000000 Binary files a/.yarn/cache/@types-ws-npm-7.2.8-5229e788a3-5188aa5a91.zip and /dev/null differ diff --git a/.yarn/cache/@types-ws-npm-7.2.9-65a5cae19f-77532ad73c.zip b/.yarn/cache/@types-ws-npm-7.2.9-65a5cae19f-77532ad73c.zip new file mode 100644 index 000000000..4a9fcd39a Binary files /dev/null and b/.yarn/cache/@types-ws-npm-7.2.9-65a5cae19f-77532ad73c.zip differ diff --git a/.yarn/cache/arch-npm-2.1.2-65b6637bd2-bb32fafdc3.zip b/.yarn/cache/arch-npm-2.2.0-34797684d8-4a8d92a9a7.zip similarity index 70% rename from .yarn/cache/arch-npm-2.1.2-65b6637bd2-bb32fafdc3.zip rename to .yarn/cache/arch-npm-2.2.0-34797684d8-4a8d92a9a7.zip index 22875b846..52577c6f0 100644 Binary files a/.yarn/cache/arch-npm-2.1.2-65b6637bd2-bb32fafdc3.zip and b/.yarn/cache/arch-npm-2.2.0-34797684d8-4a8d92a9a7.zip differ diff --git a/.yarn/cache/buffer-npm-5.6.1-1cdb5291ea-7bfd48809d.zip b/.yarn/cache/buffer-npm-5.6.1-1cdb5291ea-7bfd48809d.zip deleted file mode 100644 index 145eceae8..000000000 Binary files a/.yarn/cache/buffer-npm-5.6.1-1cdb5291ea-7bfd48809d.zip and /dev/null differ diff --git a/.yarn/cache/camelcase-npm-6.1.0-d0e05be5f0-3e968d5efb.zip b/.yarn/cache/camelcase-npm-6.1.0-d0e05be5f0-3e968d5efb.zip deleted file mode 100644 index fafb43ba1..000000000 Binary files a/.yarn/cache/camelcase-npm-6.1.0-d0e05be5f0-3e968d5efb.zip and /dev/null differ diff --git a/.yarn/cache/camelcase-npm-6.2.0-69f8c130ac-654700600a.zip b/.yarn/cache/camelcase-npm-6.2.0-69f8c130ac-654700600a.zip new file mode 100644 index 000000000..23ed3a6d4 Binary files /dev/null and b/.yarn/cache/camelcase-npm-6.2.0-69f8c130ac-654700600a.zip differ diff --git a/.yarn/cache/caniuse-lite-npm-1.0.30001151-29bf83e412-3acb52ac17.zip b/.yarn/cache/caniuse-lite-npm-1.0.30001151-29bf83e412-3acb52ac17.zip deleted file mode 100644 index 6d1a7bea3..000000000 Binary files a/.yarn/cache/caniuse-lite-npm-1.0.30001151-29bf83e412-3acb52ac17.zip and /dev/null differ diff --git a/.yarn/cache/caniuse-lite-npm-1.0.30001154-2944c2dcaf-7e087e61d0.zip b/.yarn/cache/caniuse-lite-npm-1.0.30001154-2944c2dcaf-7e087e61d0.zip new file mode 100644 index 000000000..27bc09e9e Binary files /dev/null and b/.yarn/cache/caniuse-lite-npm-1.0.30001154-2944c2dcaf-7e087e61d0.zip differ diff --git a/.yarn/cache/chokidar-npm-3.4.2-4e5f7d3b1f-a394c13d28.zip b/.yarn/cache/chokidar-npm-3.4.2-4e5f7d3b1f-a394c13d28.zip deleted file mode 100644 index 5c67b9e17..000000000 Binary files a/.yarn/cache/chokidar-npm-3.4.2-4e5f7d3b1f-a394c13d28.zip and /dev/null differ diff --git a/.yarn/cache/clean-webpack-plugin-npm-3.0.0-21f4eeb4fb-fc0fbd1c8e.zip b/.yarn/cache/clean-webpack-plugin-npm-3.0.0-21f4eeb4fb-fc0fbd1c8e.zip new file mode 100644 index 000000000..fde7c8c9c Binary files /dev/null and b/.yarn/cache/clean-webpack-plugin-npm-3.0.0-21f4eeb4fb-fc0fbd1c8e.zip differ diff --git a/.yarn/cache/cli-color-npm-2.0.0-9f10b21e11-6a8824e7f1.zip b/.yarn/cache/cli-color-npm-2.0.0-9f10b21e11-6a8824e7f1.zip new file mode 100644 index 000000000..8832e89c9 Binary files /dev/null and b/.yarn/cache/cli-color-npm-2.0.0-9f10b21e11-6a8824e7f1.zip differ diff --git a/.yarn/cache/d-npm-1.0.1-64afbbc689-cf9b770965.zip b/.yarn/cache/d-npm-1.0.1-64afbbc689-cf9b770965.zip new file mode 100644 index 000000000..225ca1133 Binary files /dev/null and b/.yarn/cache/d-npm-1.0.1-64afbbc689-cf9b770965.zip differ diff --git a/.yarn/cache/es5-ext-npm-0.10.53-18c0039c41-99e8115c2f.zip b/.yarn/cache/es5-ext-npm-0.10.53-18c0039c41-99e8115c2f.zip new file mode 100644 index 000000000..74f429ddc Binary files /dev/null and b/.yarn/cache/es5-ext-npm-0.10.53-18c0039c41-99e8115c2f.zip differ diff --git a/.yarn/cache/es6-iterator-npm-2.0.3-4dadb0ccc1-1880ce3121.zip b/.yarn/cache/es6-iterator-npm-2.0.3-4dadb0ccc1-1880ce3121.zip new file mode 100644 index 000000000..73a10a17e Binary files /dev/null and b/.yarn/cache/es6-iterator-npm-2.0.3-4dadb0ccc1-1880ce3121.zip differ diff --git a/.yarn/cache/es6-symbol-npm-3.1.3-34d72f2a23-0915d72de8.zip b/.yarn/cache/es6-symbol-npm-3.1.3-34d72f2a23-0915d72de8.zip new file mode 100644 index 000000000..ffed6418b Binary files /dev/null and b/.yarn/cache/es6-symbol-npm-3.1.3-34d72f2a23-0915d72de8.zip differ diff --git a/.yarn/cache/es6-weak-map-npm-2.0.3-5e57e0b4e6-8dfd50b291.zip b/.yarn/cache/es6-weak-map-npm-2.0.3-5e57e0b4e6-8dfd50b291.zip new file mode 100644 index 000000000..1e3b0b142 Binary files /dev/null and b/.yarn/cache/es6-weak-map-npm-2.0.3-5e57e0b4e6-8dfd50b291.zip differ diff --git a/.yarn/cache/event-emitter-npm-0.3.5-f1e8b8edb5-92107b8970.zip b/.yarn/cache/event-emitter-npm-0.3.5-f1e8b8edb5-92107b8970.zip new file mode 100644 index 000000000..53394a996 Binary files /dev/null and b/.yarn/cache/event-emitter-npm-0.3.5-f1e8b8edb5-92107b8970.zip differ diff --git a/.yarn/cache/execa-npm-4.0.3-b70e1b2212-65b237d178.zip b/.yarn/cache/execa-npm-4.0.3-b70e1b2212-65b237d178.zip deleted file mode 100644 index f559f2bbf..000000000 Binary files a/.yarn/cache/execa-npm-4.0.3-b70e1b2212-65b237d178.zip and /dev/null differ diff --git a/.yarn/cache/execa-npm-4.1.0-cc675b4189-79bd736acd.zip b/.yarn/cache/execa-npm-4.1.0-cc675b4189-79bd736acd.zip new file mode 100644 index 000000000..d1565b878 Binary files /dev/null and b/.yarn/cache/execa-npm-4.1.0-cc675b4189-79bd736acd.zip differ diff --git a/.yarn/cache/ext-npm-1.4.0-4190310122-c94102371f.zip b/.yarn/cache/ext-npm-1.4.0-4190310122-c94102371f.zip new file mode 100644 index 000000000..3e5f61d84 Binary files /dev/null and b/.yarn/cache/ext-npm-1.4.0-4190310122-c94102371f.zip differ diff --git a/.yarn/cache/fastq-npm-1.8.0-4c0923de4a-77d71545ba.zip b/.yarn/cache/fastq-npm-1.8.0-4c0923de4a-77d71545ba.zip deleted file mode 100644 index 6adee576e..000000000 Binary files a/.yarn/cache/fastq-npm-1.8.0-4c0923de4a-77d71545ba.zip and /dev/null differ diff --git a/.yarn/cache/fastq-npm-1.9.0-11e58b198d-e9b46ea899.zip b/.yarn/cache/fastq-npm-1.9.0-11e58b198d-e9b46ea899.zip new file mode 100644 index 000000000..e019d4ade Binary files /dev/null and b/.yarn/cache/fastq-npm-1.9.0-11e58b198d-e9b46ea899.zip differ diff --git a/.yarn/cache/flow-parser-npm-0.136.0-d6bb795f99-3df0a0f6a4.zip b/.yarn/cache/flow-parser-npm-0.136.0-d6bb795f99-3df0a0f6a4.zip deleted file mode 100644 index 18a911b3b..000000000 Binary files a/.yarn/cache/flow-parser-npm-0.136.0-d6bb795f99-3df0a0f6a4.zip and /dev/null differ diff --git a/.yarn/cache/flow-parser-npm-0.137.0-2e0024a61a-054a1a4c49.zip b/.yarn/cache/flow-parser-npm-0.137.0-2e0024a61a-054a1a4c49.zip new file mode 100644 index 000000000..1507721cf Binary files /dev/null and b/.yarn/cache/flow-parser-npm-0.137.0-2e0024a61a-054a1a4c49.zip differ diff --git a/.yarn/cache/gensync-npm-1.0.0-beta.1-0bc9838d39-3d14f7c34f.zip b/.yarn/cache/gensync-npm-1.0.0-beta.1-0bc9838d39-3d14f7c34f.zip deleted file mode 100644 index 5f2f08bc9..000000000 Binary files a/.yarn/cache/gensync-npm-1.0.0-beta.1-0bc9838d39-3d14f7c34f.zip and /dev/null differ diff --git a/.yarn/cache/gensync-npm-1.0.0-beta.2-224666d72f-d523437689.zip b/.yarn/cache/gensync-npm-1.0.0-beta.2-224666d72f-d523437689.zip new file mode 100644 index 000000000..b72f6611d Binary files /dev/null and b/.yarn/cache/gensync-npm-1.0.0-beta.2-224666d72f-d523437689.zip differ diff --git a/.yarn/cache/ieee754-npm-1.1.13-a57522ba12-9ef12932e8.zip b/.yarn/cache/ieee754-npm-1.1.13-a57522ba12-9ef12932e8.zip deleted file mode 100644 index c11854fa4..000000000 Binary files a/.yarn/cache/ieee754-npm-1.1.13-a57522ba12-9ef12932e8.zip and /dev/null differ diff --git a/.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-6c1cfab995.zip b/.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-6c1cfab995.zip new file mode 100644 index 000000000..f98e08524 Binary files /dev/null and b/.yarn/cache/ieee754-npm-1.2.1-fb63b3caeb-6c1cfab995.zip differ diff --git a/.yarn/cache/is-promise-npm-2.2.2-afbf94db67-6fe84293b8.zip b/.yarn/cache/is-promise-npm-2.2.2-afbf94db67-6fe84293b8.zip new file mode 100644 index 000000000..2a7315b5e Binary files /dev/null and b/.yarn/cache/is-promise-npm-2.2.2-afbf94db67-6fe84293b8.zip differ diff --git a/.yarn/cache/lru-queue-npm-0.1.0-8e1c90dde8-2eab98cdfb.zip b/.yarn/cache/lru-queue-npm-0.1.0-8e1c90dde8-2eab98cdfb.zip new file mode 100644 index 000000000..551e441ff Binary files /dev/null and b/.yarn/cache/lru-queue-npm-0.1.0-8e1c90dde8-2eab98cdfb.zip differ diff --git a/.yarn/cache/mem-fs-editor-npm-7.0.1-d25c5bb014-5097632333.zip b/.yarn/cache/mem-fs-editor-npm-7.1.0-da247f514e-3e46ac729f.zip similarity index 72% rename from .yarn/cache/mem-fs-editor-npm-7.0.1-d25c5bb014-5097632333.zip rename to .yarn/cache/mem-fs-editor-npm-7.1.0-da247f514e-3e46ac729f.zip index ebc69eb30..ae96c63b8 100644 Binary files a/.yarn/cache/mem-fs-editor-npm-7.0.1-d25c5bb014-5097632333.zip and b/.yarn/cache/mem-fs-editor-npm-7.1.0-da247f514e-3e46ac729f.zip differ diff --git a/.yarn/cache/memoizee-npm-0.4.14-a62a033531-89530bbed2.zip b/.yarn/cache/memoizee-npm-0.4.14-a62a033531-89530bbed2.zip new file mode 100644 index 000000000..8a8434d81 Binary files /dev/null and b/.yarn/cache/memoizee-npm-0.4.14-a62a033531-89530bbed2.zip differ diff --git a/.yarn/cache/next-tick-npm-1.0.0-0c0dd4bec1-18db63c447.zip b/.yarn/cache/next-tick-npm-1.0.0-0c0dd4bec1-18db63c447.zip new file mode 100644 index 000000000..5013a29d7 Binary files /dev/null and b/.yarn/cache/next-tick-npm-1.0.0-0c0dd4bec1-18db63c447.zip differ diff --git a/.yarn/cache/next-tick-npm-1.1.0-e0eb60d6a4-586cc85dcd.zip b/.yarn/cache/next-tick-npm-1.1.0-e0eb60d6a4-586cc85dcd.zip new file mode 100644 index 000000000..7db5a80db Binary files /dev/null and b/.yarn/cache/next-tick-npm-1.1.0-e0eb60d6a4-586cc85dcd.zip differ diff --git a/.yarn/cache/node-releases-npm-1.1.64-171b1d9b08-09e85fd0ec.zip b/.yarn/cache/node-releases-npm-1.1.64-171b1d9b08-09e85fd0ec.zip deleted file mode 100644 index 7c031eae0..000000000 Binary files a/.yarn/cache/node-releases-npm-1.1.64-171b1d9b08-09e85fd0ec.zip and /dev/null differ diff --git a/.yarn/cache/node-releases-npm-1.1.65-fff441f5a5-7b8b1c118e.zip b/.yarn/cache/node-releases-npm-1.1.65-fff441f5a5-7b8b1c118e.zip new file mode 100644 index 000000000..a40a6681e Binary files /dev/null and b/.yarn/cache/node-releases-npm-1.1.65-fff441f5a5-7b8b1c118e.zip differ diff --git a/.yarn/cache/open-npm-7.3.0-d582d8b42e-a212fc9cf6.zip b/.yarn/cache/open-npm-7.3.0-d582d8b42e-a212fc9cf6.zip new file mode 100644 index 000000000..7006eaa7c Binary files /dev/null and b/.yarn/cache/open-npm-7.3.0-d582d8b42e-a212fc9cf6.zip differ diff --git a/.yarn/cache/opener-npm-1.5.2-7a1aa69f14-855420de4f.zip b/.yarn/cache/opener-npm-1.5.2-7a1aa69f14-855420de4f.zip new file mode 100644 index 000000000..7c203efa3 Binary files /dev/null and b/.yarn/cache/opener-npm-1.5.2-7a1aa69f14-855420de4f.zip differ diff --git a/.yarn/cache/rc-trigger-npm-5.0.8-4ddff1d646-5db12ceb73.zip b/.yarn/cache/rc-trigger-npm-5.0.9-7e6b936130-684484a403.zip similarity index 51% rename from .yarn/cache/rc-trigger-npm-5.0.8-4ddff1d646-5db12ceb73.zip rename to .yarn/cache/rc-trigger-npm-5.0.9-7e6b936130-684484a403.zip index 5e83a0642..cd9ffe221 100644 Binary files a/.yarn/cache/rc-trigger-npm-5.0.8-4ddff1d646-5db12ceb73.zip and b/.yarn/cache/rc-trigger-npm-5.0.9-7e6b936130-684484a403.zip differ diff --git a/.yarn/cache/rc-virtual-list-npm-3.2.0-5efaefc12e-dab2c22130.zip b/.yarn/cache/rc-virtual-list-npm-3.2.2-e9cfab8d5d-166e06e696.zip similarity index 82% rename from .yarn/cache/rc-virtual-list-npm-3.2.0-5efaefc12e-dab2c22130.zip rename to .yarn/cache/rc-virtual-list-npm-3.2.2-e9cfab8d5d-166e06e696.zip index 849046ac1..eb39e9e1d 100644 Binary files a/.yarn/cache/rc-virtual-list-npm-3.2.0-5efaefc12e-dab2c22130.zip and b/.yarn/cache/rc-virtual-list-npm-3.2.2-e9cfab8d5d-166e06e696.zip differ diff --git a/.yarn/cache/readdirp-npm-3.4.0-503e0a2772-0159f43eb0.zip b/.yarn/cache/readdirp-npm-3.4.0-503e0a2772-0159f43eb0.zip deleted file mode 100644 index d8945aff8..000000000 Binary files a/.yarn/cache/readdirp-npm-3.4.0-503e0a2772-0159f43eb0.zip and /dev/null differ diff --git a/.yarn/cache/reload-npm-3.1.1-c7ae64f9ae-3401eedb3e.zip b/.yarn/cache/reload-npm-3.1.1-c7ae64f9ae-3401eedb3e.zip new file mode 100644 index 000000000..949841dbd Binary files /dev/null and b/.yarn/cache/reload-npm-3.1.1-c7ae64f9ae-3401eedb3e.zip differ diff --git a/.yarn/cache/supervisor-npm-0.12.0-86eb2f0732-b06597a97c.zip b/.yarn/cache/supervisor-npm-0.12.0-86eb2f0732-b06597a97c.zip new file mode 100644 index 000000000..aab5baf76 Binary files /dev/null and b/.yarn/cache/supervisor-npm-0.12.0-86eb2f0732-b06597a97c.zip differ diff --git a/.yarn/cache/terser-webpack-plugin-npm-5.0.1-e2259a3f81-23dfddfcba.zip b/.yarn/cache/terser-webpack-plugin-npm-5.0.1-e2259a3f81-23dfddfcba.zip deleted file mode 100644 index 338ac692d..000000000 Binary files a/.yarn/cache/terser-webpack-plugin-npm-5.0.1-e2259a3f81-23dfddfcba.zip and /dev/null differ diff --git a/.yarn/cache/timers-ext-npm-0.1.7-7edcefbfb5-4593b57c39.zip b/.yarn/cache/timers-ext-npm-0.1.7-7edcefbfb5-4593b57c39.zip new file mode 100644 index 000000000..2d49c2618 Binary files /dev/null and b/.yarn/cache/timers-ext-npm-0.1.7-7edcefbfb5-4593b57c39.zip differ diff --git a/.yarn/cache/type-npm-1.2.0-e67311c4b2-1589416fd9.zip b/.yarn/cache/type-npm-1.2.0-e67311c4b2-1589416fd9.zip new file mode 100644 index 000000000..d81247f48 Binary files /dev/null and b/.yarn/cache/type-npm-1.2.0-e67311c4b2-1589416fd9.zip differ diff --git a/.yarn/cache/type-npm-2.1.0-065c3f492a-c58a014169.zip b/.yarn/cache/type-npm-2.1.0-065c3f492a-c58a014169.zip new file mode 100644 index 000000000..0afe61ca4 Binary files /dev/null and b/.yarn/cache/type-npm-2.1.0-065c3f492a-c58a014169.zip differ diff --git a/.yarn/cache/unist-util-is-npm-4.0.2-edcf2f5815-497967dc77.zip b/.yarn/cache/unist-util-is-npm-4.0.2-edcf2f5815-497967dc77.zip deleted file mode 100644 index d771cd30f..000000000 Binary files a/.yarn/cache/unist-util-is-npm-4.0.2-edcf2f5815-497967dc77.zip and /dev/null differ diff --git a/.yarn/cache/unist-util-is-npm-4.0.3-df0a79ea11-661a7fbf5f.zip b/.yarn/cache/unist-util-is-npm-4.0.3-df0a79ea11-661a7fbf5f.zip new file mode 100644 index 000000000..6517049bd Binary files /dev/null and b/.yarn/cache/unist-util-is-npm-4.0.3-df0a79ea11-661a7fbf5f.zip differ diff --git a/.yarn/cache/v8-compile-cache-npm-2.1.1-efff1ef0a4-1290922fe1.zip b/.yarn/cache/v8-compile-cache-npm-2.1.1-efff1ef0a4-1290922fe1.zip deleted file mode 100644 index 4c9c9555e..000000000 Binary files a/.yarn/cache/v8-compile-cache-npm-2.1.1-efff1ef0a4-1290922fe1.zip and /dev/null differ diff --git a/.yarn/cache/v8-compile-cache-npm-2.2.0-b4d8f03dca-1efc994640.zip b/.yarn/cache/v8-compile-cache-npm-2.2.0-b4d8f03dca-1efc994640.zip new file mode 100644 index 000000000..70c0c0402 Binary files /dev/null and b/.yarn/cache/v8-compile-cache-npm-2.2.0-b4d8f03dca-1efc994640.zip differ diff --git a/.yarn/cache/webpack-npm-5.3.0-24424e3a6a-039d91f1ea.zip b/.yarn/cache/webpack-npm-5.3.0-24424e3a6a-039d91f1ea.zip deleted file mode 100644 index 3af0fa1b9..000000000 Binary files a/.yarn/cache/webpack-npm-5.3.0-24424e3a6a-039d91f1ea.zip and /dev/null differ diff --git a/.yarn/cache/webpack-sources-npm-2.1.0-569bf85c0f-3950d59661.zip b/.yarn/cache/webpack-sources-npm-2.1.0-569bf85c0f-3950d59661.zip deleted file mode 100644 index d3448faac..000000000 Binary files a/.yarn/cache/webpack-sources-npm-2.1.0-569bf85c0f-3950d59661.zip and /dev/null differ diff --git a/.yarn/versions/aaab972e.yml b/.yarn/versions/aaab972e.yml index dd5edca16..842791561 100644 --- a/.yarn/versions/aaab972e.yml +++ b/.yarn/versions/aaab972e.yml @@ -4,7 +4,6 @@ releases: "@lowdefy/cli": patch "@lowdefy/color": patch "@lowdefy/engine": patch - "@lowdefy/express": patch "@lowdefy/format": patch "@lowdefy/graphql": patch "@lowdefy/helpers": patch @@ -14,3 +13,4 @@ releases: "@lowdefy/nunjucks": patch "@lowdefy/operators": patch "@lowdefy/renderer": patch + "@lowdefy/server": patch diff --git a/package.json b/package.json index 582209e36..f339d0433 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,8 @@ "clean": "lerna run clean", "prepare": "lerna run prepare", "prettier": "prettier --config .prettierrc --write **/*.js", - "test": "lerna run test" + "test": "lerna run test", + "test:ci": "yarn install --immutable --immutable-cache --check-cache && yarn version check && yarn build && yarn test --ignore='@lowdefy/format'" }, "devDependencies": { "@yarnpkg/pnpify": "2.3.3", diff --git a/packages/blockTools/package.json b/packages/blockTools/package.json index 4b912388b..0eda6f3e6 100644 --- a/packages/blockTools/package.json +++ b/packages/blockTools/package.json @@ -57,6 +57,7 @@ "babel-loader": "8.1.0", "babel-plugin-import": "1.13.1", "buffer": "5.7.0", + "clean-webpack-plugin": "3.0.0", "css-loader": "5.0.0", "enzyme": "3.11.0", "html-webpack-plugin": "4.5.0", diff --git a/packages/blockTools/webpack.config.js b/packages/blockTools/webpack.config.js index df6b8e911..a01bf157f 100644 --- a/packages/blockTools/webpack.config.js +++ b/packages/blockTools/webpack.config.js @@ -1,4 +1,5 @@ const HtmlWebpackPlugin = require('html-webpack-plugin'); +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const path = require('path'); module.exports = { @@ -55,6 +56,7 @@ module.exports = { ], }, plugins: [ + new CleanWebpackPlugin(), new HtmlWebpackPlugin({ template: './public/index.html', }), diff --git a/packages/build/package.json b/packages/build/package.json index bf814274c..e20b072e5 100644 --- a/packages/build/package.json +++ b/packages/build/package.json @@ -1,6 +1,6 @@ { "name": "@lowdefy/build", - "version": "0.0.0-experimental.0", + "version": "0.0.0-alpha.2", "licence": "Apache-2.0", "description": "", "homepage": "https://lowdefy.com", @@ -55,6 +55,7 @@ "@babel/preset-env": "7.12.1", "babel-jest": "26.6.1", "babel-loader": "8.1.0", + "clean-webpack-plugin": "3.0.0", "jest": "26.6.1", "webpack": "5.3.2", "webpack-cli": "4.1.0" diff --git a/packages/build/run.js b/packages/build/run.js index 67ad56357..9669f9b2f 100644 --- a/packages/build/run.js +++ b/packages/build/run.js @@ -15,11 +15,17 @@ */ const path = require('path'); -const build = require('./dist/index.js').default; -build({ - logger: console, - cacheDirectory: path.resolve(process.cwd(), '.lowdefy/.cache'), - configDirectory: process.cwd(), - outputDirectory: path.resolve(process.cwd(), '.lowdefy/build'), -}); +async function run() { + // Doing weird things for webpack module federation. + // Webpack needs an async import to resolve shared dependencies. + const build = await require('./dist/index.js').default.then((module) => module.default); + await build({ + logger: console, + cacheDirectory: path.resolve(process.cwd(), '.lowdefy/.cache'), + configDirectory: process.cwd(), + outputDirectory: path.resolve(process.cwd(), '.lowdefy/build'), + }); +} + +run(); diff --git a/packages/build/src/build.js b/packages/build/src/build.js new file mode 100644 index 000000000..c825e4950 --- /dev/null +++ b/packages/build/src/build.js @@ -0,0 +1,70 @@ +/* eslint-disable no-console */ + +/* + Copyright 2020 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 createFileLoader from './loaders/fileLoader'; +import createFileSetter from './loaders/fileSetter'; +import createMetaLoader from './loaders/metaLoader'; + +import buildConnections from './build/buildConnections'; +import buildMenu from './build/buildMenu'; +import buildPages from './build/buildPages'; +import buildRefs from './build/buildRefs'; +import cleanOutputDirectory from './build/cleanOutputDirectory'; +import testSchema from './build/testSchema'; +import writeConnections from './build/writeConnections'; +import writeGlobal from './build/writeGlobal'; +import writeMenus from './build/writeMenus'; +import writePages from './build/writePages'; +import writeRequests from './build/writeRequests'; + +function createContext(options) { + const { logger, cacheDirectory, configDirectory, outputDirectory } = options; + const context = { + logger, + configLoader: createFileLoader({ baseDirectory: configDirectory }), + artifactSetter: createFileSetter({ baseDirectory: outputDirectory }), + outputDirectory, + cacheDirectory, + }; + return context; +} + +async function build(options) { + const context = createContext(options); + try { + let components = await buildRefs({ context }); + await testSchema({ components, context }); + context.metaLoader = createMetaLoader({ components, context }); + await buildConnections({ components, context }); + await buildPages({ components, context }); + await buildMenu({ components, context }); + await cleanOutputDirectory({ context }); + await writeConnections({ components, context }); + await writeRequests({ components, context }); + await writePages({ components, context }); + await writeGlobal({ components, context }); + await writeMenus({ components, context }); + } catch (error) { + context.logger.error(error); + throw error; + } +} + +export { createContext }; + +export default build; diff --git a/packages/build/src/build/writeConnections.js b/packages/build/src/build/writeConnections.js index 69778051d..14f69525c 100644 --- a/packages/build/src/build/writeConnections.js +++ b/packages/build/src/build/writeConnections.js @@ -26,7 +26,6 @@ async function writeConnections({ components, context }) { filePath: `connections/${connection.connectionId}.json`, content: JSON.stringify(connection, null, 2), }); - await context.logger.info(`Updated connection ${connection.connectionId}`); }); return Promise.all(writePromises); } diff --git a/packages/build/src/build/writeConnections.test.js b/packages/build/src/build/writeConnections.test.js index f94f11964..a47f4a498 100644 --- a/packages/build/src/build/writeConnections.test.js +++ b/packages/build/src/build/writeConnections.test.js @@ -17,21 +17,15 @@ import writeConnections from './writeConnections'; import testContext from '../test/testContext'; -const mockLogInfo = jest.fn(); const mockSet = jest.fn(); -const logger = { - info: mockLogInfo, -}; - const artifactSetter = { set: mockSet, }; -const context = testContext({ logger, artifactSetter }); +const context = testContext({ artifactSetter }); beforeEach(() => { - mockLogInfo.mockReset(); mockSet.mockReset(); }); @@ -62,7 +56,6 @@ test('writeConnections write connection', async () => { }, ], ]); - expect(mockLogInfo.mock.calls).toEqual([['Updated connection connection1']]); }); test('writeConnections multiple connection', async () => { @@ -99,10 +92,6 @@ test('writeConnections multiple connection', async () => { }, ], ]); - expect(mockLogInfo.mock.calls).toEqual([ - ['Updated connection connection1'], - ['Updated connection connection2'], - ]); }); test('writeConnections no connections', async () => { @@ -111,14 +100,12 @@ test('writeConnections no connections', async () => { }; await writeConnections({ components, context }); expect(mockSet.mock.calls).toEqual([]); - expect(mockLogInfo.mock.calls).toEqual([]); }); test('writeConnections connections undefined', async () => { const components = {}; await writeConnections({ components, context }); expect(mockSet.mock.calls).toEqual([]); - expect(mockLogInfo.mock.calls).toEqual([]); }); test('writeConnections connections not an array', async () => { diff --git a/packages/build/src/build/writeGlobal.js b/packages/build/src/build/writeGlobal.js index 4a3e475c0..933c2212e 100644 --- a/packages/build/src/build/writeGlobal.js +++ b/packages/build/src/build/writeGlobal.js @@ -27,7 +27,6 @@ async function writeGlobal({ components, context }) { filePath: 'global.json', content: JSON.stringify(components.global, null, 2), }); - await context.logger.info('Updated global'); } export default writeGlobal; diff --git a/packages/build/src/build/writeGlobal.test.js b/packages/build/src/build/writeGlobal.test.js index cc9c9a1a7..23992ec6e 100644 --- a/packages/build/src/build/writeGlobal.test.js +++ b/packages/build/src/build/writeGlobal.test.js @@ -17,21 +17,15 @@ import writeGlobal from './writeGlobal'; import testContext from '../test/testContext'; -const mockLogInfo = jest.fn(); const mockSet = jest.fn(); -const logger = { - info: mockLogInfo, -}; - const artifactSetter = { set: mockSet, }; -const context = testContext({ logger, artifactSetter }); +const context = testContext({ artifactSetter }); beforeEach(() => { - mockLogInfo.mockReset(); mockSet.mockReset(); }); @@ -52,7 +46,6 @@ test('writeGlobal', async () => { }, ], ]); - expect(mockLogInfo.mock.calls).toEqual([['Updated global']]); }); test('writeGlobal empty global', async () => { @@ -68,7 +61,6 @@ test('writeGlobal empty global', async () => { }, ], ]); - expect(mockLogInfo.mock.calls).toEqual([['Updated global']]); }); test('writeGlobal global undefined', async () => { @@ -82,7 +74,6 @@ test('writeGlobal global undefined', async () => { }, ], ]); - expect(mockLogInfo.mock.calls).toEqual([['Updated global']]); }); test('writeGlobal global not an object', async () => { diff --git a/packages/build/src/build/writeMenus.js b/packages/build/src/build/writeMenus.js index e8320d379..d2659c643 100644 --- a/packages/build/src/build/writeMenus.js +++ b/packages/build/src/build/writeMenus.js @@ -24,7 +24,6 @@ async function writeMenus({ components, context }) { filePath: 'menus.json', content: JSON.stringify(components.menus, null, 2), }); - await context.logger.info('Updated menus'); } export default writeMenus; diff --git a/packages/build/src/build/writeMenus.test.js b/packages/build/src/build/writeMenus.test.js index 542f39cfd..cc455b2eb 100644 --- a/packages/build/src/build/writeMenus.test.js +++ b/packages/build/src/build/writeMenus.test.js @@ -17,21 +17,15 @@ import writeMenus from './writeMenus'; import testContext from '../test/testContext'; -const mockLogInfo = jest.fn(); const mockSet = jest.fn(); -const logger = { - info: mockLogInfo, -}; - const artifactSetter = { set: mockSet, }; -const context = testContext({ logger, artifactSetter }); +const context = testContext({ artifactSetter }); beforeEach(() => { - mockLogInfo.mockReset(); mockSet.mockReset(); }); @@ -60,7 +54,6 @@ test('writeMenus', async () => { }, ], ]); - expect(mockLogInfo.mock.calls).toEqual([['Updated menus']]); }); test('writeMenus empty menus', async () => { @@ -76,7 +69,6 @@ test('writeMenus empty menus', async () => { }, ], ]); - expect(mockLogInfo.mock.calls).toEqual([['Updated menus']]); }); test('writeMenus menus undefined', async () => { diff --git a/packages/build/src/build/writePages.js b/packages/build/src/build/writePages.js index d56de7245..9de41a141 100644 --- a/packages/build/src/build/writePages.js +++ b/packages/build/src/build/writePages.js @@ -24,7 +24,6 @@ async function writePage({ page, context }) { filePath: `pages/${page.pageId}/${page.pageId}.json`, content: JSON.stringify(page, null, 2), }); - await context.logger.info(`Updated page ${page.pageId}`); } async function writePages({ components, context }) { diff --git a/packages/build/src/build/writePages.test.js b/packages/build/src/build/writePages.test.js index 0b3a792cb..abcd56032 100644 --- a/packages/build/src/build/writePages.test.js +++ b/packages/build/src/build/writePages.test.js @@ -17,21 +17,15 @@ import writePages from './writePages'; import testContext from '../test/testContext'; -const mockLogInfo = jest.fn(); const mockSet = jest.fn(); -const logger = { - info: mockLogInfo, -}; - const artifactSetter = { set: mockSet, }; -const context = testContext({ logger, artifactSetter }); +const context = testContext({ artifactSetter }); beforeEach(() => { - mockLogInfo.mockReset(); mockSet.mockReset(); }); @@ -62,7 +56,6 @@ test('writePages write page', async () => { }, ], ]); - expect(mockLogInfo.mock.calls).toEqual([['Updated page page1']]); }); test('writePages multiple pages', async () => { @@ -111,7 +104,6 @@ test('writePages multiple pages', async () => { }, ], ]); - expect(mockLogInfo.mock.calls).toEqual([['Updated page page1'], ['Updated page page2']]); }); test('writePages no pages', async () => { @@ -120,14 +112,12 @@ test('writePages no pages', async () => { }; await writePages({ components, context }); expect(mockSet.mock.calls).toEqual([]); - expect(mockLogInfo.mock.calls).toEqual([]); }); test('writePages pages undefined', async () => { const components = {}; await writePages({ components, context }); expect(mockSet.mock.calls).toEqual([]); - expect(mockLogInfo.mock.calls).toEqual([]); }); test('writePages pages not an array', async () => { diff --git a/packages/build/src/build/writeRequests.js b/packages/build/src/build/writeRequests.js index d2277906f..c5100b89b 100644 --- a/packages/build/src/build/writeRequests.js +++ b/packages/build/src/build/writeRequests.js @@ -65,14 +65,15 @@ async function updateRequestsOnPage({ page, context }) { filePath: `pages/${page.pageId}/requests/${request.requestId}.json`, content: JSON.stringify(request, null, 2), }); - await context.logger.info(`Updated request ${request.requestId} on page ${page.pageId}`); }); const writeMutationPromises = mutations.map(async (mutation) => { await context.artifactSetter.set({ filePath: `pages/${page.pageId}/mutations/${mutation.mutationId}.json`, content: JSON.stringify(mutation, null, 2), }); - await context.logger.info(`Updated mutation ${mutation.mutationId} on page ${page.pageId}`); + await context.logger.info( + `Updated mutation "${mutation.mutationId}" on page "${page.pageId}".` + ); }); return Promise.all([...writeRequestPromises, ...writeMutationPromises]); diff --git a/packages/build/src/build/writeRequests.test.js b/packages/build/src/build/writeRequests.test.js index 50c4637ae..dabffcf72 100644 --- a/packages/build/src/build/writeRequests.test.js +++ b/packages/build/src/build/writeRequests.test.js @@ -17,21 +17,15 @@ import writeRequests from './writeRequests'; import testContext from '../test/testContext'; -const mockLogInfo = jest.fn(); const mockSet = jest.fn(); -const logger = { - info: mockLogInfo, -}; - const artifactSetter = { set: mockSet, }; -const context = testContext({ logger, artifactSetter }); +const context = testContext({ artifactSetter }); beforeEach(() => { - mockLogInfo.mockReset(); mockSet.mockReset(); }); @@ -69,7 +63,6 @@ test('writeRequests write request', async () => { }, ], ]); - expect(mockLogInfo.mock.calls).toEqual([['Updated request request1 on page page1']]); }); test('writeRequests write nested request', async () => { @@ -116,7 +109,6 @@ test('writeRequests write nested request', async () => { }, ], ]); - expect(mockLogInfo.mock.calls).toEqual([['Updated request request1 on page page1']]); }); test('writeRequests add mutation', async () => { @@ -153,7 +145,6 @@ test('writeRequests add mutation', async () => { }, ], ]); - expect(mockLogInfo.mock.calls).toEqual([['Updated mutation mutation1 on page page1']]); }); test('writeRequests add nested mutation', async () => { @@ -199,7 +190,6 @@ test('writeRequests add nested mutation', async () => { }, ], ]); - expect(mockLogInfo.mock.calls).toEqual([['Updated mutation mutation1 on page page1']]); }); test('writeRequests requests is not an array', async () => { @@ -238,14 +228,12 @@ test('writeRequests empty pages array', async () => { }; await writeRequests({ components, context }); expect(mockSet.mock.calls).toEqual([]); - expect(mockLogInfo.mock.calls).toEqual([]); }); test('writeRequests no pages array', async () => { const components = {}; await writeRequests({ components, context }); expect(mockSet.mock.calls).toEqual([]); - expect(mockLogInfo.mock.calls).toEqual([]); }); test('writeRequests pages not an array', async () => { diff --git a/packages/build/src/index.js b/packages/build/src/index.js index ae43ef377..7f675af88 100644 --- a/packages/build/src/index.js +++ b/packages/build/src/index.js @@ -1,5 +1,3 @@ -/* eslint-disable no-console */ - /* Copyright 2020 Lowdefy, Inc @@ -16,57 +14,6 @@ limitations under the License. */ -import { type } from '@lowdefy/helpers'; - -import createFileLoader from './loaders/fileLoader'; -import createFileSetter from './loaders/fileSetter'; -import createMetaLoader from './loaders/metaLoader'; - -import buildConnections from './build/buildConnections'; -import buildMenu from './build/buildMenu'; -import buildPages from './build/buildPages'; -import buildRefs from './build/buildRefs'; -import cleanOutputDirectory from './build/cleanOutputDirectory'; -import testSchema from './build/testSchema'; -import writeConnections from './build/writeConnections'; -import writeGlobal from './build/writeGlobal'; -import writeMenus from './build/writeMenus'; -import writePages from './build/writePages'; -import writeRequests from './build/writeRequests'; - -function createContext(options) { - const { logger, cacheDirectory, configDirectory, outputDirectory } = options; - const context = { - logger, - configLoader: createFileLoader({ baseDirectory: configDirectory }), - artifactSetter: createFileSetter({ baseDirectory: outputDirectory }), - outputDirectory, - cacheDirectory, - }; - return context; -} - -async function build(options) { - const context = createContext(options); - try { - let components = await buildRefs({ context }); - await testSchema({ components, context }); - context.metaLoader = createMetaLoader({ components, context }); - await buildConnections({ components, context }); - await buildPages({ components, context }); - await buildMenu({ components, context }); - await cleanOutputDirectory({ context }); - await writeConnections({ components, context }); - await writeRequests({ components, context }); - await writePages({ components, context }); - await writeGlobal({ components, context }); - await writeMenus({ components, context }); - } catch (error) { - context.logger.error(error); - throw error; - } -} - -export { createContext }; +const build = import('./build'); export default build; diff --git a/packages/build/webpack.config.js b/packages/build/webpack.config.js index 920d6da64..9370beb6b 100644 --- a/packages/build/webpack.config.js +++ b/packages/build/webpack.config.js @@ -1,5 +1,6 @@ const path = require('path'); const { ModuleFederationPlugin } = require('webpack').container; +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const { dependencies } = require('./package.json'); module.exports = { @@ -37,12 +38,13 @@ module.exports = { ], }, plugins: [ + new CleanWebpackPlugin(), new ModuleFederationPlugin({ name: 'build', library: { type: 'commonjs' }, filename: 'remoteEntry.js', exposes: { - './build': './src/index.js', + './build': './src/build.js', }, shared: dependencies, }), diff --git a/packages/cli/.babelrc b/packages/cli/.babelrc index 41046be8a..16c7739be 100644 --- a/packages/cli/.babelrc +++ b/packages/cli/.babelrc @@ -7,6 +7,7 @@ "node": "12" } } - ] + ], + "@babel/preset-react" ] } diff --git a/packages/cli/jest.config.js b/packages/cli/jest.config.js index 893ebb515..baa8e1dbf 100644 --- a/packages/cli/jest.config.js +++ b/packages/cli/jest.config.js @@ -3,7 +3,13 @@ module.exports = { collectCoverage: true, collectCoverageFrom: ['src/**/*.js'], coverageDirectory: 'coverage', - coveragePathIgnorePatterns: ['/dist/', '/src/test'], + coveragePathIgnorePatterns: [ + '/dist/', + '/src/test', + '/src/index.js', + '/src/index.js', + '/src/commands/dev/shell/*', + ], coverageReporters: [['lcov', { projectRoot: '../..' }], 'text', 'clover'], errorOnDeprecated: true, testEnvironment: 'node', diff --git a/packages/cli/lowdefy.yaml b/packages/cli/lowdefy.yaml deleted file mode 100644 index 03a6e3c9f..000000000 --- a/packages/cli/lowdefy.yaml +++ /dev/null @@ -1,22 +0,0 @@ -version: '1.0.1-experimental.1' - -types: - Context: - url: http://localhost:3002/meta/Context.json - Button: - url: http://localhost:3002/meta/Button.json - -connections: - - id: con1 - type: AxiosHttp - -pages: - - id: page1 - type: Context - requests: - - id: req1 - type: AxiosHttp - connectionId: con1 - blocks: - - id: button - type: Button diff --git a/packages/cli/package.json b/packages/cli/package.json index df11b416c..1e2f84acf 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@lowdefy/cli", - "version": "3.0.0-experimental.1", + "version": "3.0.0-alpha.3", "license": "Apache-2.0", "description": "Lowdefy CLI", "homepage": "https://lowdefy.com", @@ -36,7 +36,7 @@ "npm-publish": "npm publish --access public", "prepare": "yarn build", "prepublishOnly": "yarn build", - "test": "jest --coverage --passWithNoTests", + "test": "FORCE_COLOR=3 jest --coverage", "webpack": "webpack --config webpack.config.js", "version:prerelease": "yarn version prerelease", "version:patch": "yarn version patch -d", @@ -44,25 +44,37 @@ "version:major": "yarn version major -d" }, "dependencies": { - "@lowdefy/build": "0.0.0-experimental.0", + "@lowdefy/block-tools": "1.0.1-alpha.9", "@lowdefy/helpers": "1.1.0", "@lowdefy/node-utils": "1.0.0", + "apollo-server-express": "2.18.2", "axios": "0.21.0", "chalk": "4.1.0", "chokidar": "3.4.3", "commander": "6.2.0", "decompress": "4.2.1", "decompress-targz": "4.1.1", + "express": "4.17.1", + "graphql": "15.4.0", "inquirer": "7.3.3", - "js-yaml": "3.14.0" + "js-yaml": "3.14.0", + "opener": "1.5.2", + "react": "17.0.1", + "react-dom": "17.0.1", + "reload": "3.1.1" }, "devDependencies": { "@babel/cli": "7.12.1", "@babel/core": "7.12.3", "@babel/preset-env": "7.12.1", + "@babel/preset-react": "7.12.1", "babel-jest": "26.5.2", "babel-loader": "8.1.0", + "clean-webpack-plugin": "3.0.0", + "css-loader": "5.0.0", + "html-webpack-plugin": "4.5.0", "jest": "26.5.3", + "style-loader": "2.0.0", "webpack": "5.3.2", "webpack-cli": "4.0.0" } diff --git a/packages/cli/src/commands/build/build.js b/packages/cli/src/commands/build/build.js index e28bc1e14..8690e435d 100644 --- a/packages/cli/src/commands/build/build.js +++ b/packages/cli/src/commands/build/build.js @@ -16,25 +16,21 @@ import path from 'path'; import getBuildScript from './getBuildScript'; -import getLowdefyVersion from '../../utils/getLowdefyVersion'; -import createPrint from '../../utils/print'; -import { cacheDirectoryPath, outputDirectoryPath } from '../../utils/directories'; +import createContext from '../../utils/context'; +import { outputDirectoryPath } from '../../utils/directories'; -async function build(program) { - let baseDirectory = process.cwd(); - if (program.baseDirectory) { - baseDirectory = path.resolve(program.baseDirectory); - } - const version = await getLowdefyVersion(program.baseDirectory); - const cacheDirectory = path.resolve(baseDirectory, cacheDirectoryPath); - const buildScript = await getBuildScript(version, cacheDirectory); - - buildScript({ - logger: createPrint({ timestamp: true }), - cacheDirectory, - configDirectory: baseDirectory, - outputDirectory: path.resolve(baseDirectory, outputDirectoryPath), +async function build(options) { + const context = await createContext(options); + await getBuildScript(context); + const outputDirectory = path.resolve(context.baseDirectory, outputDirectoryPath); + context.print.info('Starting build.'); + await context.buildScript({ + logger: context.print, + cacheDirectory: context.cacheDirectory, + configDirectory: context.baseDirectory, + outputDirectory, }); + context.print.info(`Build artifacts saved at ${outputDirectory}.`); } export default build; diff --git a/packages/cli/src/commands/build/build.test.js b/packages/cli/src/commands/build/build.test.js new file mode 100644 index 000000000..b6eb43588 --- /dev/null +++ b/packages/cli/src/commands/build/build.test.js @@ -0,0 +1,80 @@ +/* + Copyright 2020 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 path from 'path'; +import build from './build'; +import getBuildScript from './getBuildScript'; +import createContext from '../../utils/context'; + +const info = jest.fn(); + +jest.mock('./getBuildScript', () => { + const buildScript = jest.fn(); + return (context) => { + context.buildScript = buildScript; + return context; + }; +}); + +jest.mock('../../utils/context', () => { + const createContext = jest.fn(); + return createContext; +}); + +beforeEach(() => { + createContext.mockReset(); +}); + +test('build', async () => { + const baseDirectory = process.cwd(); + const cacheDirectory = path.resolve(process.cwd(), '.lowdefy/.cache'); + const outputDirectory = path.resolve(process.cwd(), '.lowdefy/build'); + createContext.mockImplementation(() => ({ + print: { + info, + }, + baseDirectory, + cacheDirectory, + })); + await build({}); + const context = createContext.mock.results[0].value; + const { buildScript } = context; + expect(createContext).toHaveBeenCalledTimes(1); + expect(buildScript).toHaveBeenCalledTimes(1); + expect(buildScript.mock.calls[0][0].outputDirectory).toEqual(outputDirectory); + expect(buildScript.mock.calls[0][0].cacheDirectory).toEqual(cacheDirectory); + expect(buildScript.mock.calls[0][0].outputDirectory).toEqual(outputDirectory); +}); + +test('build with base directory', async () => { + const baseDirectory = path.resolve(process.cwd(), 'baseDirectory'); + const cacheDirectory = path.resolve(process.cwd(), 'baseDirectory/.lowdefy/.cache'); + const outputDirectory = path.resolve(process.cwd(), 'baseDirectory/.lowdefy/build'); + createContext.mockImplementation(() => ({ + print: { + info, + }, + baseDirectory, + cacheDirectory, + })); + await build({ baseDirectory: 'baseDirectory' }); + const context = createContext.mock.results[0].value; + const { buildScript } = context; + expect(createContext).toHaveBeenCalledTimes(1); + expect(buildScript).toHaveBeenCalledTimes(1); + expect(buildScript.mock.calls[0][0].outputDirectory).toEqual(outputDirectory); + expect(buildScript.mock.calls[0][0].cacheDirectory).toEqual(cacheDirectory); + expect(buildScript.mock.calls[0][0].outputDirectory).toEqual(outputDirectory); +}); diff --git a/packages/cli/src/commands/build/getBuildScript.js b/packages/cli/src/commands/build/getBuildScript.js index 44a39a399..026bd5037 100644 --- a/packages/cli/src/commands/build/getBuildScript.js +++ b/packages/cli/src/commands/build/getBuildScript.js @@ -19,15 +19,15 @@ import path from 'path'; import loadBuildScriptToCache from './loadBuildScriptToCache'; import loadModule from '../../utils/loadModule'; -async function getBuildScript(version, cacheDirectory) { - let buildScript; - const cleanVersion = version.replace(/[-.]/g, '_'); - const cachePath = path.resolve(cacheDirectory, `scripts/build_${cleanVersion}`); +async function getBuildScript(context) { + const cleanVersion = context.version.replace(/[-.]/g, '_'); + const cachePath = path.resolve(context.cacheDirectory, `scripts/build_${cleanVersion}`); if (!fs.existsSync(path.resolve(cachePath, 'package/dist/remoteEntry.js'))) { - await loadBuildScriptToCache(version, cachePath); + await loadBuildScriptToCache(context, cachePath); } - buildScript = await loadModule(cachePath, './build'); - return buildScript.default; + const buildScript = await loadModule(path.resolve(cachePath, 'package/dist'), './build'); + context.buildScript = buildScript.default; + return context; } export default getBuildScript; diff --git a/packages/cli/src/commands/build/loadBuildScriptToCache.js b/packages/cli/src/commands/build/loadBuildScriptToCache.js index 97f048fec..8fd5076ba 100644 --- a/packages/cli/src/commands/build/loadBuildScriptToCache.js +++ b/packages/cli/src/commands/build/loadBuildScriptToCache.js @@ -18,7 +18,7 @@ import axios from 'axios'; import decompress from 'decompress'; import decompressTargz from 'decompress-targz'; -async function loadBuildScriptToCache(version, cachePath) { +async function loadBuildScriptToCache(context, cachePath) { const registryUrl = 'https://registry.npmjs.org/@lowdefy/build'; const packageInfo = await axios.get(registryUrl); if (!packageInfo || !packageInfo.data) { @@ -27,16 +27,18 @@ async function loadBuildScriptToCache(version, cachePath) { `Build package could not be found at ${registryUrl}. Check internet connection.` ); } - if (!packageInfo.data.versions[version]) { - throw new Error(`Invalid Lowdefy version. Version "${version}" does not exist.`); + if (!packageInfo.data.versions[context.version]) { + throw new Error(`Invalid Lowdefy version. Version "${context.version}" does not exist.`); } - const tarball = await axios.get(packageInfo.data.versions[version].dist.tarball, { + const tarball = await axios.get(packageInfo.data.versions[context.version].dist.tarball, { responseType: 'arraybuffer', }); if (!tarball || !tarball.data) { /// TODO: Check if user has internet connection. throw new Error( - `Build script could not be fetched from ${packageInfo.data.versions[version].dist.tarball}. Check internet connection.` + `Build script could not be fetched from ${ + packageInfo.data.versions[context.version].dist.tarball + }. Check internet connection.` ); } await decompress(tarball.data, cachePath, { diff --git a/packages/cli/src/commands/cleanCache/cleanCache.test.js b/packages/cli/src/commands/cleanCache/cleanCache.test.js new file mode 100644 index 000000000..69babb06c --- /dev/null +++ b/packages/cli/src/commands/cleanCache/cleanCache.test.js @@ -0,0 +1,57 @@ +/* + Copyright 2020 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 path from 'path'; +import { cleanDirectory } from '@lowdefy/node-utils'; +import cleanCache from './cleanCache'; +import createPrint from '../../utils/print'; + +jest.mock('@lowdefy/node-utils', () => { + const cleanDirectory = jest.fn(); + return { cleanDirectory }; +}); + +jest.mock('../../utils/print', () => { + const info = jest.fn(); + return () => ({ + info, + }); +}); + +const print = createPrint(); + +beforeEach(() => { + cleanDirectory.mockReset(); +}); + +test('cleanCache', async () => { + await cleanCache({}); + const cachePath = path.resolve(process.cwd(), './.lowdefy/.cache'); + expect(cleanDirectory.mock.calls).toEqual([[cachePath]]); + expect(print.info.mock.calls).toEqual([ + [`Cleaning cache at "${cachePath}".`], + ['Cache cleaned.'], + ]); +}); + +test('cleanCache baseDir', async () => { + await cleanCache({ baseDirectory: 'baseDir' }); + const cachePath = path.resolve(process.cwd(), 'baseDir/.lowdefy/.cache'); + expect(cleanDirectory.mock.calls).toEqual([[cachePath]]); + expect(print.info.mock.calls).toEqual([ + [`Cleaning cache at "${cachePath}".`], + ['Cache cleaned.'], + ]); +}); diff --git a/packages/cli/src/commands/dev/dev.js b/packages/cli/src/commands/dev/dev.js new file mode 100644 index 000000000..eb1d31ebf --- /dev/null +++ b/packages/cli/src/commands/dev/dev.js @@ -0,0 +1,96 @@ +/* + Copyright 2020 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 path from 'path'; +import chokidar from 'chokidar'; +import express from 'express'; +import reload from 'reload'; +import opener from 'opener'; +import { ApolloServer } from 'apollo-server-express'; + +import BatchChanges from '../../utils/BatchChanges'; +import createContext from '../../utils/context'; +import getBuildScript from '../build/getBuildScript'; +import getGraphql from './getGraphql'; +import { outputDirectoryPath } from '../../utils/directories'; + +async function dev(options) { + // Setup + if (!options.port) options.port = 3000; + const context = await createContext(options); + await getBuildScript(context); + await getGraphql(context); + + context.print.info('Starting development server.'); + + //Graphql + const config = { + DEPLOYMENT_ID: 'DEPLOYMENT_ID', + DEPLOYMENT_NAME: 'DEPLOYMENT_NAME', + DOMAIN_NAME: 'DOMAIN_NAME', + CONFIGURATION_BASE_PATH: path.resolve(process.cwd(), './.lowdefy/build'), + logger: console, + getHeadersFromInput: ({ req }) => req.headers, + getSecrets: () => ({ + CONNECTION_SECRETS: {}, + }), + }; + const { typeDefs, resolvers, createContext: createGqlContext } = context.graphql; + const gqlContext = createGqlContext(config); + const server = new ApolloServer({ typeDefs, resolvers, context: gqlContext }); + + // Express + const app = express(); + app.set('port', options.port); + server.applyMiddleware({ app, path: '/api/graphql' }); + const reloadReturned = await reload(app, { route: '/api/dev/reload.js' }); + app.use(express.static(path.join(__dirname, 'shell'))); + app.use('/api/dev/version', (req, res) => { + res.json(context.version); + }); + app.use((req, res) => { + res.sendFile(path.resolve(__dirname, 'shell/index.html')); + }); + + // File watcher + const fn = async () => { + context.print.info('Building configuration.'); + await context.buildScript({ + logger: context.print, + cacheDirectory: context.cacheDirectory, + configDirectory: context.baseDirectory, + outputDirectory: path.resolve(context.baseDirectory, outputDirectoryPath), + }); + reloadReturned.reload(); + }; + const batchChanges = new BatchChanges({ fn, context }); + + const watcher = chokidar.watch('.', { + ignored: /(^|[/\\])\../, // ignore dotfiles + persistent: true, + }); + watcher.on('add', () => batchChanges.newChange()); + watcher.on('change', () => batchChanges.newChange()); + watcher.on('unlink', () => batchChanges.newChange()); + + // Start server + app.listen(app.get('port'), function () { + context.print.log(`Development server listening on port ${options.port}`); + }); + opener(`http://localhost:${options.port}`); +} + +export default dev; diff --git a/packages/cli/src/commands/dev/getGraphql.js b/packages/cli/src/commands/dev/getGraphql.js new file mode 100644 index 000000000..7b37b2cef --- /dev/null +++ b/packages/cli/src/commands/dev/getGraphql.js @@ -0,0 +1,35 @@ +/* + Copyright 2020 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 fs from 'fs'; +import path from 'path'; +import loadGraphqlToCache from './loadGraphqlToCache'; +import loadModule from '../../utils/loadModule'; + +async function getGraphql(context) { + const cleanVersion = context.version.replace(/[-.]/g, '_'); + const cachePath = path.resolve(context.cacheDirectory, `scripts/graphql_${cleanVersion}`); + if (!fs.existsSync(path.resolve(cachePath, 'package/dist/remoteEntry.js'))) { + await loadGraphqlToCache(context, cachePath); + } + context.graphql = await loadModule( + path.resolve(cachePath, 'package/dist/moduleFederation'), + './graphql' + ); + return context; +} + +export default getGraphql; diff --git a/packages/cli/src/commands/dev/loadGraphqlToCache.js b/packages/cli/src/commands/dev/loadGraphqlToCache.js new file mode 100644 index 000000000..ceea5882d --- /dev/null +++ b/packages/cli/src/commands/dev/loadGraphqlToCache.js @@ -0,0 +1,49 @@ +/* + Copyright 2020 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 axios from 'axios'; +import decompress from 'decompress'; +import decompressTargz from 'decompress-targz'; + +async function loadGraphqlToCache(context, cachePath) { + const registryUrl = 'https://registry.npmjs.org/@lowdefy/graphql'; + const packageInfo = await axios.get(registryUrl); + if (!packageInfo || !packageInfo.data) { + // TODO: Check if user has internet connection. + throw new Error( + `Graphql package could not be found at ${registryUrl}. Check internet connection.` + ); + } + if (!packageInfo.data.versions[context.version]) { + throw new Error(`Invalid Lowdefy version. Version "${context.version}" does not exist.`); + } + const tarball = await axios.get(packageInfo.data.versions[context.version].dist.tarball, { + responseType: 'arraybuffer', + }); + if (!tarball || !tarball.data) { + /// TODO: Check if user has internet connection. + throw new Error( + `Graphql could not be fetched from ${ + packageInfo.data.versions[context.version].dist.tarball + }. Check internet connection.` + ); + } + await decompress(tarball.data, cachePath, { + plugins: [decompressTargz()], + }); +} + +export default loadGraphqlToCache; diff --git a/packages/cli/src/commands/dev/shell/bootstrap.js b/packages/cli/src/commands/dev/shell/bootstrap.js new file mode 100644 index 000000000..0ff0fc9ec --- /dev/null +++ b/packages/cli/src/commands/dev/shell/bootstrap.js @@ -0,0 +1,107 @@ +/* +Copyright 2020 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'; + +function loadComponent(scope, module) { + return async () => { + // Initializes the share scope. This fills it with known provided modules from this build and all remotes + await __webpack_init_sharing__('default'); + const container = window[scope]; // or get the container somewhere else + // Initialize the container, it may provide shared modules + await container.init(__webpack_share_scopes__.default); + const factory = await window[scope].get(`./${module}`); + const Module = factory(); + return Module; + }; +} + +const useDynamicScript = (args) => { + const [ready, setReady] = React.useState(false); + const [failed, setFailed] = React.useState(false); + + React.useEffect(() => { + if (!args.url) { + return; + } + + const element = document.createElement('script'); + + element.src = args.url; + element.type = 'text/javascript'; + element.async = true; + + setReady(false); + setFailed(false); + + element.onload = () => { + console.log(`Dynamic Script Loaded: ${args.url}`); + setReady(true); + }; + + element.onerror = () => { + console.error(`Dynamic Script Error: ${args.url}`); + setReady(false); + setFailed(true); + }; + + document.head.appendChild(element); + + return () => { + console.log(`Dynamic Script Removed: ${args.url}`); + document.head.removeChild(element); + }; + }, [args.url]); + + return { + ready, + failed, + }; +}; + +function Shell({ version }) { + const { ready, failed } = useDynamicScript({ + url: `http://unpkg.com/@lowdefy/renderer@${version}/dist/remoteEntry.js`, + }); + + if (!ready) { + return ; + } + + if (failed) { + return

Failed to load dynamic script

; + } + + const Component = React.lazy(loadComponent('lowdefy_renderer', 'Renderer')); + + return ( + }> + + + ); +} + +const getVersion = async () => { + return (await fetch(`api/dev/version`)).json(); +}; + +getVersion().then((version) => { + ReactDOM.render(, document.getElementById('root')); +}); diff --git a/packages/cli/src/commands/dev/shell/index.html b/packages/cli/src/commands/dev/shell/index.html new file mode 100644 index 000000000..1252121c3 --- /dev/null +++ b/packages/cli/src/commands/dev/shell/index.html @@ -0,0 +1,29 @@ + + + + + + + + Lowdefy App + + + + +
+
+ + diff --git a/packages/express/shell/src/index.js b/packages/cli/src/commands/dev/shell/index.js similarity index 100% rename from packages/express/shell/src/index.js rename to packages/cli/src/commands/dev/shell/index.js diff --git a/packages/cli/src/index.js b/packages/cli/src/index.js index 78201526c..7f854020e 100755 --- a/packages/cli/src/index.js +++ b/packages/cli/src/index.js @@ -18,6 +18,7 @@ import program from 'commander'; import packageJson from '../package.json'; import build from './commands/build/build.js'; import cleanCache from './commands/cleanCache/cleanCache.js'; +import dev from './commands/dev/dev.js'; import errorHandler from './utils/errorHandler'; const { description, version } = packageJson; @@ -32,6 +33,7 @@ program '--base-directory ', 'Change base directory. Default is the current working directory.' ) + .passCommandToAction(false) .action(errorHandler(build)); program @@ -42,6 +44,18 @@ program '--base-directory ', 'Change base directory. Default is the current working directory.' ) + .passCommandToAction(false) .action(errorHandler(cleanCache)); +program + .command('dev') + .description('Start a Lowdefy development server.') + .usage(`[options]`) + .option( + '--base-directory ', + 'Change base directory. Default is the current working directory.' + ) + .passCommandToAction(false) + .action(errorHandler(dev, { stayAlive: true })); + program.parse(process.argv); diff --git a/packages/cli/src/utils/BatchChanges.js b/packages/cli/src/utils/BatchChanges.js new file mode 100644 index 000000000..e6aa44572 --- /dev/null +++ b/packages/cli/src/utils/BatchChanges.js @@ -0,0 +1,50 @@ +/* + Copyright 2020 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. +*/ + +class BatchChanges { + constructor({ fn, context, minDelay }) { + this.fn = fn; + this.context = context; + this.delay = minDelay || 500; + this.minDelay = minDelay || 500; + this._call = this._call.bind(this); + } + + newChange() { + this.delay = this.minDelay; + this._startTimer(); + } + + _startTimer() { + if (this.timer) { + clearTimeout(this.timer); + } + this.timer = setTimeout(this._call, this.delay); + } + + async _call() { + try { + await this.fn(); + } catch (error) { + this.context.print.error(error.message, { timestamp: true }); + this.delay *= 2; + this.context.print.warn(`Retrying in ${this.delay / 1000}s.`, { timestamp: true }); + this._startTimer(); + } + } +} + +export default BatchChanges; diff --git a/packages/cli/src/utils/BatchChanges.test.js b/packages/cli/src/utils/BatchChanges.test.js new file mode 100644 index 000000000..88873aebc --- /dev/null +++ b/packages/cli/src/utils/BatchChanges.test.js @@ -0,0 +1,188 @@ +/* + Copyright 2020 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 BatchChanges from './BatchChanges'; + +async function wait(ms) { + return new Promise((resolve) => { + setTimeout(resolve, ms); + }); +} + +const context = {}; + +test('BatchChanges calls the provided sync function', async () => { + const fn = jest.fn(); + const batchChanges = new BatchChanges({ fn, context }); + batchChanges.newChange(); + await wait(600); + expect(fn).toHaveBeenCalledTimes(1); +}); + +test('BatchChanges calls the provided async function', async () => { + let done = false; + const fn = jest.fn(async () => { + await wait(100); + done = true; + }); + const batchChanges = new BatchChanges({ fn, context }); + batchChanges.newChange(); + await wait(550); + expect(fn).toHaveBeenCalledTimes(1); + expect(done).toBe(false); + await wait(70); + expect(done).toBe(true); +}); + +test('BatchChanges calls the provided sync function only once if newChange is called multiple times', async () => { + const fn = jest.fn(); + const batchChanges = new BatchChanges({ fn, context }); + batchChanges.newChange(); + batchChanges.newChange(); + batchChanges.newChange(); + await wait(600); + expect(fn).toHaveBeenCalledTimes(1); +}); + +test('BatchChanges has a default minDelay', async () => { + const fn = jest.fn(); + const batchChanges = new BatchChanges({ fn, context }); + expect(batchChanges.minDelay).toBe(500); + expect(batchChanges.delay).toBe(500); +}); + +test('BatchChanges set minDelay', async () => { + const fn = jest.fn(); + const batchChanges = new BatchChanges({ fn, context, minDelay: 42 }); + expect(batchChanges.minDelay).toBe(42); + expect(batchChanges.delay).toBe(42); +}); + +test('BatchChanges resets timer if newChange is called multiple times in delay window', async () => { + const fn = jest.fn(); + const batchChanges = new BatchChanges({ fn, context }); + batchChanges.newChange(); + await wait(400); + batchChanges.newChange(); + await wait(400); + batchChanges.newChange(); + await wait(600); + expect(fn).toHaveBeenCalledTimes(1); +}); + +test('BatchChanges retries on errors, with back-off', async () => { + let count = 0; + let success = false; + const context = { + print: { + error: jest.fn(), + warn: jest.fn(), + }, + }; + const fn = jest.fn(() => { + if (count > 1) { + success = true; + return; + } + count += 1; + throw new Error(`Error: ${count}`); + }); + const batchChanges = new BatchChanges({ fn, context, minDelay: 100 }); + batchChanges.newChange(); + await wait(120); + expect(fn).toHaveBeenCalledTimes(1); + expect(context.print.error.mock.calls).toEqual([ + [ + 'Error: 1', + { + timestamp: true, + }, + ], + ]); + expect(context.print.warn.mock.calls).toEqual([ + [ + 'Retrying in 0.2s.', + { + timestamp: true, + }, + ], + ]); + expect(batchChanges.delay).toBe(200); + expect(count).toBe(1); + await wait(200); + expect(fn).toHaveBeenCalledTimes(2); + expect(context.print.error.mock.calls).toEqual([ + [ + 'Error: 1', + { + timestamp: true, + }, + ], + [ + 'Error: 2', + { + timestamp: true, + }, + ], + ]); + expect(context.print.warn.mock.calls).toEqual([ + [ + 'Retrying in 0.2s.', + { + timestamp: true, + }, + ], + [ + 'Retrying in 0.4s.', + { + timestamp: true, + }, + ], + ]); + expect(batchChanges.delay).toBe(400); + expect(count).toBe(2); + await wait(400); + expect(fn).toHaveBeenCalledTimes(3); + expect(context.print.error.mock.calls).toEqual([ + [ + 'Error: 1', + { + timestamp: true, + }, + ], + [ + 'Error: 2', + { + timestamp: true, + }, + ], + ]); + expect(context.print.warn.mock.calls).toEqual([ + [ + 'Retrying in 0.2s.', + { + timestamp: true, + }, + ], + [ + 'Retrying in 0.4s.', + { + timestamp: true, + }, + ], + ]); + expect(success).toBe(true); +}); diff --git a/packages/cli/src/utils/context.js b/packages/cli/src/utils/context.js new file mode 100644 index 000000000..b7185c343 --- /dev/null +++ b/packages/cli/src/utils/context.js @@ -0,0 +1,32 @@ +/* + Copyright 2020 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 path from 'path'; +import getLowdefyVersion from './getLowdefyVersion'; +import createPrint from './print'; +import { cacheDirectoryPath } from './directories'; + +async function createContext(options = {}) { + const context = { + baseDirectory: path.resolve(options.baseDirectory || process.cwd()), + print: createPrint({ timestamp: true }), + }; + context.cacheDirectory = path.resolve(context.baseDirectory, cacheDirectoryPath); + context.version = await getLowdefyVersion(context); + return context; +} + +export default createContext; diff --git a/packages/cli/src/utils/context.test.js b/packages/cli/src/utils/context.test.js new file mode 100644 index 000000000..020ccf35d --- /dev/null +++ b/packages/cli/src/utils/context.test.js @@ -0,0 +1,55 @@ +/* + Copyright 2020 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 path from 'path'; +import createContext from './context'; +// eslint-disable-next-line no-unused-vars +import getLowdefyVersion from './getLowdefyVersion'; +// eslint-disable-next-line no-unused-vars +import createPrint from './print'; + +jest.mock('./getLowdefyVersion', () => async () => Promise.resolve('lowdefy-version')); +jest.mock('./print', () => () => 'print'); + +test('createContext, options undefined', async () => { + const context = await createContext(); + expect(context).toEqual({ + baseDirectory: path.resolve(process.cwd()), + cacheDirectory: path.resolve(process.cwd(), './.lowdefy/.cache'), + version: 'lowdefy-version', + print: 'print', + }); +}); + +test('createContext, options empty', async () => { + const context = await createContext({}); + expect(context).toEqual({ + baseDirectory: path.resolve(process.cwd()), + cacheDirectory: path.resolve(process.cwd(), './.lowdefy/.cache'), + version: 'lowdefy-version', + print: 'print', + }); +}); + +test('createContext, options baseDir', async () => { + const context = await createContext({ baseDirectory: 'baseDir' }); + expect(context).toEqual({ + baseDirectory: path.resolve(process.cwd(), 'baseDir'), + cacheDirectory: path.resolve(process.cwd(), 'baseDir/.lowdefy/.cache'), + version: 'lowdefy-version', + print: 'print', + }); +}); diff --git a/packages/cli/src/utils/directories.js b/packages/cli/src/utils/directories.js index ad6820e35..76c127959 100644 --- a/packages/cli/src/utils/directories.js +++ b/packages/cli/src/utils/directories.js @@ -1,3 +1,19 @@ +/* + Copyright 2020 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. +*/ + const cacheDirectoryPath = './.lowdefy/.cache'; const outputDirectoryPath = './.lowdefy/build'; diff --git a/packages/cli/src/utils/directories.test.js b/packages/cli/src/utils/directories.test.js new file mode 100644 index 000000000..772204cd5 --- /dev/null +++ b/packages/cli/src/utils/directories.test.js @@ -0,0 +1,24 @@ +/* + Copyright 2020 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 * as directories from './directories'; + +test('directories', () => { + expect(directories).toEqual({ + cacheDirectoryPath: './.lowdefy/.cache', + outputDirectoryPath: './.lowdefy/build', + }); +}); diff --git a/packages/cli/src/utils/errorHandler.js b/packages/cli/src/utils/errorHandler.js index 46f7f8a0f..88a686934 100644 --- a/packages/cli/src/utils/errorHandler.js +++ b/packages/cli/src/utils/errorHandler.js @@ -16,7 +16,7 @@ import createPrint from './print'; -function errorBoundary(fn, options = {}) { +function errorHandler(fn, options = {}) { async function run(...args) { try { const res = await fn(...args); @@ -24,12 +24,10 @@ function errorBoundary(fn, options = {}) { } catch (error) { const print = createPrint(); print.error(error.message); - if (!options.stayAlive) { - process.exit(); - } + // TODO: Stay alive feature } } return run; } -export default errorBoundary; +export default errorHandler; diff --git a/packages/cli/src/utils/errorHandler.test.js b/packages/cli/src/utils/errorHandler.test.js index 2b7736ba3..77396a20d 100644 --- a/packages/cli/src/utils/errorHandler.test.js +++ b/packages/cli/src/utils/errorHandler.test.js @@ -62,33 +62,7 @@ test('Pass args to synchronous function', async () => { expect(res).toEqual({ arg1: '1', arg2: '2' }); }); -test('Catch error synchronous function, stay alive', async () => { - const fn = jest.fn(() => { - throw new Error('Error'); - }); - const wrapped = errorHandler(fn, { stayAlive: true }); - const res = await wrapped(); - expect(res).toBe(undefined); - expect(fn).toHaveBeenCalled(); - expect(print.error.mock.calls).toEqual([['Error']]); -}); - -test('Catch error asynchronous function, stay alive', async () => { - const fn = jest.fn(async () => { - await wait(3); - throw new Error('Async Error'); - }); - const wrapped = errorHandler(fn, { stayAlive: true }); - const res = await wrapped(); - expect(res).toBe(undefined); - expect(fn).toHaveBeenCalled(); - expect(print.error.mock.calls).toEqual([['Async Error']]); -}); - -test('Catch error synchronous function, exit process', async () => { - const realExit = process.exit; - const mockExit = jest.fn(); - process.exit = mockExit; +test('Catch error synchronous function', async () => { const fn = jest.fn(() => { throw new Error('Error'); }); @@ -96,14 +70,9 @@ test('Catch error synchronous function, exit process', async () => { await wrapped(); expect(fn).toHaveBeenCalled(); expect(print.error.mock.calls).toEqual([['Error']]); - expect(mockExit).toHaveBeenCalled(); - process.exit = realExit; }); -test('Catch error asynchronous function, exit process', async () => { - const realExit = process.exit; - const mockExit = jest.fn(); - process.exit = mockExit; +test('Catch error asynchronous function', async () => { const fn = jest.fn(async () => { await wait(3); throw new Error('Async Error'); @@ -112,6 +81,27 @@ test('Catch error asynchronous function, exit process', async () => { await wrapped(); expect(fn).toHaveBeenCalled(); expect(print.error.mock.calls).toEqual([['Async Error']]); - expect(mockExit).toHaveBeenCalled(); - process.exit = realExit; }); + +// test('Catch error synchronous function, stay alive', async () => { +// const fn = jest.fn(() => { +// throw new Error('Error'); +// }); +// const wrapped = errorHandler(fn, { stayAlive: true }); +// const res = await wrapped(); +// expect(res).toBe(undefined); +// expect(fn).toHaveBeenCalled(); +// expect(print.error.mock.calls).toEqual([['Error']]); +// }); + +// test('Catch error asynchronous function, stay alive', async () => { +// const fn = jest.fn(async () => { +// await wait(3); +// throw new Error('Async Error'); +// }); +// const wrapped = errorHandler(fn, { stayAlive: true }); +// const res = await wrapped(); +// expect(res).toBe(undefined); +// expect(fn).toHaveBeenCalled(); +// expect(print.error.mock.calls).toEqual([['Async Error']]); +// }); diff --git a/packages/cli/src/utils/getLowdefyVersion.js b/packages/cli/src/utils/getLowdefyVersion.js index ca24ef2fa..5233c3e28 100644 --- a/packages/cli/src/utils/getLowdefyVersion.js +++ b/packages/cli/src/utils/getLowdefyVersion.js @@ -19,12 +19,14 @@ import { type } from '@lowdefy/helpers'; import { readFile } from '@lowdefy/node-utils'; import YAML from 'js-yaml'; -async function getLowdefyVersion(baseDirectory) { - const lowdefyYaml = await readFile(path.resolve(baseDirectory || process.cwd(), 'lowdefy.yaml')); +async function getLowdefyVersion(context = {}) { + const lowdefyYaml = await readFile( + path.resolve(context.baseDirectory || process.cwd(), 'lowdefy.yaml') + ); if (!lowdefyYaml) { - if (baseDirectory) { + if (context.baseDirectory) { throw new Error( - `Could not find "lowdefy.yaml" file in specified base directory ${baseDirectory}.` + `Could not find "lowdefy.yaml" file in specified base directory ${context.baseDirectory}.` ); } throw new Error( diff --git a/packages/cli/src/utils/getLowdefyVersion.test.js b/packages/cli/src/utils/getLowdefyVersion.test.js index 637524144..ca75f73a3 100644 --- a/packages/cli/src/utils/getLowdefyVersion.test.js +++ b/packages/cli/src/utils/getLowdefyVersion.test.js @@ -30,6 +30,19 @@ beforeEach(() => { }); test('get version from yaml file', async () => { + readFile.mockImplementation((filePath) => { + if (filePath === path.resolve(process.cwd(), 'lowdefy.yaml')) { + return ` + version: 1.0.0 + `; + } + return null; + }); + const version = await getLowdefyVersion({}); + expect(version).toEqual('1.0.0'); +}); + +test('get version from yaml file, context default value', async () => { readFile.mockImplementation((filePath) => { if (filePath === path.resolve(process.cwd(), 'lowdefy.yaml')) { return ` @@ -51,7 +64,7 @@ test('get version from yaml file, base dir specified', async () => { } return null; }); - const version = await getLowdefyVersion('./baseDir'); + const version = await getLowdefyVersion({ baseDirectory: './baseDir' }); expect(version).toEqual('1.0.0'); }); @@ -64,7 +77,7 @@ test('could not find lowdefy.yaml in cwd', async () => { version: 1.0.0 `; }); - await expect(getLowdefyVersion()).rejects.toThrow( + await expect(getLowdefyVersion({})).rejects.toThrow( 'Could not find "lowdefy.yaml" file in current working directory. Change directory to a Lowdefy project, or specify a base directory.' ); }); @@ -78,7 +91,7 @@ test('could not find lowdefy.yaml in base dir', async () => { version: 1.0.0 `; }); - await expect(getLowdefyVersion('./baseDir')).rejects.toThrow( + await expect(getLowdefyVersion({ baseDirectory: './baseDir' })).rejects.toThrow( 'Could not find "lowdefy.yaml" file in specified base directory' ); }); @@ -94,7 +107,7 @@ test('lowdefy.yaml is invalid yaml', async () => { } return null; }); - await expect(getLowdefyVersion()).rejects.toThrow( + await expect(getLowdefyVersion({})).rejects.toThrow( 'Could not parse "lowdefy.yaml" file. Received error ' ); }); @@ -110,7 +123,7 @@ test('No version specified', async () => { } return null; }); - await expect(getLowdefyVersion()).rejects.toThrow( + await expect(getLowdefyVersion({})).rejects.toThrow( 'No version specified in "lowdefy.yaml" file. Specify a version in the "version field".' ); }); @@ -124,7 +137,7 @@ test('Version is not a string', async () => { } return null; }); - await expect(getLowdefyVersion()).rejects.toThrow( + await expect(getLowdefyVersion({})).rejects.toThrow( 'Version number specified in "lowdefy.yaml" file is not valid. Received 1.' ); }); @@ -138,7 +151,7 @@ test('Version is not a valid version number', async () => { } return null; }); - await expect(getLowdefyVersion()).rejects.toThrow( + await expect(getLowdefyVersion({})).rejects.toThrow( 'Version number specified in "lowdefy.yaml" file is not valid. Received "v1-0-3".' ); }); diff --git a/packages/cli/src/utils/print.js b/packages/cli/src/utils/print.js index 692bec468..1441f409c 100644 --- a/packages/cli/src/utils/print.js +++ b/packages/cli/src/utils/print.js @@ -19,17 +19,17 @@ import chalk from 'chalk'; const printToTerminal = (color, options = {}) => (text) => { let message; if (options.timestamp) { - const time = options.timestamp === true ? new Date(Date.now()) : new Date(options.timestamp); + const time = new Date(Date.now()); const h = time.getHours(); const m = time.getMinutes(); const s = time.getSeconds(); const timeString = `${h > 9 ? '' : '0'}${h}:${m > 9 ? '' : '0'}${m}:${s > 9 ? '' : '0'}${s}`; - message = `${timeString} - ${text}`; + message = `${chalk.dim(timeString)} - ${color(text)}`; } else { - message = text; + message = color(text); } // eslint-disable-next-line no-console - console.log(color(message)); + console.log(message); }; const createPrint = (options) => ({ diff --git a/packages/cli/src/utils/print.test.js b/packages/cli/src/utils/print.test.js new file mode 100644 index 000000000..79db09e89 --- /dev/null +++ b/packages/cli/src/utils/print.test.js @@ -0,0 +1,153 @@ +/* + Copyright 2020 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 createPrint from './print'; + +const mockConsoleLog = jest.fn(); +const mockGetHours = jest.fn(); +const mockGetMinutes = jest.fn(); +const mockGetSeconds = jest.fn(); +// const realLog = console.log; +// const realNow = Date.now; +console.log = mockConsoleLog; +// eslint-disable-next-line no-global-assign +Date = jest.fn(() => ({ + getHours: mockGetHours, + getMinutes: mockGetMinutes, + getSeconds: mockGetSeconds, +})); + +Date.now = () => {}; + +beforeEach(() => { + mockConsoleLog.mockReset(); + mockGetHours.mockReset(); + mockGetMinutes.mockReset(); + mockGetSeconds.mockReset(); +}); + +// afterAll(() => { +// console.log = realLog; +// Date.now = realNow; +// }); + +test('create print', () => { + const print = createPrint(); + expect(print).toMatchInlineSnapshot(` + Object { + "error": [Function], + "info": [Function], + "log": [Function], + "warn": [Function], + } + `); +}); + +test('print info', () => { + const print = createPrint(); + print.info('Test info'); + expect(mockConsoleLog.mock.calls).toEqual([['Test info']]); +}); + +test('print log', () => { + const print = createPrint(); + print.log('Test log'); + expect(mockConsoleLog.mock.calls).toEqual([['Test log']]); +}); + +test('print warn', () => { + const print = createPrint(); + print.warn('Test warn'); + expect(mockConsoleLog.mock.calls).toEqual([['Test warn']]); +}); + +test('print error', () => { + const print = createPrint(); + print.error('Test error'); + expect(mockConsoleLog.mock.calls).toEqual([['Test error']]); +}); + +test('print info with timestamp, less than 10', () => { + mockGetHours.mockImplementation(() => 1); + mockGetMinutes.mockImplementation(() => 2); + mockGetSeconds.mockImplementation(() => 3); + const print = createPrint({ timestamp: true }); + print.info('Test info'); + expect(mockConsoleLog.mock.calls).toEqual([['01:02:03 - Test info']]); +}); + +test('print log with timestamp, less than 10', () => { + mockGetHours.mockImplementation(() => 1); + mockGetMinutes.mockImplementation(() => 2); + mockGetSeconds.mockImplementation(() => 3); + const print = createPrint({ timestamp: true }); + print.log('Test log'); + expect(mockConsoleLog.mock.calls).toEqual([['01:02:03 - Test log']]); +}); + +test('print warn with timestamp, less than 10', () => { + mockGetHours.mockImplementation(() => 1); + mockGetMinutes.mockImplementation(() => 2); + mockGetSeconds.mockImplementation(() => 3); + const print = createPrint({ timestamp: true }); + print.warn('Test warn'); + expect(mockConsoleLog.mock.calls).toEqual([['01:02:03 - Test warn']]); +}); + +test('print error with timestamp, less than 10', () => { + mockGetHours.mockImplementation(() => 1); + mockGetMinutes.mockImplementation(() => 2); + mockGetSeconds.mockImplementation(() => 3); + const print = createPrint({ timestamp: true }); + print.error('Test error'); + expect(mockConsoleLog.mock.calls).toEqual([['01:02:03 - Test error']]); +}); + +test('print info with timestamp, two digits', () => { + mockGetHours.mockImplementation(() => 11); + mockGetMinutes.mockImplementation(() => 22); + mockGetSeconds.mockImplementation(() => 33); + const print = createPrint({ timestamp: true }); + print.info('Test info'); + expect(mockConsoleLog.mock.calls).toEqual([['11:22:33 - Test info']]); +}); + +test('print log with timestamp, two digits', () => { + mockGetHours.mockImplementation(() => 11); + mockGetMinutes.mockImplementation(() => 22); + mockGetSeconds.mockImplementation(() => 33); + const print = createPrint({ timestamp: true }); + print.log('Test log'); + expect(mockConsoleLog.mock.calls).toEqual([['11:22:33 - Test log']]); +}); + +test('print warn with timestamp, two digits', () => { + mockGetHours.mockImplementation(() => 11); + mockGetMinutes.mockImplementation(() => 22); + mockGetSeconds.mockImplementation(() => 33); + const print = createPrint({ timestamp: true }); + print.warn('Test warn'); + expect(mockConsoleLog.mock.calls).toEqual([['11:22:33 - Test warn']]); +}); + +test('print error with timestamp, two digits', () => { + mockGetHours.mockImplementation(() => 11); + mockGetMinutes.mockImplementation(() => 22); + mockGetSeconds.mockImplementation(() => 33); + const print = createPrint({ timestamp: true }); + print.error('Test error'); + expect(mockConsoleLog.mock.calls).toEqual([['11:22:33 - Test error']]); +}); diff --git a/packages/cli/webpack.config.js b/packages/cli/webpack.config.js index 0ee381227..0f040d2b4 100644 --- a/packages/cli/webpack.config.js +++ b/packages/cli/webpack.config.js @@ -1,50 +1,113 @@ const path = require('path'); const webpack = require('webpack'); +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); const { ModuleFederationPlugin } = require('webpack').container; const { dependencies, devDependencies } = require('./package.json'); -module.exports = { - entry: './src/index.js', - output: { - filename: 'index.js', - path: path.resolve(__dirname, 'dist'), - libraryTarget: 'commonjs', - }, - mode: 'production', - target: 'node', - node: false, - externals: Object.keys({ ...dependencies, ...devDependencies }), - module: { - rules: [ - { - test: /\.m?js$/, - exclude: /node_modules/, - use: { - loader: 'babel-loader', - options: { - presets: [ - [ - '@babel/preset-env', - { - targets: { - node: '12', +module.exports = [ + // CLI + { + entry: './src/index.js', + output: { + filename: 'index.js', + path: path.resolve(__dirname, 'dist'), + libraryTarget: 'commonjs', + }, + mode: 'production', + target: 'node', + node: false, + externals: Object.keys({ ...dependencies, ...devDependencies }), + module: { + rules: [ + { + test: /\.m?js$/, + exclude: /node_modules/, + use: { + loader: 'babel-loader', + options: { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: '12', + }, }, - }, + ], ], - ], + }, }, }, - }, + ], + }, + plugins: [ + // new CleanWebpackPlugin(), + new webpack.BannerPlugin({ banner: '#!/usr/bin/env node', raw: true }), + new ModuleFederationPlugin({ + name: 'cli', + filename: 'remoteEntry.js', + remotes: {}, + exposes: {}, + shared: dependencies, + }), ], }, - plugins: [ - new webpack.BannerPlugin({ banner: '#!/usr/bin/env node', raw: true }), - new ModuleFederationPlugin({ - name: 'cli', - filename: 'remoteEntry.js', - remotes: {}, - exposes: {}, - shared: dependencies, - }), - ], -}; + // Shell web app + { + entry: './src/commands/dev/shell/index.js', + output: { + filename: 'index.js', + path: path.resolve(__dirname, 'dist/shell'), + }, + mode: 'development', + module: { + rules: [ + { + test: /\.jsx?$/, + loader: 'babel-loader', + exclude: /node_modules/, + options: { + presets: ['@babel/preset-react'], + }, + }, + { + test: /\.css$/, + use: [ + { + loader: 'style-loader', + }, + { + loader: 'css-loader', // translates CSS into CommonJS + }, + ], + }, + ], + }, + plugins: [ + // new CleanWebpackPlugin(), + new ModuleFederationPlugin({ + name: 'lowdefy_web_shell', + shared: { + ...dependencies, + react: { + singleton: true, // only a single version of the shared module is allowed + requiredVersion: '~17.0.0', + version: dependencies.react, + }, + 'react-dom': { + singleton: true, // only a single version of the shared module is allowed + requiredVersion: '~17.0.0', + version: dependencies['react-dom'], + }, + }, + }), + new HtmlWebpackPlugin({ + template: './src/commands/dev/shell/index.html', + }), + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify('production'), + }), + ], + }, +]; diff --git a/packages/engine/package.json b/packages/engine/package.json index cd9c1680d..ef943747f 100644 --- a/packages/engine/package.json +++ b/packages/engine/package.json @@ -1,6 +1,6 @@ { "name": "@lowdefy/engine", - "version": "0.0.0-experimental.0", + "version": "0.0.0-alpha.2", "licence": "Apache-2.0", "description": "", "homepage": "https://lowdefy.com", diff --git a/packages/express/config/pages/page1.json b/packages/express/config/pages/page1.json deleted file mode 100644 index 32823fac7..000000000 --- a/packages/express/config/pages/page1.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "id": "block:page1:page1", - "blockId": "page1", - "type": "Context", - "meta": { - "url": "http://localhost:3002/remoteEntry.js", - "scope": "lowdefy_blocks_antd", - "module": "Context", - "category": "context" - }, - "areas": { - "content": { - "blocks": [ - { - "id": "block:page1:btn", - "blockId": "btn", - "meta": { - "url": "http://localhost:3002/remoteEntry.js", - "scope": "lowdefy_blocks_antd", - "module": "Button", - "category": "display", - "loading": { - "type": "SkeletonButton" - } - }, - "type": "Button" - } - ] - } - } -} diff --git a/packages/graphql/package.json b/packages/graphql/package.json index 94a56a526..51c8d6380 100644 --- a/packages/graphql/package.json +++ b/packages/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@lowdefy/graphql", - "version": "0.0.0-experimental.0", + "version": "0.0.0-alpha.2", "licence": "Apache-2.0", "description": "", "homepage": "https://lowdefy.com", @@ -28,8 +28,9 @@ "scripts": { "build": "yarn webpack", "clean": "rm -rf dist", - "webpack": "webpack --config webpack.config.js", + "npm-publish": "npm publish --access public", "test": "jest --coverage", + "webpack": "webpack --config webpack.config.js", "version:prerelease": "yarn version prerelease", "version:patch": "yarn version patch -d", "version:minor": "yarn version minor -d", @@ -50,6 +51,7 @@ "apollo-server-testing": "2.18.2", "babel-jest": "26.6.1", "babel-loader": "8.1.0", + "clean-webpack-plugin": "3.0.0", "jest": "26.6.1", "webpack": "5.3.2", "webpack-cli": "4.1.0" diff --git a/packages/graphql/webpack.config.js b/packages/graphql/webpack.config.js index 3177f67df..5570daf44 100644 --- a/packages/graphql/webpack.config.js +++ b/packages/graphql/webpack.config.js @@ -1,37 +1,88 @@ const path = require('path'); +const { ModuleFederationPlugin } = require('webpack').container; +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const { dependencies, devDependencies } = require('./package.json'); -module.exports = { - entry: './src/index.js', - output: { - filename: 'index.js', - path: path.resolve(__dirname, 'dist'), - libraryTarget: 'commonjs', - }, - mode: 'production', - target: 'node', - node: false, - externals: Object.keys({ ...dependencies, ...devDependencies }), - module: { - rules: [ - { - test: /\.m?js$/, - use: { - loader: 'babel-loader', - options: { - presets: [ - [ - '@babel/preset-env', - { - targets: { - node: '12', +module.exports = [ + { + entry: './src/index.js', + output: { + filename: 'index.js', + path: path.resolve(__dirname, 'dist'), + libraryTarget: 'commonjs', + }, + mode: 'production', + target: 'node', + node: false, + externals: { ...dependencies, ...devDependencies }, + module: { + rules: [ + { + test: /\.m?js$/, + use: { + loader: 'babel-loader', + options: { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: '12', + }, }, - }, + ], ], - ], + }, }, }, - }, + ], + }, + plugins: [new CleanWebpackPlugin()], + }, + { + entry: './src/index.js', + output: { + filename: 'index.js', + path: path.resolve(__dirname, 'dist/moduleFederation'), + libraryTarget: 'commonjs', + }, + mode: 'production', + target: 'node', + node: false, + externals: ['fs', 'path'], + module: { + rules: [ + { + test: /\.m?js$/, + use: { + loader: 'babel-loader', + options: { + presets: [ + [ + '@babel/preset-env', + { + targets: { + node: '12', + }, + }, + ], + ], + }, + }, + }, + ], + }, + plugins: [ + new CleanWebpackPlugin(), + new ModuleFederationPlugin({ + name: 'graphql', + library: { type: 'commonjs' }, + filename: 'remoteEntry.js', + exposes: { + './graphql': './src/index.js', + }, + shared: dependencies, + }), ], }, -}; +]; diff --git a/packages/layout/package.json b/packages/layout/package.json index e446f2556..42c1dee6f 100644 --- a/packages/layout/package.json +++ b/packages/layout/package.json @@ -56,6 +56,7 @@ "babel-loader": "8.1.0", "babel-plugin-import": "1.13.1", "buffer": "5.7.0", + "clean-webpack-plugin": "3.0.0", "css-loader": "5.0.0", "html-webpack-plugin": "4.5.0", "identity-obj-proxy": "3.0.0", diff --git a/packages/layout/webpack.config.js b/packages/layout/webpack.config.js index b5011b39f..74a2887f9 100644 --- a/packages/layout/webpack.config.js +++ b/packages/layout/webpack.config.js @@ -1,3 +1,4 @@ +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const path = require('path'); const webpack = require('webpack'); @@ -81,6 +82,7 @@ module.exports = { ], }, plugins: [ + new CleanWebpackPlugin(), new webpack.ProvidePlugin({ Buffer: ['buffer', 'Buffer'] }), new webpack.ProvidePlugin({ process: ['process'] }), new HtmlWebpackPlugin({ diff --git a/packages/renderer/package.json b/packages/renderer/package.json index 3801f7f3c..6c9c83a8c 100644 --- a/packages/renderer/package.json +++ b/packages/renderer/package.json @@ -1,6 +1,6 @@ { "name": "@lowdefy/renderer", - "version": "0.0.0-experimental.1", + "version": "0.0.0-alpha.2", "licence": "Apache-2.0", "description": "", "homepage": "https://lowdefy.com", @@ -28,6 +28,7 @@ "scripts": { "build": "webpack --config webpack.prod.js", "clean": "rm -rf dist", + "npm-publish": "npm publish --access public", "prepublishOnly": "yarn build", "start": "serve dist -p 3001", "dev": "webpack serve --config webpack.dev.js", @@ -42,7 +43,7 @@ "@apollo/link-error": "2.0.0-beta.3", "@apollo/link-retry": "2.0.0-beta.3", "@lowdefy/block-tools": "1.0.1-alpha.13", - "@lowdefy/engine": "0.0.0-experimental.0", + "@lowdefy/engine": "0.0.0-alpha.1", "@lowdefy/helpers": "1.1.0", "@lowdefy/layout": "1.0.0", "graphql": "15.4.0", @@ -56,6 +57,7 @@ "@babel/core": "7.12.3", "@babel/preset-react": "7.12.1", "babel-loader": "8.1.0", + "clean-webpack-plugin": "3.0.0", "css-loader": "5.0.0", "html-webpack-plugin": "4.5.0", "serve": "11.3.2", diff --git a/packages/renderer/src/page/Page.js b/packages/renderer/src/page/Page.js index 886a5bcc8..72480b412 100644 --- a/packages/renderer/src/page/Page.js +++ b/packages/renderer/src/page/Page.js @@ -51,6 +51,15 @@ const PageContext = ({ rootContext }) => { } // redirect 404 if (!data.page) return ; + + // Prefetch all prefetchPages to Apollo cache + get(data.page, 'properties.prefetchPages', { default: [] }).map((fetchPageId) => + rootContext.client.query({ + query: GET_PAGE, + variables: { id: fetchPageId }, + }) + ); + return ( <> diff --git a/packages/renderer/webpack.common.js b/packages/renderer/webpack.common.js index e1673d9b4..7427e56cd 100644 --- a/packages/renderer/webpack.common.js +++ b/packages/renderer/webpack.common.js @@ -1,3 +1,4 @@ +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const { ModuleFederationPlugin } = require('webpack').container; const webpack = require('webpack'); @@ -50,6 +51,7 @@ module.exports = { ], }, plugins: [ + new CleanWebpackPlugin(), new ModuleFederationPlugin({ name: 'lowdefy_renderer', library: { type: 'var', name: 'lowdefy_renderer' }, diff --git a/packages/express/package.json b/packages/server/package.json similarity index 91% rename from packages/express/package.json rename to packages/server/package.json index 7a41dda6c..02811ba49 100644 --- a/packages/express/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { - "name": "@lowdefy/express", - "version": "0.0.0-experimental.0", + "name": "@lowdefy/server", + "version": "0.0.0-alpha-1", "license": "Apache-2.0", "description": "", "homepage": "https://lowdefy.com", @@ -34,7 +34,7 @@ }, "dependencies": { "@lowdefy/block-tools": "1.0.1-alpha.13", - "@lowdefy/graphql": "0.0.0-experimental.0", + "@lowdefy/graphql": "0.0.0-alpha.1", "apollo-server-express": "2.18.2", "express": "4.17.1", "graphql": "15.4.0", @@ -46,6 +46,7 @@ "@babel/core": "7.12.3", "@babel/preset-react": "7.12.1", "babel-loader": "8.1.0", + "clean-webpack-plugin": "3.0.0", "css-loader": "5.0.0", "html-webpack-plugin": "4.5.0", "style-loader": "2.0.0", diff --git a/packages/express/server.js b/packages/server/server.js similarity index 100% rename from packages/express/server.js rename to packages/server/server.js diff --git a/packages/express/shell/public/index.html b/packages/server/shell/public/index.html similarity index 100% rename from packages/express/shell/public/index.html rename to packages/server/shell/public/index.html diff --git a/packages/express/shell/src/Shell.js b/packages/server/shell/src/Shell.js similarity index 95% rename from packages/express/shell/src/Shell.js rename to packages/server/shell/src/Shell.js index 1955652fe..eeb9c8a4c 100644 --- a/packages/express/shell/src/Shell.js +++ b/packages/server/shell/src/Shell.js @@ -21,7 +21,7 @@ import useDynamicScript from './utils/useDynamicScript'; function Engine() { const { ready, failed } = useDynamicScript({ - url: 'http://localhost:3001/remoteEntry.js', + url: 'http://unpkg.com/@lowdefy/renderer/dist/remoteEntry.js', }); if (!ready) { diff --git a/packages/express/shell/src/bootstrap.js b/packages/server/shell/src/bootstrap.js similarity index 100% rename from packages/express/shell/src/bootstrap.js rename to packages/server/shell/src/bootstrap.js diff --git a/packages/server/shell/src/index.js b/packages/server/shell/src/index.js new file mode 100644 index 000000000..1974cd47b --- /dev/null +++ b/packages/server/shell/src/index.js @@ -0,0 +1,17 @@ +/* +Copyright 2020 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'); diff --git a/packages/express/shell/src/utils/loadComponent.js b/packages/server/shell/src/utils/loadComponent.js similarity index 100% rename from packages/express/shell/src/utils/loadComponent.js rename to packages/server/shell/src/utils/loadComponent.js diff --git a/packages/express/shell/src/utils/useDynamicScript.js b/packages/server/shell/src/utils/useDynamicScript.js similarity index 100% rename from packages/express/shell/src/utils/useDynamicScript.js rename to packages/server/shell/src/utils/useDynamicScript.js diff --git a/packages/express/webpack.common.js b/packages/server/webpack.common.js similarity index 93% rename from packages/express/webpack.common.js rename to packages/server/webpack.common.js index b748defd9..91f0f34be 100644 --- a/packages/express/webpack.common.js +++ b/packages/server/webpack.common.js @@ -1,3 +1,4 @@ +const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const { ModuleFederationPlugin } = require('webpack').container; const path = require('path'); @@ -33,6 +34,7 @@ module.exports = { ], }, plugins: [ + new CleanWebpackPlugin(), new ModuleFederationPlugin({ name: 'lowdefy_web_shell', shared: { diff --git a/packages/express/webpack.dev.js b/packages/server/webpack.dev.js similarity index 100% rename from packages/express/webpack.dev.js rename to packages/server/webpack.dev.js diff --git a/packages/express/webpack.prod.js b/packages/server/webpack.prod.js similarity index 100% rename from packages/express/webpack.prod.js rename to packages/server/webpack.prod.js diff --git a/yarn.lock b/yarn.lock index 1fd7132f8..6ec1b559c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2810,6 +2810,7 @@ __metadata: babel-loader: 8.1.0 babel-plugin-import: 1.13.1 buffer: 5.7.0 + clean-webpack-plugin: 3.0.0 create-emotion: 10.0.27 css-loader: 5.0.0 enzyme: 3.11.0 @@ -2832,7 +2833,21 @@ __metadata: languageName: unknown linkType: soft -"@lowdefy/build@0.0.0-experimental.0, @lowdefy/build@workspace:packages/build": +"@lowdefy/block-tools@npm:1.0.1-alpha.9": + version: 1.0.1-alpha.9 + resolution: "@lowdefy/block-tools@npm:1.0.1-alpha.9" + dependencies: + "@lowdefy/helpers": 1.1.0 + ajv: 6.12.6 + ajv-errors: 1.0.1 + create-emotion: 10.0.27 + react: 17.0.1 + react-dom: 17.0.1 + checksum: 1283256de9c9035d806822ff66cdf2056a9d0068a2b31004effa5e07f3a80e20ee3eeea3f0fe83db0212f00dbe1ae276a81ee1ddabf80383a3290ef585521536 + languageName: node + linkType: hard + +"@lowdefy/build@workspace:packages/build": version: 0.0.0-use.local resolution: "@lowdefy/build@workspace:packages/build" dependencies: @@ -2846,6 +2861,7 @@ __metadata: axios: 0.21.0 babel-jest: 26.6.1 babel-loader: 8.1.0 + clean-webpack-plugin: 3.0.0 dataloader: 2.0.0 jest: 26.6.1 js-yaml: 3.14.0 @@ -2863,20 +2879,32 @@ __metadata: "@babel/cli": 7.12.1 "@babel/core": 7.12.3 "@babel/preset-env": 7.12.1 - "@lowdefy/build": 0.0.0-experimental.0 + "@babel/preset-react": 7.12.1 + "@lowdefy/block-tools": 1.0.1-alpha.9 "@lowdefy/helpers": 1.1.0 "@lowdefy/node-utils": 1.0.0 + apollo-server-express: 2.18.2 axios: 0.21.0 babel-jest: 26.5.2 babel-loader: 8.1.0 chalk: 4.1.0 chokidar: 3.4.3 + clean-webpack-plugin: 3.0.0 commander: 6.2.0 + css-loader: 5.0.0 decompress: 4.2.1 decompress-targz: 4.1.1 + express: 4.17.1 + graphql: 15.4.0 + html-webpack-plugin: 4.5.0 inquirer: 7.3.3 jest: 26.5.3 js-yaml: 3.14.0 + opener: 1.5.2 + react: 17.0.1 + react-dom: 17.0.1 + reload: 3.1.1 + style-loader: 2.0.0 webpack: 5.3.2 webpack-cli: 4.0.0 bin: @@ -2897,7 +2925,19 @@ __metadata: languageName: unknown linkType: soft -"@lowdefy/engine@0.0.0-experimental.0, @lowdefy/engine@workspace:packages/engine": +"@lowdefy/engine@npm:0.0.0-alpha.1": + version: 0.0.0-alpha.1 + resolution: "@lowdefy/engine@npm:0.0.0-alpha.1" + dependencies: + "@lowdefy/helpers": 1.1.0 + "@lowdefy/operators": 1.0.0 + graphql: 15.4.0 + graphql-tag: 2.11.0 + checksum: 096f56708ed0f01a2eed998f72d35195ea8c8b1024e8bd12954be679e254f29ae097f0fa57da88804403d81bb662d967a12f801470eecd0e60e0f9554c154f17 + languageName: node + linkType: hard + +"@lowdefy/engine@workspace:packages/engine": version: 0.0.0-use.local resolution: "@lowdefy/engine@workspace:packages/engine" dependencies: @@ -2913,31 +2953,6 @@ __metadata: languageName: unknown linkType: soft -"@lowdefy/express@workspace:packages/express": - version: 0.0.0-use.local - resolution: "@lowdefy/express@workspace:packages/express" - dependencies: - "@babel/core": 7.12.3 - "@babel/preset-react": 7.12.1 - "@lowdefy/block-tools": 1.0.1-alpha.13 - "@lowdefy/graphql": 0.0.0-experimental.0 - apollo-server-express: 2.18.2 - babel-loader: 8.1.0 - css-loader: 5.0.0 - express: 4.17.1 - graphql: 15.4.0 - html-webpack-plugin: 4.5.0 - nodemon: 2.0.6 - react: 17.0.1 - react-dom: 17.0.1 - style-loader: 2.0.0 - webpack: 5.3.2 - webpack-cli: 4.1.0 - webpack-dev-server: 3.11.0 - webpack-merge: 5.2.0 - languageName: unknown - linkType: soft - "@lowdefy/format@workspace:packages/format": version: 0.0.0-use.local resolution: "@lowdefy/format@workspace:packages/format" @@ -2951,7 +2966,21 @@ __metadata: languageName: unknown linkType: soft -"@lowdefy/graphql@0.0.0-experimental.0, @lowdefy/graphql@workspace:packages/graphql": +"@lowdefy/graphql@npm:0.0.0-alpha.1": + version: 0.0.0-alpha.1 + resolution: "@lowdefy/graphql@npm:0.0.0-alpha.1" + dependencies: + "@lowdefy/helpers": 1.1.0 + "@lowdefy/node-utils": 1.0.0 + apollo-server: 2.18.2 + dataloader: 2.0.0 + graphql: 15.4.0 + graphql-type-json: 0.3.2 + checksum: 877635c0c91b5ae792d8ffa210592bf10e0161a0c97fcfa7ed6f7ab4f781a3fa68bbf2496a067f448da168547d2a7db85eac7f981957622eb29cef9c924864a2 + languageName: node + linkType: hard + +"@lowdefy/graphql@workspace:packages/graphql": version: 0.0.0-use.local resolution: "@lowdefy/graphql@workspace:packages/graphql" dependencies: @@ -2964,6 +2993,7 @@ __metadata: apollo-server-testing: 2.18.2 babel-jest: 26.6.1 babel-loader: 8.1.0 + clean-webpack-plugin: 3.0.0 dataloader: 2.0.0 graphql: 15.4.0 graphql-type-json: 0.3.2 @@ -3003,6 +3033,7 @@ __metadata: babel-loader: 8.1.0 babel-plugin-import: 1.13.1 buffer: 5.7.0 + clean-webpack-plugin: 3.0.0 css-loader: 5.0.0 html-webpack-plugin: 4.5.0 identity-obj-proxy: 3.0.0 @@ -3101,10 +3132,11 @@ __metadata: "@babel/core": 7.12.3 "@babel/preset-react": 7.12.1 "@lowdefy/block-tools": 1.0.1-alpha.13 - "@lowdefy/engine": 0.0.0-experimental.0 + "@lowdefy/engine": 0.0.0-alpha.1 "@lowdefy/helpers": 1.1.0 "@lowdefy/layout": 1.0.0 babel-loader: 8.1.0 + clean-webpack-plugin: 3.0.0 css-loader: 5.0.0 graphql: 15.4.0 graphql-type-json: 0.3.2 @@ -3122,6 +3154,32 @@ __metadata: languageName: unknown linkType: soft +"@lowdefy/server@workspace:packages/server": + version: 0.0.0-use.local + resolution: "@lowdefy/server@workspace:packages/server" + dependencies: + "@babel/core": 7.12.3 + "@babel/preset-react": 7.12.1 + "@lowdefy/block-tools": 1.0.1-alpha.13 + "@lowdefy/graphql": 0.0.0-alpha.1 + apollo-server-express: 2.18.2 + babel-loader: 8.1.0 + clean-webpack-plugin: 3.0.0 + css-loader: 5.0.0 + express: 4.17.1 + graphql: 15.4.0 + html-webpack-plugin: 4.5.0 + nodemon: 2.0.6 + react: 17.0.1 + react-dom: 17.0.1 + style-loader: 2.0.0 + webpack: 5.3.2 + webpack-cli: 4.1.0 + webpack-dev-server: 3.11.0 + webpack-merge: 5.2.0 + languageName: unknown + linkType: soft + "@mrmlnc/readdir-enhanced@npm:^2.2.1": version: 2.2.1 resolution: "@mrmlnc/readdir-enhanced@npm:2.2.1" @@ -3536,14 +3594,14 @@ __metadata: linkType: hard "@types/cookies@npm:*": - version: 0.7.4 - resolution: "@types/cookies@npm:0.7.4" + version: 0.7.5 + resolution: "@types/cookies@npm:0.7.5" dependencies: "@types/connect": "*" "@types/express": "*" "@types/keygrip": "*" "@types/node": "*" - checksum: 641b1f5122a90914224784c23b7cd16434578255996abe6ef944c76e76839d5d6b124fec38c44a41e6855a49b926df3296c91c40fc54116638826783998ecc03 + checksum: 913d972d89383bd28f6ec5ab4b4b738cece85341ff4809d0cb886ca214d8d4b0547dac1a3c16bcc8ceab85219e0fdbf928cfe6aca9246394b29b2010071fb49e languageName: node linkType: hard @@ -3809,23 +3867,23 @@ __metadata: linkType: hard "@types/node@npm:*, @types/node@npm:>= 8": - version: 14.14.5 - resolution: "@types/node@npm:14.14.5" - checksum: 4916d5c46e604be9b76c69300efdf26538f74ad63a5df572a6b66b95238ddbed3c2bcd5a9748c6ec2ef1bf529d84b3f3a53a0eed54d1f46eaa29471cbb7b1406 + version: 14.14.6 + resolution: "@types/node@npm:14.14.6" + checksum: 9b06b04ab2ae3761136fb39b573f95d90e748ebcf232e126304d642e4910039a74973547635729b627a0401791a1f2491aa9aa6d4d6bb80922a0b869a2731a63 languageName: node linkType: hard "@types/node@npm:^10.1.0": - version: 10.17.43 - resolution: "@types/node@npm:10.17.43" - checksum: 2b2f80dcb676876d37a1851db58f5d983adfc1bf66f1d288fce139ffef527b54bedaf90c78b82b8bbfd42a8ad3fd651e19ea13cbada7f95f13ced22d0f70a584 + version: 10.17.44 + resolution: "@types/node@npm:10.17.44" + checksum: 050261ca4345ff75a9f7942a8c9820b2ea7f30fec827ec8c2c6d7999b4a57244fd0412d969ce74327a30f48e1027fdab5979286815c0e21960a85765f00b22b8 languageName: node linkType: hard "@types/node@npm:^13.7.0": - version: 13.13.29 - resolution: "@types/node@npm:13.13.29" - checksum: c32528416a62a2f4faa32c2df2c9669604c1315f3265aeaa4ad43a7cd422db549dea386046b85d382395d6216df17e19df84b2adeca80fbf049881d70a814301 + version: 13.13.30 + resolution: "@types/node@npm:13.13.30" + checksum: c5b6c51df0463e08cdf3f4ee0b424d2be26f3668549f9ecb10d70e07dda4db84cb7853e344ff0bbed667b1b1899e199cd9f632441c6e9fd4fb465c51640ce0df languageName: node linkType: hard @@ -3912,11 +3970,11 @@ __metadata: linkType: hard "@types/uglify-js@npm:*": - version: 3.11.0 - resolution: "@types/uglify-js@npm:3.11.0" + version: 3.11.1 + resolution: "@types/uglify-js@npm:3.11.1" dependencies: source-map: ^0.6.1 - checksum: ee62336f5a373cade9e0deeaed64d3ae689e8342ad196dd9744f7c39179668ff8f9781371fd7a13041611e248f6287abe4813f582567908caf96a17209ab31d8 + checksum: 75f1c06245dc31cb44496a4f4b685d313863561892c9cb51e7ba3a90522d4775b276f0febf43b797102309cb44e2226fba15a08aa043cd2423455ff3662d4039 languageName: node linkType: hard @@ -3938,9 +3996,9 @@ __metadata: languageName: node linkType: hard -"@types/webpack@npm:^4.41.8": - version: 4.41.23 - resolution: "@types/webpack@npm:4.41.23" +"@types/webpack@npm:^4.4.31, @types/webpack@npm:^4.41.8": + version: 4.41.24 + resolution: "@types/webpack@npm:4.41.24" dependencies: "@types/anymatch": "*" "@types/node": "*" @@ -3948,16 +4006,16 @@ __metadata: "@types/uglify-js": "*" "@types/webpack-sources": "*" source-map: ^0.6.0 - checksum: 6ac67beaa88bc23e86c760958669d2739b643b13d624658820f3cdbcab83a9d34a9949faea75de73edcf4df78f9a8480885848ed7e4c82789d2a5bb94fc9478b + checksum: 2237901a976cab34c86aca729244f392af238d2a8ea53ffda8b9c00259f4d8b081b48fdd47bf159f3fda475621bfe7e8eb81076ec2252fa96dced5087be308e9 languageName: node linkType: hard "@types/ws@npm:^7.0.0": - version: 7.2.8 - resolution: "@types/ws@npm:7.2.8" + version: 7.2.9 + resolution: "@types/ws@npm:7.2.9" dependencies: "@types/node": "*" - checksum: 5188aa5a91033c842160cf5b224422da5fda6a18c2bd7c2f5cfe7ed03cc15bf4eb1b6ed4dc72fb8edc32306e48ff2226dcad096fd603165778c8d89c25844dee + checksum: 77532ad73ca42d913abc22e4b6550a682e4c9ba810f6a798b40b3104c10cdff3787f692733f740f4083026c138318981eaee38663ea4dc0e5f4c4135802cb8d1 languageName: node linkType: hard @@ -4708,7 +4766,7 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^2.0.0": +"ansi-regex@npm:^2.0.0, ansi-regex@npm:^2.1.1": version: 2.1.1 resolution: "ansi-regex@npm:2.1.1" checksum: 93a53c923fd433f67cd3d5647dffa6790f37bbfb924cf73ad23e28a8e414bde142d1da260d9a2be52ac4aa382063196880b1d40cf8b547642c746ed538ebf6c4 @@ -5086,9 +5144,9 @@ __metadata: linkType: hard "arch@npm:^2.1.0": - version: 2.1.2 - resolution: "arch@npm:2.1.2" - checksum: bb32fafdc3a30689ab1ab32775dc35c26db1707189a14cd459ec875267844cf2f75fa3c510fc1339d0930954175a041151e8ffe6eab1d1f9755c94a527ccf007 + version: 2.2.0 + resolution: "arch@npm:2.2.0" + checksum: 4a8d92a9a7ee185fd0f2cbe40f8c3eb6147afa86bf07b03e2cf8c8f024d2f14c42a8cf7ed06a8ce1bbe17d123a19e83d46ebddd77acb49c8ce68194cf99ab711 languageName: node linkType: hard @@ -5930,7 +5988,7 @@ __metadata: languageName: node linkType: hard -"buffer@npm:5.7.0": +"buffer@npm:5.7.0, buffer@npm:^5.2.1, buffer@npm:^5.5.0": version: 5.7.0 resolution: "buffer@npm:5.7.0" dependencies: @@ -5940,16 +5998,6 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^5.2.1, buffer@npm:^5.5.0": - version: 5.6.1 - resolution: "buffer@npm:5.6.1" - dependencies: - base64-js: ^1.3.1 - ieee754: ^1.1.13 - checksum: 7bfd48809d91a6efc7202d3cc570d2b5b0e1d51432c4bd9dd3416a348db55c185ebbf5e4bf87400c0858f66cc037050090290e974804e02d4e8fe02e1afd2185 - languageName: node - linkType: hard - "builtins@npm:^1.0.3": version: 1.0.3 resolution: "builtins@npm:1.0.3" @@ -6184,16 +6232,16 @@ __metadata: linkType: hard "camelcase@npm:^6.0.0, camelcase@npm:^6.1.0": - version: 6.1.0 - resolution: "camelcase@npm:6.1.0" - checksum: 3e968d5efba3c08410437c097b6706aa2a3f1ff34c3ee11940cca932397d99e44693a314545e2d00cb36c1c05d8463ca6f3dabb005e9ce2b615edb7ef274b6c3 + version: 6.2.0 + resolution: "camelcase@npm:6.2.0" + checksum: 654700600a80cb1f06ab85b3e2fe80333f94b441884d40826becdac549774f51b0317c6dcb6040416df26241fa9481eb58d0c1659d4d6d5627dcd4259be61beb languageName: node linkType: hard "caniuse-lite@npm:^1.0.30001135": - version: 1.0.30001151 - resolution: "caniuse-lite@npm:1.0.30001151" - checksum: 3acb52ac17034d7abe4468e66293c9e5597cb5f123bd8f86ea3b87e758112ac4259fdbc35f8f4cbf5477e385dd975f11031bfbf26f4cec64d64a0c567a430b58 + version: 1.0.30001154 + resolution: "caniuse-lite@npm:1.0.30001154" + checksum: 7e087e61d039da66d64595c64afc50032a7bb90d2a96859ad17272031d48806c59488aba04f2f69c98238c293167ec4b2e510a6f8ccf8d90705b340a77961aed languageName: node linkType: hard @@ -6334,7 +6382,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:3.4.3": +"chokidar@npm:3.4.3, chokidar@npm:^3.2.2, chokidar@npm:^3.3.0, chokidar@npm:^3.4.0": version: 3.4.3 resolution: "chokidar@npm:3.4.3" dependencies: @@ -6353,25 +6401,6 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^3.2.2, chokidar@npm:^3.3.0, chokidar@npm:^3.4.0": - version: 3.4.2 - resolution: "chokidar@npm:3.4.2" - dependencies: - anymatch: ~3.1.1 - braces: ~3.0.2 - fsevents: ~2.1.2 - glob-parent: ~5.1.0 - is-binary-path: ~2.1.0 - is-glob: ~4.0.1 - normalize-path: ~3.0.0 - readdirp: ~3.4.0 - dependenciesMeta: - fsevents: - optional: true - checksum: a394c13d28f3a7df6c3d8ca80791599523c654a9e08bec2bb6d0f44a6d74c61f9b46cd871401b8694e57e909055280adad898b93f4269d53b8b0e0c02f02dc12 - languageName: node - linkType: hard - "chownr@npm:^1.1.1, chownr@npm:^1.1.2": version: 1.1.4 resolution: "chownr@npm:1.1.4" @@ -6437,6 +6466,18 @@ __metadata: languageName: node linkType: hard +"clean-webpack-plugin@npm:3.0.0": + version: 3.0.0 + resolution: "clean-webpack-plugin@npm:3.0.0" + dependencies: + "@types/webpack": ^4.4.31 + del: ^4.1.1 + peerDependencies: + webpack: "*" + checksum: fc0fbd1c8e163b784209d51a5df4336ad359737f8b324697d33d1c484ee5c7efee9a1f9f18786860216019764f4a6e02e329e0410e3ab4d52e5e5b52a1038dfe + languageName: node + linkType: hard + "cli-boxes@npm:^1.0.0": version: 1.0.0 resolution: "cli-boxes@npm:1.0.0" @@ -6451,6 +6492,20 @@ __metadata: languageName: node linkType: hard +"cli-color@npm:~2.0.0": + version: 2.0.0 + resolution: "cli-color@npm:2.0.0" + dependencies: + ansi-regex: ^2.1.1 + d: ^1.0.1 + es5-ext: ^0.10.51 + es6-iterator: ^2.0.3 + memoizee: ^0.4.14 + timers-ext: ^0.1.7 + checksum: 6a8824e7f14ab1e5a1275de9b284cbb4e48bc9077742cfd3321dce37cc76bd2c0a7428d29c66098542d9c751d4b230643fca10d968db7462adac8228136508f2 + languageName: node + linkType: hard + "cli-cursor@npm:^2.1.0": version: 2.1.0 resolution: "cli-cursor@npm:2.1.0" @@ -6705,7 +6760,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:6.2.0": +"commander@npm:6.2.0, commander@npm:^6.0.0": version: 6.2.0 resolution: "commander@npm:6.2.0" checksum: c78501cd98e6ad66839004adc27940f5fc1a0102b306fbbc177965101d586cf6dd2e01bdffd64f99f2d4862101f24e602e3e4baa641b6f6a11c01ec5c900e412 @@ -6733,7 +6788,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^6.0.0": +"commander@npm:~6.1.0": version: 6.1.0 resolution: "commander@npm:6.1.0" checksum: ef1e310c3f430b84f8818ec9c6e5ce1b84909616eb2c1b1a79f646bc25fbca156eccf2ecf19f07e77a08dc519728d53d1300f94f3b2ad93de65add66044dfce6 @@ -7296,6 +7351,16 @@ __metadata: languageName: node linkType: hard +"d@npm:1, d@npm:^1.0.1": + version: 1.0.1 + resolution: "d@npm:1.0.1" + dependencies: + es5-ext: ^0.10.50 + type: ^1.0.1 + checksum: cf9b770965fa4876f7aff46784e4f1a1ee71cc5df7e05c9c36bee52a74340b312b6f7ab224c8bfcc83f4b18c6f6a24e7b50bcd449ba4464c1df69874941324ae + languageName: node + linkType: hard + "damerau-levenshtein@npm:^1.0.6": version: 1.0.6 resolution: "damerau-levenshtein@npm:1.0.6" @@ -8054,7 +8119,7 @@ __metadata: languageName: node linkType: hard -"ejs@npm:^3.0.1": +"ejs@npm:^3.1.5": version: 3.1.5 resolution: "ejs@npm:3.1.5" dependencies: @@ -8339,6 +8404,28 @@ __metadata: languageName: node linkType: hard +"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.45, es5-ext@npm:^0.10.46, es5-ext@npm:^0.10.50, es5-ext@npm:^0.10.51, es5-ext@npm:~0.10.14, es5-ext@npm:~0.10.2, es5-ext@npm:~0.10.46": + version: 0.10.53 + resolution: "es5-ext@npm:0.10.53" + dependencies: + es6-iterator: ~2.0.3 + es6-symbol: ~3.1.3 + next-tick: ~1.0.0 + checksum: 99e8115c2f99674d0defc1e077bb0061cd9e1fc996e93605f83441cc5b3b200b7b3646f9cda9313aa877a05c47b4577ead99a26177136a0ca3f208f67a7b4418 + languageName: node + linkType: hard + +"es6-iterator@npm:^2.0.3, es6-iterator@npm:~2.0.3": + version: 2.0.3 + resolution: "es6-iterator@npm:2.0.3" + dependencies: + d: 1 + es5-ext: ^0.10.35 + es6-symbol: ^3.1.1 + checksum: 1880ce31210da874cbb92b404c3128bdf68f616f3a902b2ca1d12f268aaedb11c5e6a2d9d364cde762de0130652a0474ba91abc09fa35f4abf6a8f22a592265e + languageName: node + linkType: hard + "es6-promise@npm:^4.0.3": version: 4.2.8 resolution: "es6-promise@npm:4.2.8" @@ -8355,6 +8442,28 @@ __metadata: languageName: node linkType: hard +"es6-symbol@npm:^3.1.1, es6-symbol@npm:~3.1.3": + version: 3.1.3 + resolution: "es6-symbol@npm:3.1.3" + dependencies: + d: ^1.0.1 + ext: ^1.1.2 + checksum: 0915d72de8760b56b69ca4360276123a4f61de5a3172fe340ce9288271cf48bcebe3ee46ca8ee0f2fd73206bbbefa7c4a40a6673d278a87c97d3a155de778931 + languageName: node + linkType: hard + +"es6-weak-map@npm:^2.0.2": + version: 2.0.3 + resolution: "es6-weak-map@npm:2.0.3" + dependencies: + d: 1 + es5-ext: ^0.10.46 + es6-iterator: ^2.0.3 + es6-symbol: ^3.1.1 + checksum: 8dfd50b2919e16cf246ea9d5f9271eef466924248bc98a48a718cc149d0f67b708628c8e4bd32fa945a813c7780f94270f21ac16fff33c854a348db7e19f084d + languageName: node + linkType: hard + "escalade@npm:^3.1.0": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -8675,6 +8784,16 @@ __metadata: languageName: node linkType: hard +"event-emitter@npm:^0.3.5": + version: 0.3.5 + resolution: "event-emitter@npm:0.3.5" + dependencies: + d: 1 + es5-ext: ~0.10.14 + checksum: 92107b89703222355070b8c49208baf9426ce015d54b646a80f6652d348ab6064c5e13f1756ae20c750d8368f4b3cde48bafc56484667ba0e12d07c50b645f21 + languageName: node + linkType: hard + "eventemitter3@npm:^3.1.0": version: 3.1.2 resolution: "eventemitter3@npm:3.1.2" @@ -8758,8 +8877,8 @@ __metadata: linkType: hard "execa@npm:^4.0.0": - version: 4.0.3 - resolution: "execa@npm:4.0.3" + version: 4.1.0 + resolution: "execa@npm:4.1.0" dependencies: cross-spawn: ^7.0.0 get-stream: ^5.0.0 @@ -8770,7 +8889,7 @@ __metadata: onetime: ^5.1.0 signal-exit: ^3.0.2 strip-final-newline: ^2.0.0 - checksum: 65b237d178b468045ee57af6aa4e4124807b28aec9573d9b3b16b02a7e41bd65996236e0c5575d053d3888585ffc795cbed38847c6c9669e9c8481fc44ac05e4 + checksum: 79bd736acd63aa7c0afb32cc99af21cfd70db696580686c7cd56c177857b93b78bc0b9bb2b4410f377f46c71c566c8e723987e71ef0bc9b23791bfbced02f75c languageName: node linkType: hard @@ -8857,6 +8976,15 @@ __metadata: languageName: node linkType: hard +"ext@npm:^1.1.2": + version: 1.4.0 + resolution: "ext@npm:1.4.0" + dependencies: + type: ^2.0.0 + checksum: c94102371fecdee9f48d1acac2d0e49d49906af457c79d1d7cf1a0a14317ed3e4c99cd8a2e6f9a00e93d54306ee2872e2542edd0aa58bccc4fc72aa429ef215c + languageName: node + linkType: hard + "extend-shallow@npm:^2.0.1": version: 2.0.1 resolution: "extend-shallow@npm:2.0.1" @@ -8990,11 +9118,11 @@ __metadata: linkType: hard "fastq@npm:^1.6.0": - version: 1.8.0 - resolution: "fastq@npm:1.8.0" + version: 1.9.0 + resolution: "fastq@npm:1.9.0" dependencies: reusify: ^1.0.4 - checksum: 77d71545ba88a5c4cbe628716bcf7a0db1dbe81943c1abfbe9eab65db17c6c1db7836e99478b3b8baf21d260b896dff4723f7b7af6606b3d3db2b135bf414c16 + checksum: e9b46ea8990fa626ea23c8a790335a4220a659e189b6ec6cf9f38b879c259327a1532ec89d1ff196ebec365145d644a833a8edab6f975a8c46bad4b98c0e2ef7 languageName: node linkType: hard @@ -9126,7 +9254,7 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:~1.1.2": +"finalhandler@npm:~1.1.1, finalhandler@npm:~1.1.2": version: 1.1.2 resolution: "finalhandler@npm:1.1.2" dependencies: @@ -9230,9 +9358,9 @@ __metadata: linkType: hard "flow-parser@npm:0.*": - version: 0.136.0 - resolution: "flow-parser@npm:0.136.0" - checksum: 3df0a0f6a40ec0fb54c6ad65cf7a8052fdf02f7ecf8b89612b5a599c964f4a277308c5985c1ce85704640d895076407ca9e141f09843facb7b097ae681e42b32 + version: 0.137.0 + resolution: "flow-parser@npm:0.137.0" + checksum: 054a1a4c49e8428b62e639ece3680c490722b2c2167fdf0d283411cd7503fc0f4bba7f964148bc9fc2e5370ef6304a3523660b72a187a2e6fdc7302779dac856 languageName: node linkType: hard @@ -9494,9 +9622,9 @@ fsevents@^1.2.7: linkType: hard "gensync@npm:^1.0.0-beta.1": - version: 1.0.0-beta.1 - resolution: "gensync@npm:1.0.0-beta.1" - checksum: 3d14f7c34fc903dd52c36d0879de2c4afde8315edccd630e97919c365819b32c06d98770ef87f7ba45686ee5d2bd5818354920187659b42828319f7cc3352fdb + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: d523437689c97b3aba9c5cdeca4677d5fff9a29d620db693fea40d852bad63563110f16979d0170248439dbcd2ecee0780fb2533d3f0519f019081aa10767c60 languageName: node linkType: hard @@ -10544,9 +10672,9 @@ fsevents@^1.2.7: linkType: hard "ieee754@npm:^1.1.13": - version: 1.1.13 - resolution: "ieee754@npm:1.1.13" - checksum: 9ef12932e8aeae1c614f314783b3770fac5daae7ae92ebffcda97da58efd77c0289181093666f6048e02c566ceeec4d0edf3b04b57ce8e0b57e9b3814a870469 + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 6c1cfab995ecab3b0dbb6cfb7e192686eb02f0f8e788f2d962e1fc02e2d5ab38a85e06d417221f136bd029663a77cdb920d99605d68d3730a05597dd7910426a languageName: node linkType: hard @@ -11264,6 +11392,13 @@ fsevents@^1.2.7: languageName: node linkType: hard +"is-promise@npm:^2.1": + version: 2.2.2 + resolution: "is-promise@npm:2.2.2" + checksum: 6fe84293b8750d3604a909979a7517a38b1618817f1fbbfdaf4d6138642117c85fbee12927b4d51349a5bcd9bdf8d1bf181f09145ede2d7eb41f4b394ab2ce7d + languageName: node + linkType: hard + "is-redirect@npm:^1.0.0": version: 1.0.0 resolution: "is-redirect@npm:1.0.0" @@ -11379,7 +11514,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"is-wsl@npm:^2.2.0": +"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" dependencies: @@ -12800,6 +12935,15 @@ fsevents@^1.2.7: languageName: node linkType: hard +"lru-queue@npm:0.1": + version: 0.1.0 + resolution: "lru-queue@npm:0.1.0" + dependencies: + es5-ext: ~0.10.2 + checksum: 2eab98cdfb3101dab91ef6b8b50fce616440fa29d27ef1a1b99aa6be13422d03d6ebee15c1eb4873971c34baee27d64376aebc64560aecb37a328c82e3f40169 + languageName: node + linkType: hard + "macos-release@npm:^2.2.0": version: 2.4.1 resolution: "macos-release@npm:2.4.1" @@ -12955,21 +13099,21 @@ fsevents@^1.2.7: linkType: hard "mem-fs-editor@npm:^7.0.1": - version: 7.0.1 - resolution: "mem-fs-editor@npm:7.0.1" + version: 7.1.0 + resolution: "mem-fs-editor@npm:7.1.0" dependencies: commondir: ^1.0.1 deep-extend: ^0.6.0 - ejs: ^3.0.1 + ejs: ^3.1.5 glob: ^7.1.4 globby: ^9.2.0 isbinaryfile: ^4.0.0 mkdirp: ^1.0.0 multimatch: ^4.0.0 rimraf: ^3.0.0 - through2: ^3.0.1 - vinyl: ^2.2.0 - checksum: 509763233351a856a5d416a180ea0c0c65927d5ce09ecf4714116a0af8fb9b0c7d9038c362272bb25bb6f034bcff74f8547d2cb46b3f0f1a6fcfaf3568bda0ae + through2: ^3.0.2 + vinyl: ^2.2.1 + checksum: 3e46ac729fd354303d7eddd0ea0fd6b4d35125949d5438d04362a261c1d084a9b07e644b96ada9dfccc7dcaec79125db8152458cbeb575fb3fb6ec813626c7a1 languageName: node linkType: hard @@ -12984,6 +13128,22 @@ fsevents@^1.2.7: languageName: node linkType: hard +"memoizee@npm:^0.4.14": + version: 0.4.14 + resolution: "memoizee@npm:0.4.14" + dependencies: + d: 1 + es5-ext: ^0.10.45 + es6-weak-map: ^2.0.2 + event-emitter: ^0.3.5 + is-promise: ^2.1 + lru-queue: 0.1 + next-tick: 1 + timers-ext: ^0.1.5 + checksum: 89530bbed2a59f20dd115d743f17159e0f857bd83186e5ffcfa6a4b88f47a6173472f351c7ae2219c4993c2888103e3ac348959356a104b74aba195c2db47ee6 + languageName: node + linkType: hard + "memory-fs@npm:^0.4.1": version: 0.4.1 resolution: "memory-fs@npm:0.4.1" @@ -13279,7 +13439,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"minimist@npm:^1.1.1, minimist@npm:^1.1.3, minimist@npm:^1.2.0, minimist@npm:^1.2.5": +"minimist@npm:^1.1.1, minimist@npm:^1.1.3, minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:~1.2.0": version: 1.2.5 resolution: "minimist@npm:1.2.5" checksum: b77b8590147a4e217ff34266236bc39de23b52e6e33054076991ff674c7397a1380a7bde11111916f16f003a94aaa7e4f3d92595a32189644ff607fabc65a5b6 @@ -13589,6 +13749,20 @@ fsevents@^1.2.7: languageName: node linkType: hard +"next-tick@npm:1": + version: 1.1.0 + resolution: "next-tick@npm:1.1.0" + checksum: 586cc85dcd8ec759b03269b39c8e3d899a27dbe49c472e7fb2b6a98b14a5b46d8c3b1b9a5fae29eb22881d9efa6d882d44617c51268b49d92e98ba8f20d42000 + languageName: node + linkType: hard + +"next-tick@npm:~1.0.0": + version: 1.0.0 + resolution: "next-tick@npm:1.0.0" + checksum: 18db63c447c6e65a23235b91da9ccdae53f74f9194cfbc71a1fd3170cdf81bd157d9676e47c2ea4ea5bd20e09fb019917b0a45d8e1a63e377175fc083f285234 + languageName: node + linkType: hard + "nice-try@npm:^1.0.4": version: 1.0.5 resolution: "nice-try@npm:1.0.5" @@ -13710,9 +13884,9 @@ fsevents@^1.2.7: linkType: hard "node-releases@npm:^1.1.61": - version: 1.1.64 - resolution: "node-releases@npm:1.1.64" - checksum: 09e85fd0eccee979c56c8582dac19a6f88fe4444f0ae0c2c55a7e70df10cf11530f76d3203150e9961fa59d0448cab406d450cef3bc4681f12c3edd070d68b36 + version: 1.1.65 + resolution: "node-releases@npm:1.1.65" + checksum: 7b8b1c118e3596376841ad44d33c55b93a3d3b7f9827ca48048579e58a81110ed3df00942ca7bd6c59d52adfdfb6da5ee1d33514b57ef8c9ee65d36bd0a3a609 languageName: node linkType: hard @@ -14185,6 +14359,25 @@ fsevents@^1.2.7: languageName: node linkType: hard +"open@npm:^7.0.0": + version: 7.3.0 + resolution: "open@npm:7.3.0" + dependencies: + is-docker: ^2.0.0 + is-wsl: ^2.1.1 + checksum: a212fc9cf619a1386b9440b925e72c447b32c9e59b978f86260e99dab2c218c758bc83f9d657a58d1210b65ab5dba77045240d36e71721074926b1e896092db6 + languageName: node + linkType: hard + +"opener@npm:1.5.2": + version: 1.5.2 + resolution: "opener@npm:1.5.2" + bin: + opener: bin/opener-bin.js + checksum: 855420de4ffbfed1a25f000e7d146c4194aa678cc113d428572de67f9491f6721183ffdeb705af3b08404e29f7ec451b88da9ae19347a515872803dfabef471c + languageName: node + linkType: hard + "opn@npm:^5.5.0": version: 5.5.0 resolution: "opn@npm:5.5.0" @@ -15828,15 +16021,15 @@ fsevents@^1.2.7: linkType: hard "rc-trigger@npm:^5.0.4": - version: 5.0.8 - resolution: "rc-trigger@npm:5.0.8" + version: 5.0.9 + resolution: "rc-trigger@npm:5.0.9" dependencies: "@babel/runtime": ^7.11.2 classnames: ^2.2.6 rc-align: ^4.0.0 rc-motion: ^2.0.0 rc-util: ^5.3.4 - checksum: 5db12ceb73c544cb1edd9d4ce1bb29f88c759c0d7e134cf172e141e11c682b72f40af10ed337f32bd866178f129a8c20612d8b490e12953a3cd5d457b2df5794 + checksum: 684484a4039380b5aaff00fadb3454d88d7576c052cf1a9807288a24bb1474b7c3e05793a7bf709f9e65097faee8bae8d6664a904b36c0769175e8dc695fc6d6 languageName: node linkType: hard @@ -15887,8 +16080,8 @@ fsevents@^1.2.7: linkType: hard "rc-virtual-list@npm:^3.2.0": - version: 3.2.0 - resolution: "rc-virtual-list@npm:3.2.0" + version: 3.2.2 + resolution: "rc-virtual-list@npm:3.2.2" dependencies: classnames: ^2.2.6 rc-resize-observer: ^0.2.3 @@ -15896,7 +16089,7 @@ fsevents@^1.2.7: peerDependencies: react: "*" react-dom: "*" - checksum: dab2c2213092f7e2657b32b0f418c691a24c01820e103e0f258ab024db88811d8f6e0b2246d7e247566c327d8c17db3c8d4e75a444940f68d52d44a755b92f48 + checksum: 166e06e69665ccc9955f416c8473589245bff6706e72338b82897b7d8a60b967ff33957df543b50ddc19e785f63b204dd61ec458b8d1682c5d2252f379c20b83 languageName: node linkType: hard @@ -16281,15 +16474,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"readdirp@npm:~3.4.0": - version: 3.4.0 - resolution: "readdirp@npm:3.4.0" - dependencies: - picomatch: ^2.2.1 - checksum: 0159f43eb0a90cf4fde5989b607e0a6bef4e6332dc8648f1b50fbc013f1158e1d021bcfd6dad1dc2895da2bb14cdac408239d047e3d61a01dd3a44376e6ec1f1 - languageName: node - linkType: hard - "readdirp@npm:~3.5.0": version: 3.5.0 resolution: "readdirp@npm:3.5.0" @@ -16508,6 +16692,25 @@ fsevents@^1.2.7: languageName: node linkType: hard +"reload@npm:3.1.1": + version: 3.1.1 + resolution: "reload@npm:3.1.1" + dependencies: + cli-color: ~2.0.0 + commander: ~6.1.0 + finalhandler: ~1.1.1 + minimist: ~1.2.0 + open: ^7.0.0 + serve-static: ~1.14.0 + supervisor: ~0.12.0 + url-parse: ~1.4.4 + ws: ~7.3.0 + bin: + reload: bin/reload + checksum: 3401eedb3e3662f38c21c9f3dc5976584860ab667b5d9349b64bf652e9b4b551c66ab9db7ea48353efaa66b5893f81ab379ee9f529f67098e77b7a9d6b47addb + languageName: node + linkType: hard + "remark-parse@npm:^9.0.0": version: 9.0.0 resolution: "remark-parse@npm:9.0.0" @@ -17136,7 +17339,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"serve-static@npm:1.14.1": +"serve-static@npm:1.14.1, serve-static@npm:~1.14.0": version: 1.14.1 resolution: "serve-static@npm:1.14.1" dependencies: @@ -18041,6 +18244,16 @@ fsevents@^1.2.7: languageName: node linkType: hard +"supervisor@npm:~0.12.0": + version: 0.12.0 + resolution: "supervisor@npm:0.12.0" + bin: + node-supervisor: lib/cli-wrapper.js + supervisor: lib/cli-wrapper.js + checksum: b06597a97ce9557966bc9edeabb26c2b9f23a16b20551f159fb877ef79c9b7d328935974e9d8912da2a09e8cdbd554421056e6765e50da0e63c91fc232d7cd94 + languageName: node + linkType: hard + "supports-color@npm:^5.3.0, supports-color@npm:^5.5.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -18250,22 +18463,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"terser-webpack-plugin@npm:^5.0.0": - version: 5.0.1 - resolution: "terser-webpack-plugin@npm:5.0.1" - dependencies: - jest-worker: ^26.6.1 - p-limit: ^3.0.2 - schema-utils: ^3.0.0 - serialize-javascript: ^5.0.1 - source-map: ^0.6.1 - terser: ^5.3.8 - peerDependencies: - webpack: ^5.1.0 - checksum: 23dfddfcbaa72b0eb4ee2f2af56ec1d72498f4cf4b17a29712cfa4edd7ce5e4dbc7577f1c69835d32ce104672d77559b0b401a0534f67706f0919cf275e47ace - languageName: node - linkType: hard - "terser-webpack-plugin@npm:^5.0.3": version: 5.0.3 resolution: "terser-webpack-plugin@npm:5.0.3" @@ -18375,7 +18572,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"through2@npm:^3.0.0, through2@npm:^3.0.1": +"through2@npm:^3.0.0, through2@npm:^3.0.1, through2@npm:^3.0.2": version: 3.0.2 resolution: "through2@npm:3.0.2" dependencies: @@ -18406,6 +18603,16 @@ fsevents@^1.2.7: languageName: node linkType: hard +"timers-ext@npm:^0.1.5, timers-ext@npm:^0.1.7": + version: 0.1.7 + resolution: "timers-ext@npm:0.1.7" + dependencies: + es5-ext: ~0.10.46 + next-tick: 1 + checksum: 4593b57c397934fc7ddf7b240a8ff8468cdd7006407a442ec48c291bd85dcb7268858b72d1132bc55309e29d8eeae796f9edf378b0b45feff56b51f350e723b6 + languageName: node + linkType: hard + "tiny-invariant@npm:^1.0.2": version: 1.1.0 resolution: "tiny-invariant@npm:1.1.0" @@ -18745,6 +18952,20 @@ fsevents@^1.2.7: languageName: node linkType: hard +"type@npm:^1.0.1": + version: 1.2.0 + resolution: "type@npm:1.2.0" + checksum: 1589416fd9d0a0a1bf18c62dbc7452b0f22017efd5bfc2912050bb57421b084801563ff13b3e3efd60df45590f23e1f3d27d892aeeec9b3ed142c917a4858812 + languageName: node + linkType: hard + +"type@npm:^2.0.0": + version: 2.1.0 + resolution: "type@npm:2.1.0" + checksum: c58a014169b047408ada691db7965506661ed81d47386b23b533696d943dde596ee4708f955cdd7246230a5cd01b4bc11b20875c1ddee5d2fe2fb9dda7968b7a + languageName: node + linkType: hard + "typedarray-to-buffer@npm:^3.1.5": version: 3.1.5 resolution: "typedarray-to-buffer@npm:3.1.5" @@ -18909,9 +19130,9 @@ fsevents@^1.2.7: linkType: hard "unist-util-is@npm:^4.0.0": - version: 4.0.2 - resolution: "unist-util-is@npm:4.0.2" - checksum: 497967dc7781da4113888a412ed03f8f099f5a76e63055609564d71a43a8d9508169234dc9013f8fead5cb9874ec935e266801c1ada588fadd0d56ebf74291ff + version: 4.0.3 + resolution: "unist-util-is@npm:4.0.3" + checksum: 661a7fbf5f363e45dad0275b45cf4e0c04bdb7d60e3afd8a6d66a7ebd8b66ed68367006f079b1917f87710ae4e172666d47493386f497a1b7a4790400a2a878d languageName: node linkType: hard @@ -19078,7 +19299,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"url-parse@npm:^1.4.3": +"url-parse@npm:^1.4.3, url-parse@npm:~1.4.4": version: 1.4.7 resolution: "url-parse@npm:1.4.7" dependencies: @@ -19164,9 +19385,9 @@ fsevents@^1.2.7: linkType: hard "v8-compile-cache@npm:^2.0.3, v8-compile-cache@npm:^2.1.0": - version: 2.1.1 - resolution: "v8-compile-cache@npm:2.1.1" - checksum: 1290922fe1501a732155206f2d516f91bdfd7acf318542ffe2813ff06465cf49051fae7e1a40f3e0a56cf78b41f799473f6e389fec0534e4ecc62eb4105cf22f + version: 2.2.0 + resolution: "v8-compile-cache@npm:2.2.0" + checksum: 1efc9946401fcad7a67619b520d8d12e31c7138090ffd9f98af9b919461fa23d947ecef0eab89cca4037c01d29d25a389ab6c0fac70ee4ed030443b08cdf6cff languageName: node linkType: hard @@ -19261,7 +19482,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"vinyl@npm:^2.0.1, vinyl@npm:^2.2.0": +"vinyl@npm:^2.0.1, vinyl@npm:^2.2.0, vinyl@npm:^2.2.1": version: 2.2.1 resolution: "vinyl@npm:2.2.1" dependencies: @@ -19525,16 +19746,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"webpack-sources@npm:^2.1.0": - version: 2.1.0 - resolution: "webpack-sources@npm:2.1.0" - dependencies: - source-list-map: ^2.0.1 - source-map: ^0.6.1 - checksum: 3950d59661b33ecbfaa0dc4d96a118f2d5e6f9f1b3a24ba5cdb0575758745698035949beac486f52a9e9a69bd94dce5f5a138125632117b1ab708220929e9cda - languageName: node - linkType: hard - "webpack-sources@npm:^2.1.1": version: 2.2.0 resolution: "webpack-sources@npm:2.2.0" @@ -19545,44 +19756,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"webpack@npm:*": - version: 5.3.0 - resolution: "webpack@npm:5.3.0" - dependencies: - "@types/eslint-scope": ^3.7.0 - "@types/estree": ^0.0.45 - "@webassemblyjs/ast": 1.9.0 - "@webassemblyjs/helper-module-context": 1.9.0 - "@webassemblyjs/wasm-edit": 1.9.0 - "@webassemblyjs/wasm-parser": 1.9.0 - acorn: ^8.0.4 - browserslist: ^4.14.5 - chrome-trace-event: ^1.0.2 - enhanced-resolve: ^5.3.1 - eslint-scope: ^5.1.1 - events: ^3.2.0 - glob-to-regexp: ^0.4.1 - graceful-fs: ^4.2.4 - json-parse-better-errors: ^1.0.2 - loader-runner: ^4.1.0 - mime-types: ^2.1.27 - neo-async: ^2.6.2 - pkg-dir: ^4.2.0 - schema-utils: ^3.0.0 - tapable: ^2.0.0 - terser-webpack-plugin: ^5.0.0 - watchpack: ^2.0.0 - webpack-sources: ^2.1.0 - peerDependenciesMeta: - webpack-cli: - optional: true - bin: - webpack: bin/webpack.js - checksum: 039d91f1ea7f64d8258d94caf17ac65d5880a1b6474aec2ed8ace109b863fbad9fcf427e14a59d15a7ca61d72248e259a72e4e227fe716685882c7f77ac77fe8 - languageName: node - linkType: hard - -"webpack@npm:5.3.2": +"webpack@npm:*, webpack@npm:5.3.2": version: 5.3.2 resolution: "webpack@npm:5.3.2" dependencies: @@ -19897,7 +20071,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"ws@npm:^7.2.3": +"ws@npm:^7.2.3, ws@npm:~7.3.0": version: 7.3.1 resolution: "ws@npm:7.3.1" peerDependencies: