From 3a9cc91f6123035558880733b1385403fbe8dbeb Mon Sep 17 00:00:00 2001 From: Matt Kane Date: Mon, 11 Apr 2022 16:56:19 +0100 Subject: [PATCH 1/7] refactor: move into npm workspace --- .nvmrc | 1 + demos/default/local-plugin/index.js | 1 - demos/default/local-plugin/manifest.yml | 1 - demos/default/local-plugin/package-lock.json | 5 - demos/default/local-plugin/package.json | 11 - demos/default/netlify.toml | 8 +- demos/default/package.json | 26 + package-lock.json | 514 ++++++++++-------- package.json | 60 +- manifest.yml => plugin/manifest.yml | 0 plugin/package.json | 61 +++ {src => plugin/src}/constants.ts | 0 {src => plugin/src}/helpers/cache.ts | 0 {src => plugin/src}/helpers/config.ts | 0 {src => plugin/src}/helpers/files.ts | 0 {src => plugin/src}/helpers/functions.ts | 0 {src => plugin/src}/helpers/redirects.ts | 0 {src => plugin/src}/helpers/types.ts | 0 {src => plugin/src}/helpers/utils.ts | 0 {src => plugin/src}/helpers/verification.ts | 0 {src => plugin/src}/index.ts | 0 {src => plugin/src}/templates/getHandler.ts | 0 .../src}/templates/getPageResolver.ts | 0 {src => plugin/src}/templates/handlerUtils.ts | 0 {src => plugin/src}/templates/ipx.ts | 0 plugin/tsconfig.json | 8 + tsconfig.json | 3 +- 27 files changed, 391 insertions(+), 308 deletions(-) create mode 100644 .nvmrc delete mode 100644 demos/default/local-plugin/index.js delete mode 100644 demos/default/local-plugin/manifest.yml delete mode 100644 demos/default/local-plugin/package-lock.json delete mode 100644 demos/default/local-plugin/package.json create mode 100644 demos/default/package.json rename manifest.yml => plugin/manifest.yml (100%) create mode 100644 plugin/package.json rename {src => plugin/src}/constants.ts (100%) rename {src => plugin/src}/helpers/cache.ts (100%) rename {src => plugin/src}/helpers/config.ts (100%) rename {src => plugin/src}/helpers/files.ts (100%) rename {src => plugin/src}/helpers/functions.ts (100%) rename {src => plugin/src}/helpers/redirects.ts (100%) rename {src => plugin/src}/helpers/types.ts (100%) rename {src => plugin/src}/helpers/utils.ts (100%) rename {src => plugin/src}/helpers/verification.ts (100%) rename {src => plugin/src}/index.ts (100%) rename {src => plugin/src}/templates/getHandler.ts (100%) rename {src => plugin/src}/templates/getPageResolver.ts (100%) rename {src => plugin/src}/templates/handlerUtils.ts (100%) rename {src => plugin/src}/templates/ipx.ts (100%) create mode 100644 plugin/tsconfig.json diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000000..b745bcd261 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +17.9.0 \ No newline at end of file diff --git a/demos/default/local-plugin/index.js b/demos/default/local-plugin/index.js deleted file mode 100644 index 9e852e382e..0000000000 --- a/demos/default/local-plugin/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../../../lib') diff --git a/demos/default/local-plugin/manifest.yml b/demos/default/local-plugin/manifest.yml deleted file mode 100644 index 7091f91411..0000000000 --- a/demos/default/local-plugin/manifest.yml +++ /dev/null @@ -1 +0,0 @@ -name: '@netlify/plugin-nextjs-local' diff --git a/demos/default/local-plugin/package-lock.json b/demos/default/local-plugin/package-lock.json deleted file mode 100644 index 11a2e6611e..0000000000 --- a/demos/default/local-plugin/package-lock.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "local-plugin", - "version": "1.0.0", - "lockfileVersion": 1 -} diff --git a/demos/default/local-plugin/package.json b/demos/default/local-plugin/package.json deleted file mode 100644 index 00bc8b8095..0000000000 --- a/demos/default/local-plugin/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "local-plugin", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "preinstall": "cd ../../.. && npm ci" - }, - "author": "", - "license": "ISC" -} diff --git a/demos/default/netlify.toml b/demos/default/netlify.toml index 5d29f00779..9ddedb4c6b 100644 --- a/demos/default/netlify.toml +++ b/demos/default/netlify.toml @@ -1,7 +1,7 @@ [build] command = "next build" publish = ".next" -ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF ../../" +ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF . ../../plugin" [build.environment] # cache Cypress binary in local "node_modules" folder @@ -9,12 +9,10 @@ ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF ../../" CYPRESS_CACHE_FOLDER = "../node_modules/.CypressBinary" # set TERM variable for terminal output TERM = "xterm" +NODE_VERSION = "17" [dev] framework = "#static" [[plugins]] -package = "./local-plugin" - -[[plugins]] -package = "@netlify/plugin-local-install-core" \ No newline at end of file +package = "../../plugin" diff --git a/demos/default/package.json b/demos/default/package.json new file mode 100644 index 0000000000..3369ea0790 --- /dev/null +++ b/demos/default/package.json @@ -0,0 +1,26 @@ +{ + "name": "default-demo", + "version": "1.0.0", + "private": true, + "description": "", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/netlify/netlify-plugin-nextjs.git" + }, + "author": "", + "license": "MIT", + "bugs": { + "url": "https://github.com/netlify/netlify-plugin-nextjs/issues" + }, + "homepage": "https://github.com/netlify/netlify-plugin-nextjs#readme", + "dependencies": { + "@reach/dialog": "^0.16.2", + "@reach/visually-hidden": "^0.16.0" + }, + "devDependencies": { + "@netlify/plugin-nextjs": "*" + } +} diff --git a/package-lock.json b/package-lock.json index ab8866d861..fb1bda3ba0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,40 +1,23 @@ { - "name": "@netlify/plugin-nextjs", + "name": "netlify-plugin-nextjs", "version": "4.3.2", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "@netlify/plugin-nextjs", - "version": "4.3.2", + "name": "netlify-plugin-nextjs", + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "@netlify/functions": "^1.0.0", - "@netlify/ipx": "^1.0.1", - "@vercel/node-bridge": "^2.1.0", - "chalk": "^4.1.2", - "fs-extra": "^10.0.0", - "globby": "^11.0.4", - "moize": "^6.1.0", - "next": "^12.1.4", - "node-fetch": "^2.6.6", - "node-stream-zip": "^1.15.0", - "outdent": "^0.8.0", - "p-limit": "^3.1.0", - "pathe": "^0.2.0", - "pretty-bytes": "^5.6.0", - "semver": "^7.3.5", - "slash": "^3.0.0", - "tiny-glob": "^0.2.9" - }, + "workspaces": [ + "demos/default", + "plugin" + ], "devDependencies": { "@babel/core": "^7.15.8", "@babel/preset-env": "^7.15.8", "@babel/preset-typescript": "^7.16.0", "@netlify/build": "^26.5.2", "@netlify/eslint-config-node": "^5.1.8", - "@reach/dialog": "^0.16.2", - "@reach/visually-hidden": "^0.16.0", "@testing-library/cypress": "^8.0.1", "@types/fs-extra": "^9.0.13", "@types/jest": "^27.0.2", @@ -50,15 +33,27 @@ "netlify-plugin-cypress": "^2.2.0", "npm-run-all": "^4.1.5", "prettier": "^2.1.2", - "react": "^17.0.1", - "react-dom": "^17.0.1", + "react": "^18.0.0", + "react-dom": "^18.0.0", "rimraf": "^3.0.2", "sass": "^1.49.0", "tmp-promise": "^3.0.2", "typescript": "^4.3.4" }, "engines": { - "node": ">=12.0.0" + "node": ">=16.0.0" + } + }, + "demos/default": { + "name": "default-demo", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@reach/dialog": "^0.16.2", + "@reach/visually-hidden": "^0.16.0" + }, + "devDependencies": { + "@netlify/plugin-nextjs": "*" } }, "node_modules/@ampproject/remapping": { @@ -1784,7 +1779,6 @@ "version": "7.17.0", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.0.tgz", "integrity": "sha512-etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ==", - "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" }, @@ -4259,21 +4253,32 @@ } }, "node_modules/@netlify/ipx": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@netlify/ipx/-/ipx-1.0.1.tgz", - "integrity": "sha512-bABYrpien+MnIUBbkM/xuU4so3BOeOQZBnWqL215EZjJzbfch4jbErLFZWbeWyrJSPc8QklG/yHgLLrelfA42g==", + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/@netlify/ipx/-/ipx-0.0.10.tgz", + "integrity": "sha512-eVgP5Mk0Yu2AbJV6dTevqUa5aAHFw56K0N4dR8650Q1dUaypTki2Jw9jR6IusllgniWVMw3fMAICGdY4Ra4Rvg==", "dependencies": { - "@netlify/functions": "^1.0.0", + "@netlify/functions": "^0.7.2", "etag": "^1.8.1", "fs-extra": "^10.0.0", - "ipx": "^0.9.4", + "ipx": "^0.9.2", "mkdirp": "^1.0.4", "murmurhash": "^2.0.0", "node-fetch": "^2.0.0", - "ufo": "^0.7.11", + "ufo": "^0.7.10", "unstorage": "^0.2.8" } }, + "node_modules/@netlify/ipx/node_modules/@netlify/functions": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-0.7.2.tgz", + "integrity": "sha512-xf45ZqQukMxmlkqNMC5BXdFMaVZ8VqF42MV5zA5nKVOh2V0mhYlcbTYlVbS/K2/rtvQ3W8lxxixYl4NT7kq6Bg==", + "dependencies": { + "is-promise": "^4.0.0" + }, + "engines": { + "node": ">=8.3.0" + } + }, "node_modules/@netlify/open-api": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@netlify/open-api/-/open-api-2.8.0.tgz", @@ -4339,6 +4344,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@netlify/plugin-nextjs": { + "resolved": "plugin", + "link": true + }, "node_modules/@netlify/plugins-list": { "version": "6.18.1", "resolved": "https://registry.npmjs.org/@netlify/plugins-list/-/plugins-list-6.18.1.tgz", @@ -4804,7 +4813,6 @@ "version": "0.16.2", "resolved": "https://registry.npmjs.org/@reach/dialog/-/dialog-0.16.2.tgz", "integrity": "sha512-qq8oX0cROgTb8LjOKWzzNm4SqaN9b89lJHr7UyVo2aQ6WbeNzZBxqXhGywFP7dkR+hNqOJnrA59PXFWhfttA9A==", - "dev": true, "dependencies": { "@reach/portal": "0.16.2", "@reach/utils": "0.16.0", @@ -4822,7 +4830,6 @@ "version": "0.16.2", "resolved": "https://registry.npmjs.org/@reach/portal/-/portal-0.16.2.tgz", "integrity": "sha512-9ur/yxNkuVYTIjAcfi46LdKUvH0uYZPfEp4usWcpt6PIp+WDF57F/5deMe/uGi/B/nfDweQu8VVwuMVrCb97JQ==", - "dev": true, "dependencies": { "@reach/utils": "0.16.0", "tiny-warning": "^1.0.3", @@ -4837,7 +4844,6 @@ "version": "0.16.0", "resolved": "https://registry.npmjs.org/@reach/utils/-/utils-0.16.0.tgz", "integrity": "sha512-PCggBet3qaQmwFNcmQ/GqHSefadAFyNCUekq9RrWoaU9hh/S4iaFgf2MBMdM47eQj5i/Bk0Mm07cP/XPFlkN+Q==", - "dev": true, "dependencies": { "tiny-warning": "^1.0.3", "tslib": "^2.3.0" @@ -4851,7 +4857,6 @@ "version": "0.16.0", "resolved": "https://registry.npmjs.org/@reach/visually-hidden/-/visually-hidden-0.16.0.tgz", "integrity": "sha512-IIayZ3jzJtI5KfcfRVtOMFkw2ef/1dMT8D9BUuFcU2ORZAWLNvnzj1oXNoIfABKl5wtsLjY6SGmkYQ+tMPN8TA==", - "dev": true, "dependencies": { "prop-types": "^15.7.2", "tslib": "^2.3.0" @@ -5363,9 +5368,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "17.0.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.14.tgz", - "integrity": "sha512-SbjLmERksKOGzWzPNuW7fJM7fk3YXVTFiZWB/Hs99gwhk+/dnrQRPBQjPW9aO+fi1tAffi9PrwFvsmOKmDTyng==", + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -7495,9 +7500,9 @@ } }, "node_modules/color": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.1.tgz", - "integrity": "sha512-MFJr0uY4RvTQUKvPq7dh9grVOTYSFeXja2mBXioCGjnjJoXrAp9jJ1NQTDR73c9nwBSAQiNKloKl5zq9WB9UPw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" @@ -8884,6 +8889,10 @@ "node": ">=0.10.0" } }, + "node_modules/default-demo": { + "resolved": "demos/default", + "link": true + }, "node_modules/defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", @@ -8985,9 +8994,9 @@ } }, "node_modules/destr": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/destr/-/destr-1.1.0.tgz", - "integrity": "sha512-Ev/sqS5AzzDwlpor/5wFCDu0dYMQu/0x2D6XfAsQ0E7uQmamIgYJ6Dppo2T2EOFVkeVYWjc+PCLKaqZZ57qmLg==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/destr/-/destr-1.1.1.tgz", + "integrity": "sha512-QqkneF8LrYmwATMdnuD2MLI3GHQIcBnG6qFC2q9bSH430VTCDAVjcspPmUaKhPGtAtPAftIUFqY1obQYQuwmbg==" }, "node_modules/destroy": { "version": "1.2.0", @@ -9023,8 +9032,7 @@ "node_modules/detect-node-es": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", - "dev": true + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" }, "node_modules/detective-amd": { "version": "3.1.2", @@ -11286,7 +11294,6 @@ "version": "0.10.1", "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.10.1.tgz", "integrity": "sha512-b9yUklCi4fTu2GXn7dnaVf4hiLVVBp7xTiZarAHMODV2To6Bitf6F/UI67RmKbdgJQeVwI1UO0d9HYNbXt3GkA==", - "dev": true, "dependencies": { "tslib": "^2.0.3" }, @@ -11493,7 +11500,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", - "dev": true, "engines": { "node": ">=6" } @@ -11508,9 +11514,9 @@ } }, "node_modules/get-port-please": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-2.3.0.tgz", - "integrity": "sha512-zO6ST8v7jBO+uSnm0vaQuZEpdr7DgY9iMgoMLUC+Zfz31HYoDiiQrL78oZspaAryT6NH903Bwk+mYxiCy3X/RQ==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-2.4.3.tgz", + "integrity": "sha512-l5zVrG3mzz+I7MfbPwyJJ4xZKIdQfARpOtsBjUDUZ0iXlF0IXc1wMBg3Jb7G1te7tRzjOxu+MRLpvgxxTdCkwg==", "dependencies": { "fs-memo": "^1.2.0" } @@ -12165,7 +12171,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", - "devOptional": true + "dev": true }, "node_modules/import-fresh": { "version": "3.3.0", @@ -12371,7 +12377,6 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, "dependencies": { "loose-envify": "^1.0.0" } @@ -15161,19 +15166,24 @@ "dev": true }, "node_modules/listhen": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/listhen/-/listhen-0.2.6.tgz", - "integrity": "sha512-/xpN3784qRxyxS9wjiVB0vWE9NqoT+5nvOw5KBRB4tXtsjp7y83CJe6Gi/WtoTkkDqXwhSNStqaJ3r/7J0ZCDA==", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/listhen/-/listhen-0.2.8.tgz", + "integrity": "sha512-qU9Awnit075ZbLKLLVsQSoC95eqd9URWTOosCACM06tZECpp7s8c2rqfJojqfDei88MHJxcFkLALj+M8KzX8Dw==", "dependencies": { "clipboardy": "^3.0.0", "colorette": "^2.0.16", - "defu": "^5.0.0", + "defu": "^6.0.0", "get-port-please": "^2.1.0", "http-shutdown": "^1.2.2", "open": "^8.0.5", "selfsigned": "^2.0.0" } }, + "node_modules/listhen/node_modules/defu": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.0.0.tgz", + "integrity": "sha512-t2MZGLf1V2rV4VBZbWIaXKdX/mUcYW0n2znQZoADBkGGxYL8EWqCuCZBmJPJ/Yy9fofJkyuuSuo5GSwo0XdEgw==" + }, "node_modules/listr2": { "version": "3.14.0", "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", @@ -16744,9 +16754,9 @@ } }, "node_modules/node-forge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", - "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "engines": { "node": ">= 6.13.0" } @@ -17588,9 +17598,9 @@ } }, "node_modules/ohmyfetch/node_modules/node-fetch": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.0.tgz", - "integrity": "sha512-8xeimMwMItMw8hRrOl3C9/xzU49HV/yE6ORew/l+dxWimO5A4Ra8ld2rerlJvc/O7et5Z1zrWsPX43v1QBjCxw==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.3.tgz", + "integrity": "sha512-AXP18u4pidSZ1xYXRDPY/8jdv3RAozIt/WLNR/MBGZAz+xjtlr90RvCnsvHQRiXyWliZF/CpytExp32UU67/SA==", "dependencies": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -18723,7 +18733,6 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -18733,8 +18742,7 @@ "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/proxy-from-env": { "version": "1.0.0", @@ -19015,12 +19023,12 @@ } }, "node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.0.0.tgz", + "integrity": "sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A==", + "dev": true, "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" }, "engines": { "node": ">=0.10.0" @@ -19030,7 +19038,6 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.5.tgz", "integrity": "sha512-2bL8qFW1TGBHozGGbVeyvnggRpMjibeZM2536AKNENLECutp2yfs44IL8Hmpn8qjFQ2K7A9PnYf3vc7aQq/cPA==", - "dev": true, "dependencies": { "@babel/runtime": "^7.12.13" }, @@ -19039,23 +19046,22 @@ } }, "node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.0.0.tgz", + "integrity": "sha512-XqX7uzmFo0pUceWFCt7Gff6IyIMzFUn7QMZrbrQfGxtaxXZIcGQzoNpRLE3fQLnS4XzLLPMZX2T9TRcSrasicw==", + "dev": true, "dependencies": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" + "scheduler": "^0.21.0" }, "peerDependencies": { - "react": "17.0.2" + "react": "^18.0.0" } }, "node_modules/react-focus-lock": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.7.1.tgz", "integrity": "sha512-ImSeVmcrLKNMqzUsIdqOkXwTVltj79OPu43oT8tVun7eIckA4VdM7UmYUFo3H/UC2nRVgagMZGFnAOQEDiDYcA==", - "dev": true, "dependencies": { "@babel/runtime": "^7.0.0", "focus-lock": "^0.10.1", @@ -19078,7 +19084,6 @@ "version": "2.4.3", "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.4.3.tgz", "integrity": "sha512-lGWYXfV6jykJwbFpsuPdexKKzp96f3RbvGapDSIdcyGvHb7/eqyn46C7/6h+rUzYar1j5mdU+XECITHXCKBk9Q==", - "dev": true, "dependencies": { "react-remove-scroll-bar": "^2.1.0", "react-style-singleton": "^2.1.0", @@ -19103,7 +19108,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.2.0.tgz", "integrity": "sha512-UU9ZBP1wdMR8qoUs7owiVcpaPwsQxUDC2lypP6mmixaGlARZa7ZIBx1jcuObLdhMOvCsnZcvetOho0wzPa9PYg==", - "dev": true, "dependencies": { "react-style-singleton": "^2.1.0", "tslib": "^1.0.0" @@ -19124,20 +19128,17 @@ "node_modules/react-remove-scroll-bar/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/react-remove-scroll/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/react-style-singleton": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.1.1.tgz", "integrity": "sha512-jNRp07Jza6CBqdRKNgGhT3u9umWvils1xsuMOjZlghBDH2MU0PL2WZor4PGYjXpnRCa9DQSlHMs/xnABWOwYbA==", - "dev": true, "dependencies": { "get-nonce": "^1.0.0", "invariant": "^2.2.4", @@ -19159,8 +19160,7 @@ "node_modules/react-style-singleton/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/read-package-json-fast": { "version": "2.0.3", @@ -19500,8 +19500,7 @@ "node_modules/regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" }, "node_modules/regenerator-transform": { "version": "0.14.5", @@ -20063,7 +20062,7 @@ "version": "1.49.11", "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.11.tgz", "integrity": "sha512-wvS/geXgHUGs6A/4ud5BFIWKO1nKd7wYIGimDk4q4GFkJicILActpv9ueMT4eRGSsp1BdKHuw1WwAHXbhsJELQ==", - "devOptional": true, + "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -20095,20 +20094,20 @@ } }, "node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz", + "integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==", + "dev": true, "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" } }, "node_modules/selfsigned": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz", - "integrity": "sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", "dependencies": { - "node-forge": "^1.2.0" + "node-forge": "^1" }, "engines": { "node": ">=10" @@ -20284,13 +20283,13 @@ "dev": true }, "node_modules/sharp": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.1.tgz", - "integrity": "sha512-ycpz81q8AeVjz1pGvvirQBeJcYE2sXAjcLXR/69LWOe/oxavBLOrenZcTzvTXn83jqAGqY+OuwF+2kFXzbKtDA==", + "version": "0.30.3", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.3.tgz", + "integrity": "sha512-rjpfJFK58ZOFSG8sxYSo3/JQb4ej095HjXp9X7gVu7gEn1aqSG8TCW29h/Rr31+PXrFADo1H/vKfw0uhMQWFtg==", "hasInstallScript": true, "dependencies": { - "color": "^4.2.0", - "detect-libc": "^2.0.0", + "color": "^4.2.1", + "detect-libc": "^2.0.1", "node-addon-api": "^4.3.0", "prebuild-install": "^7.0.1", "semver": "^7.3.5", @@ -21538,8 +21537,7 @@ "node_modules/tiny-warning": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", - "dev": true + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, "node_modules/tmp": { "version": "0.2.1", @@ -21786,8 +21784,7 @@ "node_modules/tslib": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" }, "node_modules/tsscmp": { "version": "1.0.6", @@ -21944,9 +21941,9 @@ } }, "node_modules/undici": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-4.14.1.tgz", - "integrity": "sha512-WJ+g+XqiZcATcBaUeluCajqy4pEDcQfK1vy+Fo+bC4/mqXI9IIQD/XWHLS70fkGUT6P52Drm7IFslO651OdLPQ==", + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-4.16.0.tgz", + "integrity": "sha512-tkZSECUYi+/T1i4u+4+lwZmQgLXd4BLGlrc7KZPcLIW7Jpq99+Xpc30ONv7nS6F5UNOxp/HBZSSL9MafUrvJbw==", "engines": { "node": ">=12.18" } @@ -22278,7 +22275,6 @@ "version": "1.2.5", "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.2.5.tgz", "integrity": "sha512-gN3vgMISAgacF7sqsLPByqoePooY3n2emTH59Ur5d/M8eg4WTWu1xp8i8DHjohftIyEx0S08RiYxbffr4j8Peg==", - "dev": true, "engines": { "node": ">=8.5.0" }, @@ -22296,7 +22292,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.0.5.tgz", "integrity": "sha512-k9jnrjYNwN6xYLj1iaGhonDghfvmeTmYjAiGvOr7clwKfPjMXJf4/HOr7oT5tJwYafgp2tG2l3eZEOfoELiMcA==", - "dev": true, "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^1.9.3" @@ -22311,8 +22306,7 @@ "node_modules/use-sidecar/node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/util-deprecate": { "version": "1.0.2", @@ -22672,9 +22666,9 @@ "dev": true }, "node_modules/xss": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.10.tgz", - "integrity": "sha512-qmoqrRksmzqSKvgqzN0055UFWY7OKx1/9JWeRswwEVX9fCG5jcYRxa/A2DHcmZX6VJvjzHRQ2STeeVcQkrmLSw==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.11.tgz", + "integrity": "sha512-EimjrjThZeK2MO7WKR9mN5ZC1CSqivSl55wvUK5EtU6acf0rzEE1pN+9ZDrFXJ82BRp3JL38pPE6S4o/rpp1zQ==", "dependencies": { "commander": "^2.20.3", "cssfilter": "0.0.10" @@ -22802,6 +22796,37 @@ "engines": { "node": ">= 10" } + }, + "plugin": { + "version": "4.3.2", + "license": "ISC", + "dependencies": { + "@netlify/functions": "^1.0.0", + "@netlify/ipx": "^0.0.10", + "@vercel/node-bridge": "^2.1.0", + "chalk": "^4.1.2", + "fs-extra": "^10.0.0", + "globby": "^11.0.4", + "moize": "^6.1.0", + "next": "^12.1.4", + "node-fetch": "^2.6.6", + "node-stream-zip": "^1.15.0", + "outdent": "^0.8.0", + "p-limit": "^3.1.0", + "pathe": "^0.2.0", + "pretty-bytes": "^5.6.0", + "semver": "^7.3.5", + "slash": "^3.0.0", + "tiny-glob": "^0.2.9" + }, + "devDependencies": { + "@netlify/build": "^26.5.2", + "@types/jest": "^27.4.1", + "@types/node": "^17.0.23" + }, + "engines": { + "node": ">=12.0.0" + } } }, "dependencies": { @@ -24010,7 +24035,6 @@ "version": "7.17.0", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.0.tgz", "integrity": "sha512-etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ==", - "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } @@ -25792,19 +25816,29 @@ } }, "@netlify/ipx": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@netlify/ipx/-/ipx-1.0.1.tgz", - "integrity": "sha512-bABYrpien+MnIUBbkM/xuU4so3BOeOQZBnWqL215EZjJzbfch4jbErLFZWbeWyrJSPc8QklG/yHgLLrelfA42g==", + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/@netlify/ipx/-/ipx-0.0.10.tgz", + "integrity": "sha512-eVgP5Mk0Yu2AbJV6dTevqUa5aAHFw56K0N4dR8650Q1dUaypTki2Jw9jR6IusllgniWVMw3fMAICGdY4Ra4Rvg==", "requires": { - "@netlify/functions": "^1.0.0", + "@netlify/functions": "^0.7.2", "etag": "^1.8.1", "fs-extra": "^10.0.0", - "ipx": "^0.9.4", + "ipx": "^0.9.2", "mkdirp": "^1.0.4", "murmurhash": "^2.0.0", "node-fetch": "^2.0.0", - "ufo": "^0.7.11", + "ufo": "^0.7.10", "unstorage": "^0.2.8" + }, + "dependencies": { + "@netlify/functions": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-0.7.2.tgz", + "integrity": "sha512-xf45ZqQukMxmlkqNMC5BXdFMaVZ8VqF42MV5zA5nKVOh2V0mhYlcbTYlVbS/K2/rtvQ3W8lxxixYl4NT7kq6Bg==", + "requires": { + "is-promise": "^4.0.0" + } + } } }, "@netlify/open-api": { @@ -25855,6 +25889,31 @@ } } }, + "@netlify/plugin-nextjs": { + "version": "file:plugin", + "requires": { + "@netlify/build": "^26.5.2", + "@netlify/functions": "^1.0.0", + "@netlify/ipx": "^0.0.10", + "@types/jest": "^27.4.1", + "@types/node": "^17.0.23", + "@vercel/node-bridge": "^2.1.0", + "chalk": "^4.1.2", + "fs-extra": "^10.0.0", + "globby": "^11.0.4", + "moize": "^6.1.0", + "next": "^12.1.4", + "node-fetch": "^2.6.6", + "node-stream-zip": "^1.15.0", + "outdent": "^0.8.0", + "p-limit": "^3.1.0", + "pathe": "^0.2.0", + "pretty-bytes": "^5.6.0", + "semver": "^7.3.5", + "slash": "^3.0.0", + "tiny-glob": "^0.2.9" + } + }, "@netlify/plugins-list": { "version": "6.18.1", "resolved": "https://registry.npmjs.org/@netlify/plugins-list/-/plugins-list-6.18.1.tgz", @@ -26137,7 +26196,6 @@ "version": "0.16.2", "resolved": "https://registry.npmjs.org/@reach/dialog/-/dialog-0.16.2.tgz", "integrity": "sha512-qq8oX0cROgTb8LjOKWzzNm4SqaN9b89lJHr7UyVo2aQ6WbeNzZBxqXhGywFP7dkR+hNqOJnrA59PXFWhfttA9A==", - "dev": true, "requires": { "@reach/portal": "0.16.2", "@reach/utils": "0.16.0", @@ -26151,7 +26209,6 @@ "version": "0.16.2", "resolved": "https://registry.npmjs.org/@reach/portal/-/portal-0.16.2.tgz", "integrity": "sha512-9ur/yxNkuVYTIjAcfi46LdKUvH0uYZPfEp4usWcpt6PIp+WDF57F/5deMe/uGi/B/nfDweQu8VVwuMVrCb97JQ==", - "dev": true, "requires": { "@reach/utils": "0.16.0", "tiny-warning": "^1.0.3", @@ -26162,7 +26219,6 @@ "version": "0.16.0", "resolved": "https://registry.npmjs.org/@reach/utils/-/utils-0.16.0.tgz", "integrity": "sha512-PCggBet3qaQmwFNcmQ/GqHSefadAFyNCUekq9RrWoaU9hh/S4iaFgf2MBMdM47eQj5i/Bk0Mm07cP/XPFlkN+Q==", - "dev": true, "requires": { "tiny-warning": "^1.0.3", "tslib": "^2.3.0" @@ -26172,7 +26228,6 @@ "version": "0.16.0", "resolved": "https://registry.npmjs.org/@reach/visually-hidden/-/visually-hidden-0.16.0.tgz", "integrity": "sha512-IIayZ3jzJtI5KfcfRVtOMFkw2ef/1dMT8D9BUuFcU2ORZAWLNvnzj1oXNoIfABKl5wtsLjY6SGmkYQ+tMPN8TA==", - "dev": true, "requires": { "prop-types": "^15.7.2", "tslib": "^2.3.0" @@ -26595,9 +26650,9 @@ "dev": true }, "@types/node": { - "version": "17.0.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.14.tgz", - "integrity": "sha512-SbjLmERksKOGzWzPNuW7fJM7fk3YXVTFiZWB/Hs99gwhk+/dnrQRPBQjPW9aO+fi1tAffi9PrwFvsmOKmDTyng==", + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==", "dev": true }, "@types/normalize-package-data": { @@ -26987,8 +27042,7 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} + "dev": true }, "acorn-walk": { "version": "7.2.0", @@ -28165,9 +28219,9 @@ } }, "color": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.1.tgz", - "integrity": "sha512-MFJr0uY4RvTQUKvPq7dh9grVOTYSFeXja2mBXioCGjnjJoXrAp9jJ1NQTDR73c9nwBSAQiNKloKl5zq9WB9UPw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", "requires": { "color-convert": "^2.0.1", "color-string": "^1.9.0" @@ -29240,6 +29294,14 @@ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true }, + "default-demo": { + "version": "file:demos/default", + "requires": { + "@netlify/plugin-nextjs": "*", + "@reach/dialog": "^0.16.2", + "@reach/visually-hidden": "^0.16.0" + } + }, "defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", @@ -29314,9 +29376,9 @@ "dev": true }, "destr": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/destr/-/destr-1.1.0.tgz", - "integrity": "sha512-Ev/sqS5AzzDwlpor/5wFCDu0dYMQu/0x2D6XfAsQ0E7uQmamIgYJ6Dppo2T2EOFVkeVYWjc+PCLKaqZZ57qmLg==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/destr/-/destr-1.1.1.tgz", + "integrity": "sha512-QqkneF8LrYmwATMdnuD2MLI3GHQIcBnG6qFC2q9bSH430VTCDAVjcspPmUaKhPGtAtPAftIUFqY1obQYQuwmbg==" }, "destroy": { "version": "1.2.0", @@ -29339,8 +29401,7 @@ "detect-node-es": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", - "dev": true + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" }, "detective-amd": { "version": "3.1.2", @@ -29984,15 +30045,13 @@ "version": "8.5.0", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", - "dev": true, - "requires": {} + "dev": true }, "eslint-config-standard": { "version": "16.0.3", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz", "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==", - "dev": true, - "requires": {} + "dev": true }, "eslint-import-resolver-node": { "version": "0.3.6", @@ -30383,8 +30442,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz", "integrity": "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==", - "dev": true, - "requires": {} + "dev": true }, "eslint-plugin-react": { "version": "7.28.0", @@ -30429,8 +30487,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", - "dev": true, - "requires": {} + "dev": true }, "eslint-plugin-unicorn": { "version": "40.1.0", @@ -31030,7 +31087,6 @@ "version": "0.10.1", "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.10.1.tgz", "integrity": "sha512-b9yUklCi4fTu2GXn7dnaVf4hiLVVBp7xTiZarAHMODV2To6Bitf6F/UI67RmKbdgJQeVwI1UO0d9HYNbXt3GkA==", - "dev": true, "requires": { "tslib": "^2.0.3" } @@ -31187,8 +31243,7 @@ "get-nonce": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", - "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", - "dev": true + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==" }, "get-package-type": { "version": "0.1.0", @@ -31197,9 +31252,9 @@ "dev": true }, "get-port-please": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-2.3.0.tgz", - "integrity": "sha512-zO6ST8v7jBO+uSnm0vaQuZEpdr7DgY9iMgoMLUC+Zfz31HYoDiiQrL78oZspaAryT6NH903Bwk+mYxiCy3X/RQ==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-2.4.3.tgz", + "integrity": "sha512-l5zVrG3mzz+I7MfbPwyJJ4xZKIdQfARpOtsBjUDUZ0iXlF0IXc1wMBg3Jb7G1te7tRzjOxu+MRLpvgxxTdCkwg==", "requires": { "fs-memo": "^1.2.0" } @@ -31674,7 +31729,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", - "devOptional": true + "dev": true }, "import-fresh": { "version": "3.3.0", @@ -31824,7 +31879,6 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, "requires": { "loose-envify": "^1.0.0" } @@ -33069,8 +33123,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} + "dev": true }, "jest-regex-util": { "version": "27.5.1", @@ -33987,17 +34040,24 @@ "dev": true }, "listhen": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/listhen/-/listhen-0.2.6.tgz", - "integrity": "sha512-/xpN3784qRxyxS9wjiVB0vWE9NqoT+5nvOw5KBRB4tXtsjp7y83CJe6Gi/WtoTkkDqXwhSNStqaJ3r/7J0ZCDA==", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/listhen/-/listhen-0.2.8.tgz", + "integrity": "sha512-qU9Awnit075ZbLKLLVsQSoC95eqd9URWTOosCACM06tZECpp7s8c2rqfJojqfDei88MHJxcFkLALj+M8KzX8Dw==", "requires": { "clipboardy": "^3.0.0", "colorette": "^2.0.16", - "defu": "^5.0.0", + "defu": "^6.0.0", "get-port-please": "^2.1.0", "http-shutdown": "^1.2.2", "open": "^8.0.5", "selfsigned": "^2.0.0" + }, + "dependencies": { + "defu": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.0.0.tgz", + "integrity": "sha512-t2MZGLf1V2rV4VBZbWIaXKdX/mUcYW0n2znQZoADBkGGxYL8EWqCuCZBmJPJ/Yy9fofJkyuuSuo5GSwo0XdEgw==" + } } }, "listr2": { @@ -35173,9 +35233,9 @@ } }, "node-forge": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.2.1.tgz", - "integrity": "sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" }, "node-gyp-build": { "version": "4.3.0", @@ -35835,9 +35895,9 @@ }, "dependencies": { "node-fetch": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.0.tgz", - "integrity": "sha512-8xeimMwMItMw8hRrOl3C9/xzU49HV/yE6ORew/l+dxWimO5A4Ra8ld2rerlJvc/O7et5Z1zrWsPX43v1QBjCxw==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.3.tgz", + "integrity": "sha512-AXP18u4pidSZ1xYXRDPY/8jdv3RAozIt/WLNR/MBGZAz+xjtlr90RvCnsvHQRiXyWliZF/CpytExp32UU67/SA==", "requires": { "data-uri-to-buffer": "^4.0.0", "fetch-blob": "^3.1.4", @@ -36686,7 +36746,6 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -36696,8 +36755,7 @@ "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" } } }, @@ -36912,38 +36970,36 @@ } }, "react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.0.0.tgz", + "integrity": "sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A==", + "dev": true, "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" } }, "react-clientside-effect": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.5.tgz", "integrity": "sha512-2bL8qFW1TGBHozGGbVeyvnggRpMjibeZM2536AKNENLECutp2yfs44IL8Hmpn8qjFQ2K7A9PnYf3vc7aQq/cPA==", - "dev": true, "requires": { "@babel/runtime": "^7.12.13" } }, "react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.0.0.tgz", + "integrity": "sha512-XqX7uzmFo0pUceWFCt7Gff6IyIMzFUn7QMZrbrQfGxtaxXZIcGQzoNpRLE3fQLnS4XzLLPMZX2T9TRcSrasicw==", + "dev": true, "requires": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" + "scheduler": "^0.21.0" } }, "react-focus-lock": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.7.1.tgz", "integrity": "sha512-ImSeVmcrLKNMqzUsIdqOkXwTVltj79OPu43oT8tVun7eIckA4VdM7UmYUFo3H/UC2nRVgagMZGFnAOQEDiDYcA==", - "dev": true, "requires": { "@babel/runtime": "^7.0.0", "focus-lock": "^0.10.1", @@ -36963,7 +37019,6 @@ "version": "2.4.3", "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.4.3.tgz", "integrity": "sha512-lGWYXfV6jykJwbFpsuPdexKKzp96f3RbvGapDSIdcyGvHb7/eqyn46C7/6h+rUzYar1j5mdU+XECITHXCKBk9Q==", - "dev": true, "requires": { "react-remove-scroll-bar": "^2.1.0", "react-style-singleton": "^2.1.0", @@ -36975,8 +37030,7 @@ "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -36984,7 +37038,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.2.0.tgz", "integrity": "sha512-UU9ZBP1wdMR8qoUs7owiVcpaPwsQxUDC2lypP6mmixaGlARZa7ZIBx1jcuObLdhMOvCsnZcvetOho0wzPa9PYg==", - "dev": true, "requires": { "react-style-singleton": "^2.1.0", "tslib": "^1.0.0" @@ -36993,8 +37046,7 @@ "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -37002,7 +37054,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.1.1.tgz", "integrity": "sha512-jNRp07Jza6CBqdRKNgGhT3u9umWvils1xsuMOjZlghBDH2MU0PL2WZor4PGYjXpnRCa9DQSlHMs/xnABWOwYbA==", - "dev": true, "requires": { "get-nonce": "^1.0.0", "invariant": "^2.2.4", @@ -37012,8 +37063,7 @@ "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -37280,8 +37330,7 @@ "regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" }, "regenerator-transform": { "version": "0.14.5", @@ -37732,7 +37781,7 @@ "version": "1.49.11", "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.11.tgz", "integrity": "sha512-wvS/geXgHUGs6A/4ud5BFIWKO1nKd7wYIGimDk4q4GFkJicILActpv9ueMT4eRGSsp1BdKHuw1WwAHXbhsJELQ==", - "devOptional": true, + "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -37755,20 +37804,20 @@ } }, "scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz", + "integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==", + "dev": true, "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" } }, "selfsigned": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz", - "integrity": "sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", "requires": { - "node-forge": "^1.2.0" + "node-forge": "^1" } }, "semver": { @@ -37914,12 +37963,12 @@ "dev": true }, "sharp": { - "version": "0.30.1", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.1.tgz", - "integrity": "sha512-ycpz81q8AeVjz1pGvvirQBeJcYE2sXAjcLXR/69LWOe/oxavBLOrenZcTzvTXn83jqAGqY+OuwF+2kFXzbKtDA==", + "version": "0.30.3", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.30.3.tgz", + "integrity": "sha512-rjpfJFK58ZOFSG8sxYSo3/JQb4ej095HjXp9X7gVu7gEn1aqSG8TCW29h/Rr31+PXrFADo1H/vKfw0uhMQWFtg==", "requires": { - "color": "^4.2.0", - "detect-libc": "^2.0.0", + "color": "^4.2.1", + "detect-libc": "^2.0.1", "node-addon-api": "^4.3.0", "prebuild-install": "^7.0.1", "semver": "^7.3.5", @@ -38636,8 +38685,7 @@ "styled-jsx": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.1.tgz", - "integrity": "sha512-+PIZ/6Uk40mphiQJJI1202b+/dYeTVd9ZnMPR80pgiWbjIwvN2zIp4r9et0BgqBuShh48I0gttPlAXA7WVvBxw==", - "requires": {} + "integrity": "sha512-+PIZ/6Uk40mphiQJJI1202b+/dYeTVd9ZnMPR80pgiWbjIwvN2zIp4r9et0BgqBuShh48I0gttPlAXA7WVvBxw==" }, "supports-color": { "version": "8.1.1", @@ -38905,8 +38953,7 @@ "tiny-warning": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", - "dev": true + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, "tmp": { "version": "0.2.1", @@ -39098,8 +39145,7 @@ "tslib": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" }, "tsscmp": { "version": "1.0.6", @@ -39218,9 +39264,9 @@ } }, "undici": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-4.14.1.tgz", - "integrity": "sha512-WJ+g+XqiZcATcBaUeluCajqy4pEDcQfK1vy+Fo+bC4/mqXI9IIQD/XWHLS70fkGUT6P52Drm7IFslO651OdLPQ==" + "version": "4.16.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-4.16.0.tgz", + "integrity": "sha512-tkZSECUYi+/T1i4u+4+lwZmQgLXd4BLGlrc7KZPcLIW7Jpq99+Xpc30ONv7nS6F5UNOxp/HBZSSL9MafUrvJbw==" }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", @@ -39395,8 +39441,7 @@ "ws": { "version": "8.5.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "requires": {} + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==" } } }, @@ -39478,15 +39523,12 @@ "use-callback-ref": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.2.5.tgz", - "integrity": "sha512-gN3vgMISAgacF7sqsLPByqoePooY3n2emTH59Ur5d/M8eg4WTWu1xp8i8DHjohftIyEx0S08RiYxbffr4j8Peg==", - "dev": true, - "requires": {} + "integrity": "sha512-gN3vgMISAgacF7sqsLPByqoePooY3n2emTH59Ur5d/M8eg4WTWu1xp8i8DHjohftIyEx0S08RiYxbffr4j8Peg==" }, "use-sidecar": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.0.5.tgz", "integrity": "sha512-k9jnrjYNwN6xYLj1iaGhonDghfvmeTmYjAiGvOr7clwKfPjMXJf4/HOr7oT5tJwYafgp2tG2l3eZEOfoELiMcA==", - "dev": true, "requires": { "detect-node-es": "^1.1.0", "tslib": "^1.9.3" @@ -39495,8 +39537,7 @@ "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -39757,8 +39798,7 @@ "version": "7.5.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "dev": true, - "requires": {} + "dev": true }, "xdg-basedir": { "version": "4.0.0", @@ -39779,9 +39819,9 @@ "dev": true }, "xss": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.10.tgz", - "integrity": "sha512-qmoqrRksmzqSKvgqzN0055UFWY7OKx1/9JWeRswwEVX9fCG5jcYRxa/A2DHcmZX6VJvjzHRQ2STeeVcQkrmLSw==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.11.tgz", + "integrity": "sha512-EimjrjThZeK2MO7WKR9mN5ZC1CSqivSl55wvUK5EtU6acf0rzEE1pN+9ZDrFXJ82BRp3JL38pPE6S4o/rpp1zQ==", "requires": { "commander": "^2.20.3", "cssfilter": "0.0.10" diff --git a/package.json b/package.json index 9a83451870..c7c4cfd1f4 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,7 @@ { - "name": "@netlify/plugin-nextjs", - "version": "4.3.2", + "name": "netlify-plugin-nextjs", + "private": true, "description": "Run Next.js seamlessly on Netlify", - "main": "lib/index.js", - "files": [ - "lib/**/*", - "manifest.yml" - ], "scripts": { "build:demo": "next build demos/default", "cy:open": "cypress open --config-file cypress/config/all.json", @@ -19,22 +14,11 @@ "format:check-fix:prettier": "run-e format:check:prettier format:fix:prettier", "format:check:prettier": "cross-env-shell prettier --check $npm_package_config_prettier", "format:fix:prettier": "cross-env-shell prettier --write $npm_package_config_prettier", - "prepublishOnly": "run-s publish:pull publish:install clean build test", - "publish:pull": "git pull", - "publish:install": "npm ci", - "publish:test": "npm test", - "test": "run-s build build:demo test:jest", - "test:jest": "jest", - "test:jest:update": "jest --updateSnapshot", - "test:update": "run-s build build:demo test:jest:update", - "prepare": "husky install node_modules/@netlify/eslint-config-node/.husky/ && npm run build", - "clean": "rimraf lib", - "build": "tsc", - "watch": "tsc --watch" + "postinstall": "npm run -w @netlify/plugin-nextjs build" }, "config": { - "eslint": "--cache --format=codeframe --max-warnings=0 \"{src,scripts,tests,.github}/**/*.{ts,js,md,html}\" \"*.{ts,js,md,html}\" \".*.{ts,js,md,html}\"", - "prettier": "--loglevel=warn \"{src,scripts,tests,.github}/**/*.{ts,js,md,yml,json,html}\" \"*.{ts,js,yml,json,html}\" \".*.{ts,js,yml,json,html}\" \"!package-lock.json\"" + "eslint": "--cache --format=codeframe --max-warnings=0 \"{plugin,src,scripts,tests,.github}/**/*.{ts,js,md,html}\" \"*.{ts,js,md,html}\" \".*.{ts,js,md,html}\"", + "prettier": "--loglevel=warn \"{plugin,src,scripts,tests,.github}/**/*.{ts,js,md,yml,json,html}\" \"*.{ts,js,yml,json,html}\" \".*.{ts,js,yml,json,html}\" \"!package-lock.json\"" }, "repository": { "type": "git", @@ -52,33 +36,13 @@ "url": "https://github.com/netlify/netlify-plugin-nextjs/issues" }, "homepage": "https://github.com/netlify/netlify-plugin-nextjs#readme", - "dependencies": { - "@netlify/functions": "^1.0.0", - "@netlify/ipx": "^1.0.1", - "@vercel/node-bridge": "^2.1.0", - "chalk": "^4.1.2", - "fs-extra": "^10.0.0", - "globby": "^11.0.4", - "moize": "^6.1.0", - "next": "^12.1.4", - "node-fetch": "^2.6.6", - "node-stream-zip": "^1.15.0", - "outdent": "^0.8.0", - "p-limit": "^3.1.0", - "pathe": "^0.2.0", - "pretty-bytes": "^5.6.0", - "semver": "^7.3.5", - "slash": "^3.0.0", - "tiny-glob": "^0.2.9" - }, + "dependencies": {}, "devDependencies": { "@babel/core": "^7.15.8", "@babel/preset-env": "^7.15.8", "@babel/preset-typescript": "^7.16.0", "@netlify/build": "^26.5.2", "@netlify/eslint-config-node": "^5.1.8", - "@reach/dialog": "^0.16.2", - "@reach/visually-hidden": "^0.16.0", "@testing-library/cypress": "^8.0.1", "@types/fs-extra": "^9.0.13", "@types/jest": "^27.0.2", @@ -94,15 +58,15 @@ "netlify-plugin-cypress": "^2.2.0", "npm-run-all": "^4.1.5", "prettier": "^2.1.2", - "react": "^17.0.1", - "react-dom": "^17.0.1", + "react": "^18.0.0", + "react-dom": "^18.0.0", "rimraf": "^3.0.2", "sass": "^1.49.0", "tmp-promise": "^3.0.2", "typescript": "^4.3.4" }, "engines": { - "node": ">=12.0.0" + "node": ">=16.0.0" }, "jest": { "testMatch": [ @@ -115,5 +79,9 @@ }, "verbose": true, "testTimeout": 60000 - } + }, + "workspaces": [ + "demos/default", + "plugin" + ] } diff --git a/manifest.yml b/plugin/manifest.yml similarity index 100% rename from manifest.yml rename to plugin/manifest.yml diff --git a/plugin/package.json b/plugin/package.json new file mode 100644 index 0000000000..0c58037438 --- /dev/null +++ b/plugin/package.json @@ -0,0 +1,61 @@ +{ + "name": "@netlify/plugin-nextjs", + "version": "4.3.2", + "description": "Run Next.js seamlessly on Netlify", + "main": "lib/index.js", + "files": [ + "lib/**/*", + "manifest.yml" + ], + "dependencies": { + "@netlify/functions": "^1.0.0", + "@netlify/ipx": "^0.0.10", + "@vercel/node-bridge": "^2.1.0", + "chalk": "^4.1.2", + "fs-extra": "^10.0.0", + "globby": "^11.0.4", + "moize": "^6.1.0", + "next": "^12.1.4", + "node-fetch": "^2.6.6", + "node-stream-zip": "^1.15.0", + "outdent": "^0.8.0", + "p-limit": "^3.1.0", + "pathe": "^0.2.0", + "pretty-bytes": "^5.6.0", + "semver": "^7.3.5", + "slash": "^3.0.0", + "tiny-glob": "^0.2.9" + }, + "devDependencies": { + "@netlify/build": "^26.5.2", + "@types/jest": "^27.4.1", + "@types/node": "^17.0.23" + }, + "scripts": { + "prepublishOnly": "run-s publish:pull publish:install clean build test", + "publish:pull": "git pull", + "publish:install": "npm ci", + "publish:test": "npm test", + "test": "run-s build build:demo test:jest", + "test:jest": "jest", + "test:jest:update": "jest --updateSnapshot", + "test:update": "run-s build build:demo test:jest:update", + "clean": "rimraf lib", + "build": "tsc", + "watch": "tsc --watch", + "prepare": "npm run build" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/netlify/netlify-plugin-nextjs.git" + }, + "author": "", + "license": "ISC", + "bugs": { + "url": "https://github.com/netlify/netlify-plugin-nextjs/issues" + }, + "homepage": "https://github.com/netlify/netlify-plugin-nextjs#readme", + "engines": { + "node": ">=12.0.0" + } +} diff --git a/src/constants.ts b/plugin/src/constants.ts similarity index 100% rename from src/constants.ts rename to plugin/src/constants.ts diff --git a/src/helpers/cache.ts b/plugin/src/helpers/cache.ts similarity index 100% rename from src/helpers/cache.ts rename to plugin/src/helpers/cache.ts diff --git a/src/helpers/config.ts b/plugin/src/helpers/config.ts similarity index 100% rename from src/helpers/config.ts rename to plugin/src/helpers/config.ts diff --git a/src/helpers/files.ts b/plugin/src/helpers/files.ts similarity index 100% rename from src/helpers/files.ts rename to plugin/src/helpers/files.ts diff --git a/src/helpers/functions.ts b/plugin/src/helpers/functions.ts similarity index 100% rename from src/helpers/functions.ts rename to plugin/src/helpers/functions.ts diff --git a/src/helpers/redirects.ts b/plugin/src/helpers/redirects.ts similarity index 100% rename from src/helpers/redirects.ts rename to plugin/src/helpers/redirects.ts diff --git a/src/helpers/types.ts b/plugin/src/helpers/types.ts similarity index 100% rename from src/helpers/types.ts rename to plugin/src/helpers/types.ts diff --git a/src/helpers/utils.ts b/plugin/src/helpers/utils.ts similarity index 100% rename from src/helpers/utils.ts rename to plugin/src/helpers/utils.ts diff --git a/src/helpers/verification.ts b/plugin/src/helpers/verification.ts similarity index 100% rename from src/helpers/verification.ts rename to plugin/src/helpers/verification.ts diff --git a/src/index.ts b/plugin/src/index.ts similarity index 100% rename from src/index.ts rename to plugin/src/index.ts diff --git a/src/templates/getHandler.ts b/plugin/src/templates/getHandler.ts similarity index 100% rename from src/templates/getHandler.ts rename to plugin/src/templates/getHandler.ts diff --git a/src/templates/getPageResolver.ts b/plugin/src/templates/getPageResolver.ts similarity index 100% rename from src/templates/getPageResolver.ts rename to plugin/src/templates/getPageResolver.ts diff --git a/src/templates/handlerUtils.ts b/plugin/src/templates/handlerUtils.ts similarity index 100% rename from src/templates/handlerUtils.ts rename to plugin/src/templates/handlerUtils.ts diff --git a/src/templates/ipx.ts b/plugin/src/templates/ipx.ts similarity index 100% rename from src/templates/ipx.ts rename to plugin/src/templates/ipx.ts diff --git a/plugin/tsconfig.json b/plugin/tsconfig.json new file mode 100644 index 0000000000..5ff9e75f21 --- /dev/null +++ b/plugin/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "./lib" /* Redirect output structure to the directory. */, + }, + "include": ["src/**/*.ts", "src/**/*.js"], + "exclude": ["src/templates/edge/*"] +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 6ed1184d82..6c77f481d9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -59,6 +59,5 @@ /* Advanced Options */ "skipLibCheck": true /* Skip type checking of declaration files. */, "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ - }, - "include": ["src/**/*.ts", "src/**/*.js"] + } } \ No newline at end of file From 6effc54f5f57d3e82dee85007733cd4bc5473f9b Mon Sep 17 00:00:00 2001 From: Matt Kane Date: Mon, 11 Apr 2022 17:35:58 +0100 Subject: [PATCH 2/7] ci: move demo sites to use monorepos --- demos/base-path/package.json | 22 ++++ demos/default/netlify.toml | 2 +- demos/next-export/local-plugin/index.js | 1 - demos/next-export/local-plugin/manifest.yml | 1 - .../local-plugin/package-lock.json | 5 - demos/next-export/local-plugin/package.json | 11 -- demos/next-export/netlify.toml | 6 +- demos/next-export/package.json | 22 ++++ .../local-plugin/index.js | 2 +- demos/static-root/netlify.toml | 9 +- demos/static-root/package.json | 22 ++++ package-lock.json | 117 +++++++++++++----- package.json | 12 +- plugin/package.json | 4 - test/index.js | 10 +- 15 files changed, 175 insertions(+), 71 deletions(-) create mode 100644 demos/base-path/package.json delete mode 100644 demos/next-export/local-plugin/index.js delete mode 100644 demos/next-export/local-plugin/manifest.yml delete mode 100644 demos/next-export/local-plugin/package-lock.json delete mode 100644 demos/next-export/local-plugin/package.json create mode 100644 demos/next-export/package.json create mode 100644 demos/static-root/package.json diff --git a/demos/base-path/package.json b/demos/base-path/package.json new file mode 100644 index 0000000000..24f118488d --- /dev/null +++ b/demos/base-path/package.json @@ -0,0 +1,22 @@ +{ + "name": "base-path-demo", + "version": "1.0.0", + "description": "", + "devDependencies": { + "@netlify/plugin-nextjs": "*" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/netlify/netlify-plugin-nextjs.git" + }, + "author": "", + "private": true, + "license": "MIT", + "bugs": { + "url": "https://github.com/netlify/netlify-plugin-nextjs/issues" + }, + "homepage": "https://github.com/netlify/netlify-plugin-nextjs#readme" +} diff --git a/demos/default/netlify.toml b/demos/default/netlify.toml index 9ddedb4c6b..9f84c928c9 100644 --- a/demos/default/netlify.toml +++ b/demos/default/netlify.toml @@ -15,4 +15,4 @@ NODE_VERSION = "17" framework = "#static" [[plugins]] -package = "../../plugin" +package = "../../plugin/src/index.ts" diff --git a/demos/next-export/local-plugin/index.js b/demos/next-export/local-plugin/index.js deleted file mode 100644 index 9e852e382e..0000000000 --- a/demos/next-export/local-plugin/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('../../../lib') diff --git a/demos/next-export/local-plugin/manifest.yml b/demos/next-export/local-plugin/manifest.yml deleted file mode 100644 index 7091f91411..0000000000 --- a/demos/next-export/local-plugin/manifest.yml +++ /dev/null @@ -1 +0,0 @@ -name: '@netlify/plugin-nextjs-local' diff --git a/demos/next-export/local-plugin/package-lock.json b/demos/next-export/local-plugin/package-lock.json deleted file mode 100644 index 11a2e6611e..0000000000 --- a/demos/next-export/local-plugin/package-lock.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "local-plugin", - "version": "1.0.0", - "lockfileVersion": 1 -} diff --git a/demos/next-export/local-plugin/package.json b/demos/next-export/local-plugin/package.json deleted file mode 100644 index d692119a5b..0000000000 --- a/demos/next-export/local-plugin/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "local-plugin", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "preinstall": "cd ../../.. && npm i" - }, - "author": "", - "license": "ISC" -} diff --git a/demos/next-export/netlify.toml b/demos/next-export/netlify.toml index 4983d3f911..04b2e1a309 100644 --- a/demos/next-export/netlify.toml +++ b/demos/next-export/netlify.toml @@ -5,12 +5,10 @@ ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF ../../" [build.environment] NETLIFY_NEXT_PLUGIN_SKIP = "true" +NODE_VERSION = "17" [dev] framework = "#static" [[plugins]] -package = "./local-plugin" - -[[plugins]] -package = "@netlify/plugin-local-install-core" +package = "../../plugin" diff --git a/demos/next-export/package.json b/demos/next-export/package.json new file mode 100644 index 0000000000..91d1878df3 --- /dev/null +++ b/demos/next-export/package.json @@ -0,0 +1,22 @@ +{ + "name": "next-export-demo", + "version": "1.0.0", + "description": "", + "devDependencies": { + "@netlify/plugin-nextjs": "*" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/netlify/netlify-plugin-nextjs.git" + }, + "author": "", + "private": true, + "license": "MIT", + "bugs": { + "url": "https://github.com/netlify/netlify-plugin-nextjs/issues" + }, + "homepage": "https://github.com/netlify/netlify-plugin-nextjs#readme" +} diff --git a/demos/nx-next-monorepo-demo/local-plugin/index.js b/demos/nx-next-monorepo-demo/local-plugin/index.js index 9e852e382e..865068ad29 100644 --- a/demos/nx-next-monorepo-demo/local-plugin/index.js +++ b/demos/nx-next-monorepo-demo/local-plugin/index.js @@ -1 +1 @@ -module.exports = require('../../../lib') +module.exports = require('../../../plugin/lib') diff --git a/demos/static-root/netlify.toml b/demos/static-root/netlify.toml index 288149fe89..6597ef3398 100644 --- a/demos/static-root/netlify.toml +++ b/demos/static-root/netlify.toml @@ -7,15 +7,10 @@ ignore = "git diff --quiet $CACHED_COMMIT_REF $COMMIT_REF ../../" # cache Cypress binary in local "node_modules" folder # so Netlify caches it CYPRESS_CACHE_FOLDER = "../node_modules/.CypressBinary" +NODE_VERSION = "17" [dev] framework = "#static" [[plugins]] -package = "./local-plugin" - -[[plugins]] -package = "@netlify/plugin-local-install-core" - -[[context.deploy-preview.plugins]] -package = "netlify-plugin-cypress" \ No newline at end of file +package = "../../plugin" diff --git a/demos/static-root/package.json b/demos/static-root/package.json new file mode 100644 index 0000000000..0fdcd00353 --- /dev/null +++ b/demos/static-root/package.json @@ -0,0 +1,22 @@ +{ + "name": "static-root-demo", + "version": "1.0.0", + "description": "", + "devDependencies": { + "@netlify/plugin-nextjs": "*" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/netlify/netlify-plugin-nextjs.git" + }, + "author": "", + "license": "MIT", + "private": true, + "bugs": { + "url": "https://github.com/netlify/netlify-plugin-nextjs/issues" + }, + "homepage": "https://github.com/netlify/netlify-plugin-nextjs#readme" +} diff --git a/package-lock.json b/package-lock.json index fb1bda3ba0..d885398082 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,10 @@ "license": "MIT", "workspaces": [ "demos/default", - "plugin" + "plugin", + "demos/static-root", + "demos/next-export", + "demos/base-path" ], "devDependencies": { "@babel/core": "^7.15.8", @@ -44,6 +47,13 @@ "node": ">=16.0.0" } }, + "demos/base-path": { + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@netlify/plugin-nextjs": "*" + } + }, "demos/default": { "name": "default-demo", "version": "1.0.0", @@ -56,6 +66,20 @@ "@netlify/plugin-nextjs": "*" } }, + "demos/next-export": { + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@netlify/plugin-nextjs": "*" + } + }, + "demos/static-root": { + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@netlify/plugin-nextjs": "*" + } + }, "node_modules/@ampproject/remapping": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", @@ -5395,13 +5419,13 @@ "version": "15.7.4", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", - "dev": true + "devOptional": true }, "node_modules/@types/react": { "version": "17.0.43", "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.43.tgz", "integrity": "sha512-8Q+LNpdxf057brvPu1lMtC5Vn7J119xrP1aq4qiaefNioQUYANF/CYeK4NsKorSZyUGJ66g0IM+4bbjwx45o2A==", - "dev": true, + "devOptional": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -5430,7 +5454,7 @@ "version": "0.16.2", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", - "dev": true + "devOptional": true }, "node_modules/@types/sinonjs__fake-timers": { "version": "8.1.1", @@ -6627,6 +6651,10 @@ "node": ">=0.10.0" } }, + "node_modules/base-path-demo": { + "resolved": "demos/base-path", + "link": true + }, "node_modules/base/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", @@ -8598,7 +8626,7 @@ "version": "3.0.11", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz", "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==", - "dev": true + "devOptional": true }, "node_modules/cypress": { "version": "9.4.1", @@ -12171,7 +12199,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", - "dev": true + "devOptional": true }, "node_modules/import-fresh": { "version": "3.3.0", @@ -16675,6 +16703,10 @@ } } }, + "node_modules/next-export-demo": { + "resolved": "demos/next-export", + "link": true + }, "node_modules/nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -19026,7 +19058,6 @@ "version": "18.0.0", "resolved": "https://registry.npmjs.org/react/-/react-18.0.0.tgz", "integrity": "sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A==", - "dev": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -19049,7 +19080,6 @@ "version": "18.0.0", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.0.0.tgz", "integrity": "sha512-XqX7uzmFo0pUceWFCt7Gff6IyIMzFUn7QMZrbrQfGxtaxXZIcGQzoNpRLE3fQLnS4XzLLPMZX2T9TRcSrasicw==", - "dev": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.21.0" @@ -20062,7 +20092,7 @@ "version": "1.49.11", "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.11.tgz", "integrity": "sha512-wvS/geXgHUGs6A/4ud5BFIWKO1nKd7wYIGimDk4q4GFkJicILActpv9ueMT4eRGSsp1BdKHuw1WwAHXbhsJELQ==", - "dev": true, + "devOptional": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -20097,7 +20127,6 @@ "version": "0.21.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz", "integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==", - "dev": true, "dependencies": { "loose-envify": "^1.1.0" } @@ -20937,6 +20966,10 @@ "node": ">=0.10.0" } }, + "node_modules/static-root-demo": { + "resolved": "demos/static-root", + "link": true + }, "node_modules/statsd-client": { "version": "0.4.7", "resolved": "https://registry.npmjs.org/statsd-client/-/statsd-client-0.4.7.tgz", @@ -22798,6 +22831,7 @@ } }, "plugin": { + "name": "@netlify/plugin-nextjs", "version": "4.3.2", "license": "ISC", "dependencies": { @@ -26677,13 +26711,13 @@ "version": "15.7.4", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", - "dev": true + "devOptional": true }, "@types/react": { "version": "17.0.43", "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.43.tgz", "integrity": "sha512-8Q+LNpdxf057brvPu1lMtC5Vn7J119xrP1aq4qiaefNioQUYANF/CYeK4NsKorSZyUGJ66g0IM+4bbjwx45o2A==", - "dev": true, + "devOptional": true, "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -26712,7 +26746,7 @@ "version": "0.16.2", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", - "dev": true + "devOptional": true }, "@types/sinonjs__fake-timers": { "version": "8.1.1", @@ -27042,7 +27076,8 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true + "dev": true, + "requires": {} }, "acorn-walk": { "version": "7.2.0", @@ -27588,6 +27623,12 @@ } } }, + "base-path-demo": { + "version": "file:demos/base-path", + "requires": { + "@netlify/plugin-nextjs": "*" + } + }, "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -29065,7 +29106,7 @@ "version": "3.0.11", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz", "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==", - "dev": true + "devOptional": true }, "cypress": { "version": "9.4.1", @@ -30045,13 +30086,15 @@ "version": "8.5.0", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", - "dev": true + "dev": true, + "requires": {} }, "eslint-config-standard": { "version": "16.0.3", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz", "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==", - "dev": true + "dev": true, + "requires": {} }, "eslint-import-resolver-node": { "version": "0.3.6", @@ -30442,7 +30485,8 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz", "integrity": "sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==", - "dev": true + "dev": true, + "requires": {} }, "eslint-plugin-react": { "version": "7.28.0", @@ -30487,7 +30531,8 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", - "dev": true + "dev": true, + "requires": {} }, "eslint-plugin-unicorn": { "version": "40.1.0", @@ -31729,7 +31774,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz", "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==", - "dev": true + "devOptional": true }, "import-fresh": { "version": "3.3.0", @@ -33123,7 +33168,8 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true + "dev": true, + "requires": {} }, "jest-regex-util": { "version": "27.5.1", @@ -35179,6 +35225,12 @@ "styled-jsx": "5.0.1" } }, + "next-export-demo": { + "version": "file:demos/next-export", + "requires": { + "@netlify/plugin-nextjs": "*" + } + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -36973,7 +37025,6 @@ "version": "18.0.0", "resolved": "https://registry.npmjs.org/react/-/react-18.0.0.tgz", "integrity": "sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A==", - "dev": true, "requires": { "loose-envify": "^1.1.0" } @@ -36990,7 +37041,6 @@ "version": "18.0.0", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.0.0.tgz", "integrity": "sha512-XqX7uzmFo0pUceWFCt7Gff6IyIMzFUn7QMZrbrQfGxtaxXZIcGQzoNpRLE3fQLnS4XzLLPMZX2T9TRcSrasicw==", - "dev": true, "requires": { "loose-envify": "^1.1.0", "scheduler": "^0.21.0" @@ -37781,7 +37831,7 @@ "version": "1.49.11", "resolved": "https://registry.npmjs.org/sass/-/sass-1.49.11.tgz", "integrity": "sha512-wvS/geXgHUGs6A/4ud5BFIWKO1nKd7wYIGimDk4q4GFkJicILActpv9ueMT4eRGSsp1BdKHuw1WwAHXbhsJELQ==", - "dev": true, + "devOptional": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -37807,7 +37857,6 @@ "version": "0.21.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz", "integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==", - "dev": true, "requires": { "loose-envify": "^1.1.0" } @@ -38484,6 +38533,12 @@ } } }, + "static-root-demo": { + "version": "file:demos/static-root", + "requires": { + "@netlify/plugin-nextjs": "*" + } + }, "statsd-client": { "version": "0.4.7", "resolved": "https://registry.npmjs.org/statsd-client/-/statsd-client-0.4.7.tgz", @@ -38685,7 +38740,8 @@ "styled-jsx": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.1.tgz", - "integrity": "sha512-+PIZ/6Uk40mphiQJJI1202b+/dYeTVd9ZnMPR80pgiWbjIwvN2zIp4r9et0BgqBuShh48I0gttPlAXA7WVvBxw==" + "integrity": "sha512-+PIZ/6Uk40mphiQJJI1202b+/dYeTVd9ZnMPR80pgiWbjIwvN2zIp4r9et0BgqBuShh48I0gttPlAXA7WVvBxw==", + "requires": {} }, "supports-color": { "version": "8.1.1", @@ -39441,7 +39497,8 @@ "ws": { "version": "8.5.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==" + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "requires": {} } } }, @@ -39523,7 +39580,8 @@ "use-callback-ref": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.2.5.tgz", - "integrity": "sha512-gN3vgMISAgacF7sqsLPByqoePooY3n2emTH59Ur5d/M8eg4WTWu1xp8i8DHjohftIyEx0S08RiYxbffr4j8Peg==" + "integrity": "sha512-gN3vgMISAgacF7sqsLPByqoePooY3n2emTH59Ur5d/M8eg4WTWu1xp8i8DHjohftIyEx0S08RiYxbffr4j8Peg==", + "requires": {} }, "use-sidecar": { "version": "1.0.5", @@ -39798,7 +39856,8 @@ "version": "7.5.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "dev": true + "dev": true, + "requires": {} }, "xdg-basedir": { "version": "4.0.0", diff --git a/package.json b/package.json index c7c4cfd1f4..823355f1e4 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,12 @@ "format:check-fix:prettier": "run-e format:check:prettier format:fix:prettier", "format:check:prettier": "cross-env-shell prettier --check $npm_package_config_prettier", "format:fix:prettier": "cross-env-shell prettier --write $npm_package_config_prettier", - "postinstall": "npm run -w @netlify/plugin-nextjs build" + "build": "npm run -w @netlify/plugin-nextjs build", + "postinstall": "npm run build", + "test": "run-s build build:demo test:jest", + "test:jest": "jest", + "test:jest:update": "jest --updateSnapshot", + "test:update": "run-s build build:demo test:jest:update" }, "config": { "eslint": "--cache --format=codeframe --max-warnings=0 \"{plugin,src,scripts,tests,.github}/**/*.{ts,js,md,html}\" \"*.{ts,js,md,html}\" \".*.{ts,js,md,html}\"", @@ -82,6 +87,9 @@ }, "workspaces": [ "demos/default", - "plugin" + "plugin", + "demos/static-root", + "demos/next-export", + "demos/base-path" ] } diff --git a/plugin/package.json b/plugin/package.json index 0c58037438..131188b7b9 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -36,10 +36,6 @@ "publish:pull": "git pull", "publish:install": "npm ci", "publish:test": "npm test", - "test": "run-s build build:demo test:jest", - "test:jest": "jest", - "test:jest:update": "jest --updateSnapshot", - "test:update": "run-s build build:demo test:jest:update", "clean": "rimraf lib", "build": "tsc", "watch": "tsc --watch", diff --git a/test/index.js b/test/index.js index 39639a907b..4aa75b8da5 100644 --- a/test/index.js +++ b/test/index.js @@ -4,11 +4,11 @@ const process = require('process') const os = require('os') const cpy = require('cpy') const { dir: getTmpDir } = require('tmp-promise') -const { downloadFile } = require('../src/templates/handlerUtils') +const { downloadFile } = require('../plugin/src/templates/handlerUtils') -const plugin = require('../src') +const plugin = require('../plugin/src') -const { HANDLER_FUNCTION_NAME, ODB_FUNCTION_NAME } = require('../src/constants') +const { HANDLER_FUNCTION_NAME, ODB_FUNCTION_NAME } = require('../plugin/src/constants') const { join } = require('pathe') const { matchMiddleware, @@ -17,9 +17,9 @@ const { matchesRewrite, patchNextFiles, unpatchNextFiles, -} = require('../src/helpers/files') +} = require('../plugin/src/helpers/files') const { dirname } = require('path') -const { getProblematicUserRewrites } = require('../src/helpers/verification') +const { getProblematicUserRewrites } = require('../plugin/src/helpers/verification') const FIXTURES_DIR = `${__dirname}/fixtures` const SAMPLE_PROJECT_DIR = `${__dirname}/../demos/default` From c7907fac9ee9f462d886760aed1e4c53f07a42e6 Mon Sep 17 00:00:00 2001 From: Matt Kane Date: Mon, 11 Apr 2022 20:05:14 +0100 Subject: [PATCH 3/7] fix: correct tsconfig --- demos/default/tsconfig.json | 18 ++++++------------ package-lock.json | 3 +++ plugin/tsconfig.json | 11 ++++++++--- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/demos/default/tsconfig.json b/demos/default/tsconfig.json index 5bee8c4d57..b57e49e103 100644 --- a/demos/default/tsconfig.json +++ b/demos/default/tsconfig.json @@ -1,23 +1,17 @@ { + "extends": "../../tsconfig.json", "compilerOptions": { - "target": "es5", "lib": [ - "dom", - "dom.iterable", - "esnext" + "es2019", + "dom" ], - "allowJs": true, - "skipLibCheck": true, "strict": false, - "forceConsistentCasingInFileNames": true, "noEmit": true, - "esModuleInterop": true, - "module": "esnext", + "incremental": true, "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, - "jsx": "preserve", - "incremental": true + "jsx": "preserve" }, "include": [ "next-env.d.ts", @@ -27,4 +21,4 @@ "exclude": [ "node_modules" ] -} +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d885398082..97d3cbf056 100644 --- a/package-lock.json +++ b/package-lock.json @@ -48,6 +48,7 @@ } }, "demos/base-path": { + "name": "base-path-demo", "version": "1.0.0", "license": "MIT", "devDependencies": { @@ -67,6 +68,7 @@ } }, "demos/next-export": { + "name": "next-export-demo", "version": "1.0.0", "license": "MIT", "devDependencies": { @@ -74,6 +76,7 @@ } }, "demos/static-root": { + "name": "static-root-demo", "version": "1.0.0", "license": "MIT", "devDependencies": { diff --git a/plugin/tsconfig.json b/plugin/tsconfig.json index 5ff9e75f21..c1d39c8722 100644 --- a/plugin/tsconfig.json +++ b/plugin/tsconfig.json @@ -1,8 +1,13 @@ { "extends": "../tsconfig.json", "compilerOptions": { - "outDir": "./lib" /* Redirect output structure to the directory. */, + "outDir": "./lib" /* Redirect output structure to the directory. */, }, - "include": ["src/**/*.ts", "src/**/*.js"], - "exclude": ["src/templates/edge/*"] + "include": [ + "src/**/*.ts", + "src/**/*.js" + ], + "exclude": [ + "src/templates/edge/*" + ] } \ No newline at end of file From cf30d86436025adec000cdc276e09400d9417125 Mon Sep 17 00:00:00 2001 From: Matt Kane Date: Mon, 11 Apr 2022 20:23:07 +0100 Subject: [PATCH 4/7] chore: use plugin wrapper --- .prettierignore | 2 ++ demos/base-path/netlify.toml | 5 ++--- demos/default/netlify.toml | 6 +++++- demos/next-export/netlify.toml | 5 ++++- demos/plugin-wrapper/index.js | 2 ++ demos/plugin-wrapper/manifest.yml | 1 + demos/plugin-wrapper/package-lock.json | 5 +++++ demos/plugin-wrapper/package.json | 13 +++++++++++++ demos/static-root/netlify.toml | 5 ++++- package-lock.json | 21 ++++++++++++++++++++- package.json | 5 +++-- 11 files changed, 61 insertions(+), 9 deletions(-) create mode 100644 demos/plugin-wrapper/index.js create mode 100644 demos/plugin-wrapper/manifest.yml create mode 100644 demos/plugin-wrapper/package-lock.json create mode 100644 demos/plugin-wrapper/package.json diff --git a/.prettierignore b/.prettierignore index b9686d926e..7d2a1afdcd 100644 --- a/.prettierignore +++ b/.prettierignore @@ -3,6 +3,8 @@ logs *.log npm-debug.log* +package.json + # Dependency directories node_modules diff --git a/demos/base-path/netlify.toml b/demos/base-path/netlify.toml index ce3073f46f..20fa9eb296 100644 --- a/demos/base-path/netlify.toml +++ b/demos/base-path/netlify.toml @@ -12,10 +12,9 @@ CYPRESS_CACHE_FOLDER = "../node_modules/.CypressBinary" framework = "#static" [[plugins]] -package = "./local-plugin" +package = "../plugin-wrapper/" [[plugins]] package = "@netlify/plugin-local-install-core" - # [[context.deploy-preview.plugins]] -# package = "netlify-plugin-cypress" \ No newline at end of file +# package = "netlify-plugin-cypress" diff --git a/demos/default/netlify.toml b/demos/default/netlify.toml index 9f84c928c9..28e3269e91 100644 --- a/demos/default/netlify.toml +++ b/demos/default/netlify.toml @@ -15,4 +15,8 @@ NODE_VERSION = "17" framework = "#static" [[plugins]] -package = "../../plugin/src/index.ts" +package = "../plugin-wrapper/" + +# This is a fake plugin, that makes it run npm install +[[plugins]] +package = "@netlify/plugin-local-install-core" diff --git a/demos/next-export/netlify.toml b/demos/next-export/netlify.toml index 04b2e1a309..bc4ebaa0f9 100644 --- a/demos/next-export/netlify.toml +++ b/demos/next-export/netlify.toml @@ -11,4 +11,7 @@ NODE_VERSION = "17" framework = "#static" [[plugins]] -package = "../../plugin" +package = "../plugin-wrapper/" + +[[plugins]] +package = "@netlify/plugin-local-install-core" diff --git a/demos/plugin-wrapper/index.js b/demos/plugin-wrapper/index.js new file mode 100644 index 0000000000..40203ac92b --- /dev/null +++ b/demos/plugin-wrapper/index.js @@ -0,0 +1,2 @@ +// eslint-disable-next-line node/no-unpublished-require +module.exports = require('../../plugin/lib') diff --git a/demos/plugin-wrapper/manifest.yml b/demos/plugin-wrapper/manifest.yml new file mode 100644 index 0000000000..06cc06cfa9 --- /dev/null +++ b/demos/plugin-wrapper/manifest.yml @@ -0,0 +1 @@ +name: 'plugin-wrapper' diff --git a/demos/plugin-wrapper/package-lock.json b/demos/plugin-wrapper/package-lock.json new file mode 100644 index 0000000000..11a2e6611e --- /dev/null +++ b/demos/plugin-wrapper/package-lock.json @@ -0,0 +1,5 @@ +{ + "name": "local-plugin", + "version": "1.0.0", + "lockfileVersion": 1 +} diff --git a/demos/plugin-wrapper/package.json b/demos/plugin-wrapper/package.json new file mode 100644 index 0000000000..414189bde7 --- /dev/null +++ b/demos/plugin-wrapper/package.json @@ -0,0 +1,13 @@ +{ + "name": "local-plugin", + "version": "1.0.0", + "main": "index.js", + "author": "", + "license": "MIT", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "devDependencies": { + "@netlify/plugin-nextjs": "*" + } +} \ No newline at end of file diff --git a/demos/static-root/netlify.toml b/demos/static-root/netlify.toml index 6597ef3398..47f2a4b667 100644 --- a/demos/static-root/netlify.toml +++ b/demos/static-root/netlify.toml @@ -13,4 +13,7 @@ NODE_VERSION = "17" framework = "#static" [[plugins]] -package = "../../plugin" +package = "../plugin-wrapper/" + +[[plugins]] +package = "@netlify/plugin-local-install-core" diff --git a/package-lock.json b/package-lock.json index 97d3cbf056..459d210765 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,8 @@ "plugin", "demos/static-root", "demos/next-export", - "demos/base-path" + "demos/base-path", + "demos/plugin-wrapper" ], "devDependencies": { "@babel/core": "^7.15.8", @@ -75,6 +76,14 @@ "@netlify/plugin-nextjs": "*" } }, + "demos/plugin-wrapper": { + "name": "local-plugin", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@netlify/plugin-nextjs": "*" + } + }, "demos/static-root": { "name": "static-root-demo", "version": "1.0.0", @@ -15300,6 +15309,10 @@ "node": ">=10" } }, + "node_modules/local-plugin": { + "resolved": "demos/plugin-wrapper", + "link": true + }, "node_modules/local-web-server": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/local-web-server/-/local-web-server-4.2.1.tgz", @@ -34170,6 +34183,12 @@ "array-back": "^4.0.1" } }, + "local-plugin": { + "version": "file:demos/plugin-wrapper", + "requires": { + "@netlify/plugin-nextjs": "*" + } + }, "local-web-server": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/local-web-server/-/local-web-server-4.2.1.tgz", diff --git a/package.json b/package.json index 823355f1e4..e734a32b93 100644 --- a/package.json +++ b/package.json @@ -90,6 +90,7 @@ "plugin", "demos/static-root", "demos/next-export", - "demos/base-path" + "demos/base-path", + "demos/plugin-wrapper" ] -} +} \ No newline at end of file From a6627bcaf3602a4607d5f2d4842553c82044b0ed Mon Sep 17 00:00:00 2001 From: Matt Kane Date: Tue, 12 Apr 2022 10:09:25 +0100 Subject: [PATCH 5/7] ci: always install using latest node --- .github/workflows/test.yml | 22 ++++++++-- demos/plugin-wrapper/package.json | 6 ++- package-lock.json | 69 ++++++++++++++++++++++++++++++- package.json | 9 ++-- 4 files changed, 94 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b554d2df83..4ba9232664 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -23,13 +23,20 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} + - name: Installing with latest Node.js uses: actions/setup-node@v2 + if: "${{ matrix.node-version != '*' }}" with: - node-version: ${{ matrix.node-version }} + node-version: '*' check-latest: true - name: NPM Install run: npm ci + - name: Switching to Node.js ${{ matrix.node-version }} to run tests + uses: actions/setup-node@v2 + if: "${{ matrix.node-version != '*' }}" + with: + node-version: ${{ matrix.node-version }} + check-latest: true - name: Linting run: npm run format:ci if: "${{ matrix.node-version == '*' }}" @@ -52,14 +59,21 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} + - name: Installing with latest Node.js uses: actions/setup-node@v2 + if: "${{ matrix.node-version != '*' }}" with: - node-version: ${{ matrix.node-version }} + node-version: '*' check-latest: true - name: NPM Install run: npm ci - name: Install Next.js Canary run: npm install -D next@canary --legacy-peer-deps + - name: Switching to Node.js ${{ matrix.node-version }} to run tests + uses: actions/setup-node@v2 + if: "${{ matrix.node-version != '*' }}" + with: + node-version: ${{ matrix.node-version }} + check-latest: true - name: Run tests against next@canary run: npm test diff --git a/demos/plugin-wrapper/package.json b/demos/plugin-wrapper/package.json index 414189bde7..72351d4a83 100644 --- a/demos/plugin-wrapper/package.json +++ b/demos/plugin-wrapper/package.json @@ -8,6 +8,8 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "devDependencies": { - "@netlify/plugin-nextjs": "*" + "@netlify/plugin-nextjs": "*", + "husky": "^7.0.4", + "npm-run-all": "^4.1.5" } -} \ No newline at end of file +} diff --git a/package-lock.json b/package-lock.json index 459d210765..78f6e70cb7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "@babel/core": "^7.15.8", "@babel/preset-env": "^7.15.8", "@babel/preset-typescript": "^7.16.0", + "@delucis/if-env": "^1.1.2", "@netlify/build": "^26.5.2", "@netlify/eslint-config-node": "^5.1.8", "@testing-library/cypress": "^8.0.1", @@ -81,7 +82,9 @@ "version": "1.0.0", "license": "MIT", "devDependencies": { - "@netlify/plugin-nextjs": "*" + "@netlify/plugin-nextjs": "*", + "husky": "^7.0.4", + "npm-run-all": "^4.1.5" } }, "demos/static-root": { @@ -2253,6 +2256,19 @@ "ms": "^2.1.1" } }, + "node_modules/@delucis/if-env": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@delucis/if-env/-/if-env-1.1.2.tgz", + "integrity": "sha512-sZJF62edo927tjq0cANW9Quozwmact7o4fIbPdvmTLqDxQgXJE9xqlkspvgGAZINL3JkwUFTQiGKAan/e2sDnQ==", + "dev": true, + "dependencies": { + "matcher": "^1.1.1" + }, + "bin": { + "if-env": "bin/if-env.js", + "if-env-cs": "bin/if-env-cs.js" + } + }, "node_modules/@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -15967,6 +15983,27 @@ "node": ">=0.10.0" } }, + "node_modules/matcher": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.1.tgz", + "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/matcher/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/mdast-util-from-markdown": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", @@ -24447,6 +24484,15 @@ } } }, + "@delucis/if-env": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@delucis/if-env/-/if-env-1.1.2.tgz", + "integrity": "sha512-sZJF62edo927tjq0cANW9Quozwmact7o4fIbPdvmTLqDxQgXJE9xqlkspvgGAZINL3JkwUFTQiGKAan/e2sDnQ==", + "dev": true, + "requires": { + "matcher": "^1.1.1" + } + }, "@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -34186,7 +34232,9 @@ "local-plugin": { "version": "file:demos/plugin-wrapper", "requires": { - "@netlify/plugin-nextjs": "*" + "@netlify/plugin-nextjs": "*", + "husky": "*", + "npm-run-all": "*" } }, "local-web-server": { @@ -34689,6 +34737,23 @@ "object-visit": "^1.0.0" } }, + "matcher": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/matcher/-/matcher-1.1.1.tgz", + "integrity": "sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.4" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + } + } + }, "mdast-util-from-markdown": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", diff --git a/package.json b/package.json index e734a32b93..50d6a95653 100644 --- a/package.json +++ b/package.json @@ -15,8 +15,9 @@ "format:check:prettier": "cross-env-shell prettier --check $npm_package_config_prettier", "format:fix:prettier": "cross-env-shell prettier --write $npm_package_config_prettier", "build": "npm run -w @netlify/plugin-nextjs build", - "postinstall": "npm run build", - "test": "run-s build build:demo test:jest", + "postinstall": "run-s build install-husky", + "install-husky": "if-env CI=1 || husky install node_modules/@netlify/eslint-config-node/.husky", + "test": "run-s build:demo test:jest", "test:jest": "jest", "test:jest:update": "jest --updateSnapshot", "test:update": "run-s build build:demo test:jest:update" @@ -41,11 +42,11 @@ "url": "https://github.com/netlify/netlify-plugin-nextjs/issues" }, "homepage": "https://github.com/netlify/netlify-plugin-nextjs#readme", - "dependencies": {}, "devDependencies": { "@babel/core": "^7.15.8", "@babel/preset-env": "^7.15.8", "@babel/preset-typescript": "^7.16.0", + "@delucis/if-env": "^1.1.2", "@netlify/build": "^26.5.2", "@netlify/eslint-config-node": "^5.1.8", "@testing-library/cypress": "^8.0.1", @@ -93,4 +94,4 @@ "demos/base-path", "demos/plugin-wrapper" ] -} \ No newline at end of file +} From 23838edfb3c428717b0be8a07b2abca30be649f1 Mon Sep 17 00:00:00 2001 From: Matt Kane Date: Tue, 12 Apr 2022 11:57:33 +0100 Subject: [PATCH 6/7] ci: don't SSR private env var --- demos/default/pages/env.tsx | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/demos/default/pages/env.tsx b/demos/default/pages/env.tsx index d00a497c8c..95bba35e9e 100644 --- a/demos/default/pages/env.tsx +++ b/demos/default/pages/env.tsx @@ -1,19 +1,39 @@ +import { useEffect, useState } from 'react' + /** * https://nextjs.org/docs/basic-features/environment-variables */ function EnvTest() { + const [showEnv, setShowEnv] = useState(false) + useEffect(() => setShowEnv(true), []) return (

Environment Variables

Read Docs -

By default environment variables are only available in the Node.js environment, meaning they won't be exposed to the browser.

- NEXT_PUBLIC_ environment variables are available in the browser, and can be used to configure the application. + By default environment variables are only available in the Node.js environment, meaning they won't be + exposed to the browser. +

+

+ NEXT_PUBLIC_ environment variables are available in the browser, and can be used to configure the + application.

-

✅ Public Environment token found: {process.env.NEXT_PUBLIC_GREETINGS || 'NOT FOUND (something went wrong)'}

-

❌ Private Environment token should not be found: {process.env.TEST_ENV_VAR || 'Everything worked'}

+ {showEnv ? ( + <> +

+ ✅ Public Environment token found:{' '} + {process.env.NEXT_PUBLIC_GREETINGS || 'NOT FOUND (something went wrong)'} +

+

+ ❌ Private Environment token should not be found:{' '} + {process.env.TEST_ENV_VAR || 'Everything worked'} +

+ + ) : ( + 'We only want to test client-side env vars' + )}
) } -export default EnvTest \ No newline at end of file +export default EnvTest From 1ef7c1ea693be260bee1f61a63e806af5e519d3d Mon Sep 17 00:00:00 2001 From: Matt Kane Date: Tue, 19 Apr 2022 09:01:42 +0100 Subject: [PATCH 7/7] ci: configure release-please --- .github/workflows/release-please.yml | 16 +++++++++------- .release-please-manifest.json | 3 +++ release-please-config.json | 6 ++++++ 3 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 .release-please-manifest.json create mode 100644 release-please-config.json diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index d78d3bec87..e98e7815a8 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -16,25 +16,27 @@ jobs: id: release with: token: ${{ steps.get-token.outputs.token }} - release-type: node - package-name: '@netlify/plugin-nextjs' + command: manifest - uses: actions/checkout@v2 - if: ${{ steps.release.outputs.release_created }} + if: ${{ steps.release.outputs.releases_created }} - uses: actions/setup-node@v2 with: node-version: '*' cache: 'npm' check-latest: true registry-url: 'https://registry.npmjs.org' - if: ${{ steps.release.outputs.release_created }} + if: ${{ steps.release.outputs.releases_created }} - name: Install dependencies run: npm ci - if: ${{ steps.release.outputs.release_created }} + working-directory: plugin + if: ${{ steps.release.outputs.releases_created }} - run: npm publish - if: ${{ steps.release.outputs.release_created }} + working-directory: plugin + if: ${{ steps.release.outputs.releases_created }} env: NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} - uses: netlify/submit-build-plugin-action@v1 - if: ${{ steps.release.outputs.release_created }} + if: ${{ steps.release.outputs.releases_created }} with: github-token: ${{ steps.get-token.outputs.token }} + package-json-dir: plugin diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 0000000000..2e7b1a4d20 --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + "plugin": "4.3.2" +} diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 0000000000..6e4c2a4536 --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,6 @@ +{ + "bootstrap-sha": "62a4ce414f5b02f539902f88dd4b548df5cfa8ef", + "packages": { + "plugin": {} + } +}