diff --git a/examples/basic/package.json b/examples/basic/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/basic/package.json
+++ b/examples/basic/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/basic/remix.config.js b/examples/basic/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/basic/remix.config.js
+++ b/examples/basic/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/blog-tutorial/package.json b/examples/blog-tutorial/package.json
index ead4712cb1d..24d80d7859a 100644
--- a/examples/blog-tutorial/package.json
+++ b/examples/blog-tutorial/package.json
@@ -31,9 +31,9 @@
"@node-rs/bcrypt": "^1.6.0",
"@prisma/client": "^3.13.0",
"@reach/alert": "^0.17.0",
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"marked": "^4.0.15",
"react": "^17.0.2",
"react-dom": "^17.0.2",
@@ -41,8 +41,8 @@
},
"devDependencies": {
"@faker-js/faker": "^6.3.1",
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@testing-library/cypress": "^8.0.2",
"@testing-library/dom": "^8.13.0",
"@testing-library/jest-dom": "^5.16.4",
diff --git a/examples/blog-tutorial/remix.config.js b/examples/blog-tutorial/remix.config.js
index 457709942de..a2074b02762 100644
--- a/examples/blog-tutorial/remix.config.js
+++ b/examples/blog-tutorial/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
cacheDirectory: "./node_modules/.cache/remix",
ignoredRouteFiles: ["**/.*", "**/*.css", "**/*.test.{js,jsx,ts,tsx}"],
diff --git a/examples/bullmq-task-queue/package.json b/examples/bullmq-task-queue/package.json
index f089533f932..daba1b9e770 100644
--- a/examples/bullmq-task-queue/package.json
+++ b/examples/bullmq-task-queue/package.json
@@ -7,17 +7,17 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"bullmq": "^1.76.0",
"ioredis": "^4.28.5",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/ioredis": "^4.28.8",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
diff --git a/examples/bullmq-task-queue/remix.config.js b/examples/bullmq-task-queue/remix.config.js
index ac0bfe1456a..631de93af3c 100644
--- a/examples/bullmq-task-queue/remix.config.js
+++ b/examples/bullmq-task-queue/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev/config').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
appDirectory: "app",
browserBuildDirectory: "public/build",
diff --git a/examples/catch-boundary/package.json b/examples/catch-boundary/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/catch-boundary/package.json
+++ b/examples/catch-boundary/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/catch-boundary/remix.config.js b/examples/catch-boundary/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/catch-boundary/remix.config.js
+++ b/examples/catch-boundary/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/chakra-ui/package.json b/examples/chakra-ui/package.json
index 6adff22d509..f34cb4906b2 100644
--- a/examples/chakra-ui/package.json
+++ b/examples/chakra-ui/package.json
@@ -10,16 +10,16 @@
"@chakra-ui/react": "^1.8.6",
"@emotion/react": "^11.8.1",
"@emotion/styled": "^11.8.1",
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"framer-motion": "^5.6.0",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/chakra-ui/remix.config.js b/examples/chakra-ui/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/chakra-ui/remix.config.js
+++ b/examples/chakra-ui/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/client-only-components/package.json b/examples/client-only-components/package.json
index f99a8f91d79..7261ae4df3a 100644
--- a/examples/client-only-components/package.json
+++ b/examples/client-only-components/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"remix-utils": "^2.7.0"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/client-only-components/remix.config.js b/examples/client-only-components/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/client-only-components/remix.config.js
+++ b/examples/client-only-components/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/client-side-validation/package.json b/examples/client-side-validation/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/client-side-validation/package.json
+++ b/examples/client-side-validation/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/client-side-validation/remix.config.js b/examples/client-side-validation/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/client-side-validation/remix.config.js
+++ b/examples/client-side-validation/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/collected-notes/package.json b/examples/collected-notes/package.json
index 08b0d477277..78cf5430d28 100644
--- a/examples/collected-notes/package.json
+++ b/examples/collected-notes/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"collected-notes": "^2.3.0",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/collected-notes/remix.config.js b/examples/collected-notes/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/collected-notes/remix.config.js
+++ b/examples/collected-notes/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/combobox-resource-route/package.json b/examples/combobox-resource-route/package.json
index de4daa68036..bc8a3455e4e 100644
--- a/examples/combobox-resource-route/package.json
+++ b/examples/combobox-resource-route/package.json
@@ -8,16 +8,16 @@
},
"dependencies": {
"@reach/combobox": "^0.16.5",
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"match-sorter": "^6.3.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/combobox-resource-route/remix.config.js b/examples/combobox-resource-route/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/combobox-resource-route/remix.config.js
+++ b/examples/combobox-resource-route/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/dark-mode/package.json b/examples/dark-mode/package.json
index e1a69af6ef1..03204ec429b 100644
--- a/examples/dark-mode/package.json
+++ b/examples/dark-mode/package.json
@@ -7,14 +7,14 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
+ "@remix-run/dev": "1.6.1",
"@types/react": "^17.0.38",
"@types/react-dom": "^17.0.11",
"typescript": "^4.5.4"
diff --git a/examples/dark-mode/remix.config.js b/examples/dark-mode/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/dark-mode/remix.config.js
+++ b/examples/dark-mode/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/dataloader/package.json b/examples/dataloader/package.json
index ed53240a5ed..35adf969db7 100644
--- a/examples/dataloader/package.json
+++ b/examples/dataloader/package.json
@@ -8,9 +8,9 @@
"start:dev": "cross-env NODE_ENV=development node -r esbuild-register server/index.ts"
},
"dependencies": {
- "@remix-run/express": "1.6.0",
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
+ "@remix-run/express": "1.6.1",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
"compression": "^1.7.4",
"cross-env": "^7.0.3",
"dataloader": "^2.0.0",
@@ -20,8 +20,8 @@
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"esbuild-register": "^3.3.2",
diff --git a/examples/dataloader/remix.config.js b/examples/dataloader/remix.config.js
index 35d7d6b4b37..6675ae232e3 100644
--- a/examples/dataloader/remix.config.js
+++ b/examples/dataloader/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
serverBuildDirectory: "server/build",
diff --git a/examples/emotion/package.json b/examples/emotion/package.json
index b5e97277262..5893120223b 100644
--- a/examples/emotion/package.json
+++ b/examples/emotion/package.json
@@ -11,15 +11,15 @@
"@emotion/react": "^11.8.1",
"@emotion/server": "^11.4.0",
"@emotion/styled": "^11.8.1",
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/emotion/remix.config.js b/examples/emotion/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/emotion/remix.config.js
+++ b/examples/emotion/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/file-and-cloudinary-upload/package.json b/examples/file-and-cloudinary-upload/package.json
index d0ea06b952c..af7043a7cdc 100644
--- a/examples/file-and-cloudinary-upload/package.json
+++ b/examples/file-and-cloudinary-upload/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"cloudinary": "^1.28.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/file-and-cloudinary-upload/remix.config.js b/examples/file-and-cloudinary-upload/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/file-and-cloudinary-upload/remix.config.js
+++ b/examples/file-and-cloudinary-upload/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/firebase-auth-firestore/firebase-fixtures/auth/config.json b/examples/firebase-auth-firestore/firebase-fixtures/auth/config.json
new file mode 100644
index 00000000000..16f6ddbf8ec
--- /dev/null
+++ b/examples/firebase-auth-firestore/firebase-fixtures/auth/config.json
@@ -0,0 +1,5 @@
+{
+ "signIn": {
+ "allowDuplicateEmails": false
+ }
+}
diff --git a/examples/firebase-auth-firestore/firebase-fixtures/firestore.rules b/examples/firebase-auth-firestore/firebase-fixtures/firestore.rules
new file mode 100644
index 00000000000..2f1886fdd85
--- /dev/null
+++ b/examples/firebase-auth-firestore/firebase-fixtures/firestore.rules
@@ -0,0 +1,10 @@
+rules_version = '2';
+service cloud.firestore {
+ match /databases/{database}/documents {
+ // All reads and writes are done via firebase-admin, which skips Firebase rules.
+ // This disables public access to all Firestore data.
+ match /{document=**} {
+ allow read, write: if false;
+ }
+ }
+}
diff --git a/examples/firebase-auth-firestore/firebase.json b/examples/firebase-auth-firestore/firebase.json
index cdcf8e18b1e..951a7e24916 100644
--- a/examples/firebase-auth-firestore/firebase.json
+++ b/examples/firebase-auth-firestore/firebase.json
@@ -9,5 +9,8 @@
"ui": {
"enabled": true
}
+ },
+ "firestore": {
+ "rules": "./firebase-fixtures/firestore.rules"
}
}
diff --git a/examples/firebase-auth-firestore/package.json b/examples/firebase-auth-firestore/package.json
index a4ae43fbedc..37124d3ff81 100644
--- a/examples/firebase-auth-firestore/package.json
+++ b/examples/firebase-auth-firestore/package.json
@@ -8,16 +8,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"firebase-admin": "^10.0.2",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.43",
"@types/react-dom": "^17.0.14",
"eslint": "^8.12.0",
diff --git a/examples/firebase-auth-firestore/remix.config.js b/examples/firebase-auth-firestore/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/firebase-auth-firestore/remix.config.js
+++ b/examples/firebase-auth-firestore/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/form-to-notion-db/package.json b/examples/form-to-notion-db/package.json
index 7f0dcacae84..e2952668e91 100644
--- a/examples/form-to-notion-db/package.json
+++ b/examples/form-to-notion-db/package.json
@@ -8,15 +8,15 @@
},
"dependencies": {
"@notionhq/client": "^0.4.13",
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/form-to-notion-db/remix.config.js b/examples/form-to-notion-db/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/form-to-notion-db/remix.config.js
+++ b/examples/form-to-notion-db/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/framer-motion/package.json b/examples/framer-motion/package.json
index d8ccf8d9135..155b3e72adf 100644
--- a/examples/framer-motion/package.json
+++ b/examples/framer-motion/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"framer-motion": "^5.6.0",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/framer-motion/remix.config.js b/examples/framer-motion/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/framer-motion/remix.config.js
+++ b/examples/framer-motion/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/framer-route-animation/package.json b/examples/framer-route-animation/package.json
index 769225c9f5d..0fd16ec6201 100644
--- a/examples/framer-route-animation/package.json
+++ b/examples/framer-route-animation/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"framer-motion": "^6.2.8",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/framer-route-animation/remix.config.js b/examples/framer-route-animation/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/framer-route-animation/remix.config.js
+++ b/examples/framer-route-animation/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/gdpr-cookie-consent/package.json b/examples/gdpr-cookie-consent/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/gdpr-cookie-consent/package.json
+++ b/examples/gdpr-cookie-consent/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/gdpr-cookie-consent/remix.config.js b/examples/gdpr-cookie-consent/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/gdpr-cookie-consent/remix.config.js
+++ b/examples/gdpr-cookie-consent/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/google-analytics/package.json b/examples/google-analytics/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/google-analytics/package.json
+++ b/examples/google-analytics/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/google-analytics/remix.config.js b/examples/google-analytics/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/google-analytics/remix.config.js
+++ b/examples/google-analytics/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/graphql-api/package.json b/examples/graphql-api/package.json
index 9b9a53ca07d..d45cfbc0c33 100644
--- a/examples/graphql-api/package.json
+++ b/examples/graphql-api/package.json
@@ -10,9 +10,9 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"apollo-server-errors": "^3.3.1",
"graphql": "^16.4.0",
"react": "^17.0.2",
@@ -22,8 +22,8 @@
"@graphql-codegen/cli": "2.6.2",
"@graphql-codegen/typescript": "^2.4.5",
"@graphql-codegen/typescript-operations": "^2.3.2",
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/graphql-api/remix.config.js b/examples/graphql-api/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/graphql-api/remix.config.js
+++ b/examples/graphql-api/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/image-resize/package.json b/examples/image-resize/package.json
index dc993a51653..02ef389a416 100644
--- a/examples/image-resize/package.json
+++ b/examples/image-resize/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"sharp": "^0.30.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"@types/sharp": "^0.29.5",
diff --git a/examples/image-resize/remix.config.js b/examples/image-resize/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/image-resize/remix.config.js
+++ b/examples/image-resize/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/infinite-scrolling/package.json b/examples/infinite-scrolling/package.json
index fca27b614f7..959cb680b40 100644
--- a/examples/infinite-scrolling/package.json
+++ b/examples/infinite-scrolling/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-virtual": "^2.10.4"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.42",
"@types/react-dom": "^17.0.14",
"eslint": "^8.11.0",
diff --git a/examples/infinite-scrolling/remix.config.js b/examples/infinite-scrolling/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/infinite-scrolling/remix.config.js
+++ b/examples/infinite-scrolling/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/io-ts-formdata-decoding/package.json b/examples/io-ts-formdata-decoding/package.json
index 9488295d573..7b94b292af9 100644
--- a/examples/io-ts-formdata-decoding/package.json
+++ b/examples/io-ts-formdata-decoding/package.json
@@ -7,17 +7,17 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"fp-ts": "^2.11.8",
"io-ts": "^2.2.16",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/io-ts-formdata-decoding/remix.config.js b/examples/io-ts-formdata-decoding/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/io-ts-formdata-decoding/remix.config.js
+++ b/examples/io-ts-formdata-decoding/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/ioredis/package.json b/examples/ioredis/package.json
index 84afc4d7cd9..24ea0ac2138 100644
--- a/examples/ioredis/package.json
+++ b/examples/ioredis/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"ioredis": "^4.28.5",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/ioredis": "^4.28.8",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
diff --git a/examples/ioredis/remix.config.js b/examples/ioredis/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/ioredis/remix.config.js
+++ b/examples/ioredis/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/jokes/package.json b/examples/jokes/package.json
index d02a1497079..d254cfcc56c 100644
--- a/examples/jokes/package.json
+++ b/examples/jokes/package.json
@@ -8,16 +8,16 @@
},
"dependencies": {
"@prisma/client": "^3.10.0",
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"bcryptjs": "^2.4.3",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/bcryptjs": "^2.4.2",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
diff --git a/examples/jokes/remix.config.js b/examples/jokes/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/jokes/remix.config.js
+++ b/examples/jokes/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/mantine/package.json b/examples/mantine/package.json
index c4dc56bfadd..9bde8063ae2 100644
--- a/examples/mantine/package.json
+++ b/examples/mantine/package.json
@@ -10,15 +10,15 @@
"@mantine/core": "^3.6.14",
"@mantine/hooks": "^3.6.14",
"@mantine/ssr": "^3.6.14",
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/mantine/remix.config.js b/examples/mantine/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/mantine/remix.config.js
+++ b/examples/mantine/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/msw/package.json b/examples/msw/package.json
index 8ca9510dee0..e9e409c8d73 100644
--- a/examples/msw/package.json
+++ b/examples/msw/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.40",
"@types/react-dom": "^17.0.13",
"eslint": "^8.11.0",
diff --git a/examples/msw/remix.config.js b/examples/msw/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/msw/remix.config.js
+++ b/examples/msw/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/multiple-forms/package.json b/examples/multiple-forms/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/multiple-forms/package.json
+++ b/examples/multiple-forms/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/multiple-forms/remix.config.js b/examples/multiple-forms/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/multiple-forms/remix.config.js
+++ b/examples/multiple-forms/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/multiple-params/package.json b/examples/multiple-params/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/multiple-params/package.json
+++ b/examples/multiple-params/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/multiple-params/remix.config.js b/examples/multiple-params/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/multiple-params/remix.config.js
+++ b/examples/multiple-params/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/newsletter-signup/package.json b/examples/newsletter-signup/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/newsletter-signup/package.json
+++ b/examples/newsletter-signup/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/newsletter-signup/remix.config.js b/examples/newsletter-signup/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/newsletter-signup/remix.config.js
+++ b/examples/newsletter-signup/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/nprogress/package.json b/examples/nprogress/package.json
index c9ec143613e..e8be7880b70 100644
--- a/examples/nprogress/package.json
+++ b/examples/nprogress/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"nprogress": "^0.2.0",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/nprogress": "^0.2.0",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
diff --git a/examples/nprogress/remix.config.js b/examples/nprogress/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/nprogress/remix.config.js
+++ b/examples/nprogress/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/on-demand-hydration/package.json b/examples/on-demand-hydration/package.json
index f99a8f91d79..7261ae4df3a 100644
--- a/examples/on-demand-hydration/package.json
+++ b/examples/on-demand-hydration/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"remix-utils": "^2.7.0"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/on-demand-hydration/remix.config.js b/examples/on-demand-hydration/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/on-demand-hydration/remix.config.js
+++ b/examples/on-demand-hydration/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/outlet-form-rerender/package.json b/examples/outlet-form-rerender/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/outlet-form-rerender/package.json
+++ b/examples/outlet-form-rerender/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/outlet-form-rerender/remix.config.js b/examples/outlet-form-rerender/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/outlet-form-rerender/remix.config.js
+++ b/examples/outlet-form-rerender/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/pathless-routes/package.json b/examples/pathless-routes/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/pathless-routes/package.json
+++ b/examples/pathless-routes/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/pathless-routes/remix.config.js b/examples/pathless-routes/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/pathless-routes/remix.config.js
+++ b/examples/pathless-routes/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/pm-app/package.json b/examples/pm-app/package.json
index d3baadc9bfe..9facea983c0 100644
--- a/examples/pm-app/package.json
+++ b/examples/pm-app/package.json
@@ -23,9 +23,9 @@
"@reach/combobox": "^0.16.5",
"@reach/dialog": "^0.16.2",
"@reach/menu-button": "^0.16.2",
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"bcrypt": "^5.0.1",
"clsx": "^1.1.1",
"match-sorter": "^6.3.1",
@@ -35,9 +35,9 @@
"validator": "^13.7.0"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
- "@remix-run/express": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
+ "@remix-run/express": "1.6.1",
"@types/bcrypt": "^5.0.0",
"@types/express": "^4.17.13",
"@types/react": "^17.0.39",
diff --git a/examples/pm-app/remix.config.js b/examples/pm-app/remix.config.js
index 3f41e8dae27..b089e89db43 100644
--- a/examples/pm-app/remix.config.js
+++ b/examples/pm-app/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/quirrel/package.json b/examples/quirrel/package.json
index d9817148ab7..8f913df7064 100644
--- a/examples/quirrel/package.json
+++ b/examples/quirrel/package.json
@@ -9,16 +9,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"quirrel": "^1.8.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/quirrel/remix.config.js b/examples/quirrel/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/quirrel/remix.config.js
+++ b/examples/quirrel/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/react-spring/package.json b/examples/react-spring/package.json
index 174236ade81..9ebdea90cd0 100644
--- a/examples/react-spring/package.json
+++ b/examples/react-spring/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-spring": "^9.4.3"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/react-spring/remix.config.js b/examples/react-spring/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/react-spring/remix.config.js
+++ b/examples/react-spring/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/redis-upstash-session/package.json b/examples/redis-upstash-session/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/redis-upstash-session/package.json
+++ b/examples/redis-upstash-session/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/redis-upstash-session/remix.config.js b/examples/redis-upstash-session/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/redis-upstash-session/remix.config.js
+++ b/examples/redis-upstash-session/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/remix-auth-auth0/package.json b/examples/remix-auth-auth0/package.json
index 8f8cfa91266..a8dacf66b9c 100644
--- a/examples/remix-auth-auth0/package.json
+++ b/examples/remix-auth-auth0/package.json
@@ -7,17 +7,17 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"remix-auth": "^3.2.1",
"remix-auth-auth0": "^1.3.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/remix-auth-auth0/remix.config.js b/examples/remix-auth-auth0/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/remix-auth-auth0/remix.config.js
+++ b/examples/remix-auth-auth0/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/remix-auth-form/package.json b/examples/remix-auth-form/package.json
index bf5a4f06c5f..370f1f32daa 100644
--- a/examples/remix-auth-form/package.json
+++ b/examples/remix-auth-form/package.json
@@ -7,17 +7,17 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"remix-auth": "^3.2.1",
"remix-auth-form": "^1.1.1"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/remix-auth-form/remix.config.js b/examples/remix-auth-form/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/remix-auth-form/remix.config.js
+++ b/examples/remix-auth-form/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/remix-auth-github/package.json b/examples/remix-auth-github/package.json
index 7ea83ec2a9f..3800c427284 100644
--- a/examples/remix-auth-github/package.json
+++ b/examples/remix-auth-github/package.json
@@ -7,17 +7,17 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"remix-auth": "^3.2.1",
"remix-auth-github": "^1.0.0"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/remix-auth-github/remix.config.js b/examples/remix-auth-github/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/remix-auth-github/remix.config.js
+++ b/examples/remix-auth-github/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/remix-auth-supabase-github/package.json b/examples/remix-auth-supabase-github/package.json
index 3d5c6ac0b61..d08dea561dd 100644
--- a/examples/remix-auth-supabase-github/package.json
+++ b/examples/remix-auth-supabase-github/package.json
@@ -7,9 +7,9 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"@supabase/supabase-js": "^1.30.7",
"react": "^17.0.2",
"react-dom": "^17.0.2",
@@ -17,8 +17,8 @@
"remix-auth-supabase": "^3.1.0"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/remix-auth-supabase-github/remix.config.js b/examples/remix-auth-supabase-github/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/remix-auth-supabase-github/remix.config.js
+++ b/examples/remix-auth-supabase-github/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/remix-auth-supabase/package.json b/examples/remix-auth-supabase/package.json
index e1c6d514ce7..40a2d147f8c 100644
--- a/examples/remix-auth-supabase/package.json
+++ b/examples/remix-auth-supabase/package.json
@@ -7,9 +7,9 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"@supabase/supabase-js": "^1.30.7",
"react": "^17.0.2",
"react-dom": "^17.0.2",
@@ -17,8 +17,8 @@
"remix-auth-supabase": "^3.1.0"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/remix-auth-supabase/remix.config.js b/examples/remix-auth-supabase/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/remix-auth-supabase/remix.config.js
+++ b/examples/remix-auth-supabase/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/route-modal/package.json b/examples/route-modal/package.json
index 465af76e700..d6997ed495f 100644
--- a/examples/route-modal/package.json
+++ b/examples/route-modal/package.json
@@ -8,15 +8,15 @@
},
"dependencies": {
"@reach/dialog": "^0.16.2",
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/route-modal/remix.config.js b/examples/route-modal/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/route-modal/remix.config.js
+++ b/examples/route-modal/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/routes-gen/package.json b/examples/routes-gen/package.json
index e3f6867c2e1..4221725fd77 100644
--- a/examples/routes-gen/package.json
+++ b/examples/routes-gen/package.json
@@ -8,16 +8,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"routes-gen": "^0.3.0"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@routes-gen/remix": "^0.2.10",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
diff --git a/examples/routes-gen/remix.config.js b/examples/routes-gen/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/routes-gen/remix.config.js
+++ b/examples/routes-gen/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/rust/package.json b/examples/rust/package.json
index df953bb983e..10ec10a3dc1 100644
--- a/examples/rust/package.json
+++ b/examples/rust/package.json
@@ -8,16 +8,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"rust-functions": "file:rust-functions/pkg"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/rust/remix.config.js b/examples/rust/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/rust/remix.config.js
+++ b/examples/rust/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/sanity/package.json b/examples/sanity/package.json
index a175719b966..0b2aaad17b2 100644
--- a/examples/sanity/package.json
+++ b/examples/sanity/package.json
@@ -7,9 +7,9 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"@sanity/block-content-to-react": "^3.0.0",
"@sanity/groq-store": "^0.3.1",
"@sanity/image-url": "^1.0.1",
@@ -18,8 +18,8 @@
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"eslint": "^8.10.0"
},
"engines": {
diff --git a/examples/sanity/remix.config.js b/examples/sanity/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/sanity/remix.config.js
+++ b/examples/sanity/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/sass/package.json b/examples/sass/package.json
index 9f0402e4954..7ad39131990 100644
--- a/examples/sass/package.json
+++ b/examples/sass/package.json
@@ -11,15 +11,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/sass/remix.config.js b/examples/sass/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/sass/remix.config.js
+++ b/examples/sass/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/search-input/package.json b/examples/search-input/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/search-input/package.json
+++ b/examples/search-input/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/search-input/remix.config.js b/examples/search-input/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/search-input/remix.config.js
+++ b/examples/search-input/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/session-flash/package.json b/examples/session-flash/package.json
index 8c56c9b54c2..ed67a54af89 100644
--- a/examples/session-flash/package.json
+++ b/examples/session-flash/package.json
@@ -8,16 +8,16 @@
},
"dependencies": {
"@fontsource/fira-sans": "^4.5.8",
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-router-dom": "^6.3.0"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/session-flash/remix.config.js b/examples/session-flash/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/session-flash/remix.config.js
+++ b/examples/session-flash/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/sharing-loader-data/package.json b/examples/sharing-loader-data/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/sharing-loader-data/package.json
+++ b/examples/sharing-loader-data/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/sharing-loader-data/remix.config.js b/examples/sharing-loader-data/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/sharing-loader-data/remix.config.js
+++ b/examples/sharing-loader-data/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/socket.io/package.json b/examples/socket.io/package.json
index 038a98de90e..ff7ba8e7b48 100644
--- a/examples/socket.io/package.json
+++ b/examples/socket.io/package.json
@@ -8,9 +8,9 @@
"start:dev": "cross-env NODE_ENV=development node server/index.js"
},
"dependencies": {
- "@remix-run/express": "1.6.0",
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
+ "@remix-run/express": "1.6.1",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
"compression": "^1.7.4",
"cross-env": "^7.0.3",
"express": "^4.17.3",
@@ -21,8 +21,8 @@
"socket.io-client": "^4.4.1"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/socket.io/remix.config.js b/examples/socket.io/remix.config.js
index 7fdb0411255..fd9331ed1a8 100644
--- a/examples/socket.io/remix.config.js
+++ b/examples/socket.io/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
serverBuildDirectory: "server/build",
diff --git a/examples/stitches/package.json b/examples/stitches/package.json
index 65c3579db4b..e410c1e5f3b 100644
--- a/examples/stitches/package.json
+++ b/examples/stitches/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"@stitches/react": "^1.2.7",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/stitches/remix.config.js b/examples/stitches/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/stitches/remix.config.js
+++ b/examples/stitches/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/strapi/package.json b/examples/strapi/package.json
index 8d603163347..9164037e98b 100755
--- a/examples/strapi/package.json
+++ b/examples/strapi/package.json
@@ -9,16 +9,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"marked": "^4.0.12",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/marked": "^4.0.2",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
diff --git a/examples/strapi/remix.config.js b/examples/strapi/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100755
--- a/examples/strapi/remix.config.js
+++ b/examples/strapi/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/stripe-integration/package.json b/examples/stripe-integration/package.json
index 110b32cc5c6..1d66d5cd9ce 100644
--- a/examples/stripe-integration/package.json
+++ b/examples/stripe-integration/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"stripe": "^8.209.0"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.40",
"@types/react-dom": "^17.0.13",
"eslint": "^8.11.0",
diff --git a/examples/stripe-integration/remix.config.js b/examples/stripe-integration/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/stripe-integration/remix.config.js
+++ b/examples/stripe-integration/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/styled-components/package.json b/examples/styled-components/package.json
index 984fb43fcca..f4555d76d4d 100644
--- a/examples/styled-components/package.json
+++ b/examples/styled-components/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"styled-components": "^5.3.3"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"@types/styled-components": "^5.1.24",
diff --git a/examples/styled-components/remix.config.js b/examples/styled-components/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/styled-components/remix.config.js
+++ b/examples/styled-components/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/styletron/package.json b/examples/styletron/package.json
index a68db038dd6..512392fbb75 100644
--- a/examples/styletron/package.json
+++ b/examples/styletron/package.json
@@ -7,17 +7,17 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"styletron-engine-atomic": "^1.4.8",
"styletron-react": "^6.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"@types/styled-components": "^5.1.24",
diff --git a/examples/styletron/remix.config.js b/examples/styletron/remix.config.js
index 1755894599a..ecf1253bfc8 100644
--- a/examples/styletron/remix.config.js
+++ b/examples/styletron/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: [".*"],
// appDirectory: "app",
diff --git a/examples/supabase-subscription/package.json b/examples/supabase-subscription/package.json
index c6bee02a276..32208af0bf9 100644
--- a/examples/supabase-subscription/package.json
+++ b/examples/supabase-subscription/package.json
@@ -7,17 +7,17 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"@supabase/supabase-js": "^1.31.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-supabase": "^0.2.0"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/supabase-subscription/remix.config.js b/examples/supabase-subscription/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/supabase-subscription/remix.config.js
+++ b/examples/supabase-subscription/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/tailwindcss/package.json b/examples/tailwindcss/package.json
index cd58baa129a..b9a95e35d65 100644
--- a/examples/tailwindcss/package.json
+++ b/examples/tailwindcss/package.json
@@ -12,15 +12,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/tailwindcss/remix.config.js b/examples/tailwindcss/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/tailwindcss/remix.config.js
+++ b/examples/tailwindcss/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/template/package.json b/examples/template/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/template/package.json
+++ b/examples/template/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/template/remix.config.js b/examples/template/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/template/remix.config.js
+++ b/examples/template/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/tiptap-collab-editing/package.json b/examples/tiptap-collab-editing/package.json
index e188664a4bf..ad023f2b6bb 100644
--- a/examples/tiptap-collab-editing/package.json
+++ b/examples/tiptap-collab-editing/package.json
@@ -7,9 +7,9 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"@tiptap/extension-collaboration": "^2.0.0-beta.33",
"@tiptap/react": "^2.0.0-beta.108",
"@tiptap/starter-kit": "^2.0.0-beta.183",
@@ -19,8 +19,8 @@
"yjs": "^13.5.34"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/tiptap-collab-editing/remix.config.js b/examples/tiptap-collab-editing/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/tiptap-collab-editing/remix.config.js
+++ b/examples/tiptap-collab-editing/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/toast-message/package.json b/examples/toast-message/package.json
index 7aa7825c6c6..11717829b0b 100644
--- a/examples/toast-message/package.json
+++ b/examples/toast-message/package.json
@@ -7,16 +7,16 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-hot-toast": "^2.2.0"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/toast-message/remix.config.js b/examples/toast-message/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/toast-message/remix.config.js
+++ b/examples/toast-message/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/turborepo-vercel/apps/remix-app/remix.config.js b/examples/turborepo-vercel/apps/remix-app/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/turborepo-vercel/apps/remix-app/remix.config.js
+++ b/examples/turborepo-vercel/apps/remix-app/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/examples/twind/package.json b/examples/twind/package.json
index 3d074e28733..e10bd4f5df5 100644
--- a/examples/twind/package.json
+++ b/examples/twind/package.json
@@ -7,9 +7,9 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"@twind/preset-autoprefix": "1.0.0-next.38",
"@twind/preset-tailwind": "1.0.0-next.38",
"@twind/with-remix": "1.0.0-next.38",
@@ -19,8 +19,8 @@
"twind": "^1.0.0-next.32"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/twind/remix.config.js b/examples/twind/remix.config.js
index fbdc21f9882..ceaf8bf66da 100644
--- a/examples/twind/remix.config.js
+++ b/examples/twind/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
appDirectory: "app",
diff --git a/examples/usematches-loader-data/package.json b/examples/usematches-loader-data/package.json
index 7e5a47762a7..04d5df2d4d2 100644
--- a/examples/usematches-loader-data/package.json
+++ b/examples/usematches-loader-data/package.json
@@ -7,15 +7,15 @@
"start": "remix-serve build"
},
"dependencies": {
- "@remix-run/node": "1.6.0",
- "@remix-run/react": "1.6.0",
- "@remix-run/serve": "1.6.0",
+ "@remix-run/node": "1.6.1",
+ "@remix-run/react": "1.6.1",
+ "@remix-run/serve": "1.6.1",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
- "@remix-run/dev": "1.6.0",
- "@remix-run/eslint-config": "1.6.0",
+ "@remix-run/dev": "1.6.1",
+ "@remix-run/eslint-config": "1.6.1",
"@types/react": "^17.0.39",
"@types/react-dom": "^17.0.13",
"eslint": "^8.10.0",
diff --git a/examples/usematches-loader-data/remix.config.js b/examples/usematches-loader-data/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/examples/usematches-loader-data/remix.config.js
+++ b/examples/usematches-loader-data/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/integration/helpers/cf-template/remix.config.js b/integration/helpers/cf-template/remix.config.js
index 684d139d7d2..a4fac89855c 100644
--- a/integration/helpers/cf-template/remix.config.js
+++ b/integration/helpers/cf-template/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
serverBuildTarget: "cloudflare-workers",
server: "./server.js",
diff --git a/integration/helpers/deno-template/remix.config.js b/integration/helpers/deno-template/remix.config.js
index 4dde611cb5c..d621422e56f 100644
--- a/integration/helpers/deno-template/remix.config.js
+++ b/integration/helpers/deno-template/remix.config.js
@@ -1,3 +1,4 @@
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
serverBuildTarget: "deno",
server: "./server.ts",
diff --git a/integration/helpers/node-template/remix.config.js b/integration/helpers/node-template/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/integration/helpers/node-template/remix.config.js
+++ b/integration/helpers/node-template/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/packages/create-remix/package.json b/packages/create-remix/package.json
index f12ed375d19..289a36fa1df 100644
--- a/packages/create-remix/package.json
+++ b/packages/create-remix/package.json
@@ -1,6 +1,6 @@
{
"name": "create-remix",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "Create a new Remix app",
"homepage": "https://remix.run",
"bugs": {
@@ -16,7 +16,7 @@
"create-remix": "cli.js"
},
"dependencies": {
- "@remix-run/dev": "1.6.0"
+ "@remix-run/dev": "1.6.1"
},
"engines": {
"node": ">=14"
diff --git a/packages/remix-architect/package.json b/packages/remix-architect/package.json
index 9aa661a7933..8f77c828d47 100644
--- a/packages/remix-architect/package.json
+++ b/packages/remix-architect/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/architect",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "Architect server request handler for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
@@ -13,7 +13,7 @@
"license": "MIT",
"dependencies": {
"@architect/functions": "^5.0.2",
- "@remix-run/node": "1.6.0",
+ "@remix-run/node": "1.6.1",
"@types/aws-lambda": "^8.10.82"
},
"devDependencies": {
diff --git a/packages/remix-cloudflare-pages/package.json b/packages/remix-cloudflare-pages/package.json
index 3ca0fa626af..e730a4ed6ce 100644
--- a/packages/remix-cloudflare-pages/package.json
+++ b/packages/remix-cloudflare-pages/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/cloudflare-pages",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "Cloudflare Pages request handler for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
@@ -14,7 +14,7 @@
"main": "./index.js",
"module": "./esm/index.js",
"dependencies": {
- "@remix-run/cloudflare": "1.6.0"
+ "@remix-run/cloudflare": "1.6.1"
},
"devDependencies": {
"@cloudflare/workers-types": "^3.4.0",
diff --git a/packages/remix-cloudflare-workers/package.json b/packages/remix-cloudflare-workers/package.json
index bc998aa6f9f..34b900919fc 100644
--- a/packages/remix-cloudflare-workers/package.json
+++ b/packages/remix-cloudflare-workers/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/cloudflare-workers",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "Cloudflare worker request handler for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
@@ -15,7 +15,7 @@
"module": "./esm/index.js",
"dependencies": {
"@cloudflare/kv-asset-handler": "^0.1.3",
- "@remix-run/cloudflare": "1.6.0"
+ "@remix-run/cloudflare": "1.6.1"
},
"devDependencies": {
"@cloudflare/workers-types": "^3.4.0"
diff --git a/packages/remix-cloudflare/package.json b/packages/remix-cloudflare/package.json
index 2f26af76821..1d83e88c35f 100644
--- a/packages/remix-cloudflare/package.json
+++ b/packages/remix-cloudflare/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/cloudflare",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "Cloudflare platform abstractions for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
@@ -13,7 +13,7 @@
"license": "MIT",
"dependencies": {
"@cloudflare/kv-asset-handler": "^0.1.3",
- "@remix-run/server-runtime": "1.6.0"
+ "@remix-run/server-runtime": "1.6.1"
},
"devDependencies": {
"@cloudflare/workers-types": "^3.4.0"
diff --git a/packages/remix-deno/package.json b/packages/remix-deno/package.json
index 46e4f2ef150..65347f73884 100644
--- a/packages/remix-deno/package.json
+++ b/packages/remix-deno/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/deno",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "Deno platform abstractions for Remix",
"homepage": "https://remix.run",
"bugs": {
@@ -14,7 +14,7 @@
"license": "MIT",
"sideEffects": false,
"dependencies": {
- "@remix-run/server-runtime": "1.6.0",
+ "@remix-run/server-runtime": "1.6.1",
"mime": "^3.0.0"
},
"engines": {
diff --git a/packages/remix-dev/__tests__/fixtures/replace-remix-imports/remix.config.js b/packages/remix-dev/__tests__/fixtures/replace-remix-imports/remix.config.js
index a83517ba5f8..63891ac2ab2 100644
--- a/packages/remix-dev/__tests__/fixtures/replace-remix-imports/remix.config.js
+++ b/packages/remix-dev/__tests__/fixtures/replace-remix-imports/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
cacheDirectory: "./node_modules/.cache/remix",
ignoredRouteFiles: [".*", "**/*.css", "**/*.test.{js,jsx,ts,tsx}"],
diff --git a/packages/remix-dev/__tests__/fixtures/stack/remix.config.js b/packages/remix-dev/__tests__/fixtures/stack/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/packages/remix-dev/__tests__/fixtures/stack/remix.config.js
+++ b/packages/remix-dev/__tests__/fixtures/stack/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/packages/remix-dev/package.json b/packages/remix-dev/package.json
index 2b95c41ca72..d7d759d6a64 100644
--- a/packages/remix-dev/package.json
+++ b/packages/remix-dev/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/dev",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "Dev tools and CLI for Remix",
"homepage": "https://remix.run",
"bugs": {
@@ -22,7 +22,7 @@
"@babel/preset-typescript": "^7.17.12",
"@esbuild-plugins/node-modules-polyfill": "^0.1.4",
"@npmcli/package-json": "^2.0.0",
- "@remix-run/server-runtime": "1.6.0",
+ "@remix-run/server-runtime": "1.6.1",
"@yarnpkg/esbuild-plugin-pnp": "^2.0.0",
"cacache": "^15.0.5",
"chalk": "^4.1.2",
diff --git a/packages/remix-eslint-config/index.js b/packages/remix-eslint-config/index.js
index d165d347bf6..541702546f8 100644
--- a/packages/remix-eslint-config/index.js
+++ b/packages/remix-eslint-config/index.js
@@ -18,9 +18,7 @@ const OFF = 0;
// const WARN = 1;
// const ERROR = 2;
-/**
- * @type {import("eslint").Linter.Config}
- */
+/** @type {import('eslint').Linter.Config} */
const config = {
parser: "@babel/eslint-parser",
parserOptions: {
diff --git a/packages/remix-eslint-config/package.json b/packages/remix-eslint-config/package.json
index 48daae2cfc7..fdbd685a6e6 100644
--- a/packages/remix-eslint-config/package.json
+++ b/packages/remix-eslint-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/eslint-config",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "ESLint configuration for Remix projects",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
diff --git a/packages/remix-express/package.json b/packages/remix-express/package.json
index 77918315878..a3f79e3abc2 100644
--- a/packages/remix-express/package.json
+++ b/packages/remix-express/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/express",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "Express server request handler for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
@@ -12,7 +12,7 @@
},
"license": "MIT",
"dependencies": {
- "@remix-run/node": "1.6.0"
+ "@remix-run/node": "1.6.1"
},
"devDependencies": {
"@types/express": "^4.17.9",
diff --git a/packages/remix-netlify/package.json b/packages/remix-netlify/package.json
index ea9ecdbe73f..0c2a1cc9247 100644
--- a/packages/remix-netlify/package.json
+++ b/packages/remix-netlify/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/netlify",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "Netlify server request handler for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
@@ -12,7 +12,7 @@
},
"license": "MIT",
"dependencies": {
- "@remix-run/node": "1.6.0"
+ "@remix-run/node": "1.6.1"
},
"devDependencies": {
"@netlify/functions": "^1.0.0"
diff --git a/packages/remix-node/package.json b/packages/remix-node/package.json
index dd19281503b..e625d21ae94 100644
--- a/packages/remix-node/package.json
+++ b/packages/remix-node/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/node",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "Node.js platform abstractions for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
@@ -13,7 +13,7 @@
"license": "MIT",
"sideEffects": false,
"dependencies": {
- "@remix-run/server-runtime": "1.6.0",
+ "@remix-run/server-runtime": "1.6.1",
"@remix-run/web-fetch": "^4.1.3",
"@remix-run/web-file": "^3.0.2",
"@remix-run/web-stream": "^1.0.3",
diff --git a/packages/remix-react/package.json b/packages/remix-react/package.json
index af50e4da62e..27ccd78cfb3 100644
--- a/packages/remix-react/package.json
+++ b/packages/remix-react/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/react",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "React DOM bindings for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
diff --git a/packages/remix-serve/package.json b/packages/remix-serve/package.json
index f1da8774621..a316a354b94 100644
--- a/packages/remix-serve/package.json
+++ b/packages/remix-serve/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/serve",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "Production application server for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
@@ -15,7 +15,7 @@
"remix-serve": "cli.js"
},
"dependencies": {
- "@remix-run/express": "1.6.0",
+ "@remix-run/express": "1.6.1",
"compression": "^1.7.4",
"express": "^4.17.1",
"morgan": "^1.10.0"
diff --git a/packages/remix-server-runtime/package.json b/packages/remix-server-runtime/package.json
index 4582915c6f7..3de2ab8e612 100644
--- a/packages/remix-server-runtime/package.json
+++ b/packages/remix-server-runtime/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/server-runtime",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "Server runtime for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
diff --git a/packages/remix-vercel/package.json b/packages/remix-vercel/package.json
index ebace35c9ba..baa2802b5fc 100644
--- a/packages/remix-vercel/package.json
+++ b/packages/remix-vercel/package.json
@@ -1,6 +1,6 @@
{
"name": "@remix-run/vercel",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "Vercel server request handler for Remix",
"bugs": {
"url": "https://github.com/remix-run/remix/issues"
@@ -12,7 +12,7 @@
},
"license": "MIT",
"dependencies": {
- "@remix-run/node": "1.6.0"
+ "@remix-run/node": "1.6.1"
},
"devDependencies": {
"@types/supertest": "^2.0.10",
diff --git a/packages/remix/package.json b/packages/remix/package.json
index 1662362718d..21905638541 100644
--- a/packages/remix/package.json
+++ b/packages/remix/package.json
@@ -1,6 +1,6 @@
{
"name": "remix",
- "version": "1.6.0",
+ "version": "1.6.1",
"description": "A framework for building better websites",
"homepage": "https://remix.run",
"bugs": {
diff --git a/prettier.config.js b/prettier.config.js
index 6588ba1fea5..27cca4c3daf 100644
--- a/prettier.config.js
+++ b/prettier.config.js
@@ -1,4 +1,2 @@
-/**
- * @type {import('prettier').Options}
- */
+/** @type {import('prettier').Options} */
module.exports = {};
diff --git a/scripts/deployment-test/package.json b/scripts/deployment-test/package.json
index 0f66031980f..9ea02350b34 100644
--- a/scripts/deployment-test/package.json
+++ b/scripts/deployment-test/package.json
@@ -10,7 +10,7 @@
"@architect/utils": "^3.0.4",
"@cloudflare/wrangler": "latest",
"@iarna/toml": "^2.2.5",
- "@remix-run/dev": "1.6.0",
+ "@remix-run/dev": "1.6.1",
"@testing-library/cypress": "^8.0.2",
"aws-sdk": "^2.1055.0",
"cypress": "^9.2.0",
diff --git a/scripts/playground/template/remix.config.js b/scripts/playground/template/remix.config.js
index 457709942de..a2074b02762 100644
--- a/scripts/playground/template/remix.config.js
+++ b/scripts/playground/template/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
cacheDirectory: "./node_modules/.cache/remix",
ignoredRouteFiles: ["**/.*", "**/*.css", "**/*.test.{js,jsx,ts,tsx}"],
diff --git a/scripts/release/comment.mjs b/scripts/release/comment.mjs
deleted file mode 100644
index 2e965770423..00000000000
--- a/scripts/release/comment.mjs
+++ /dev/null
@@ -1,66 +0,0 @@
-import {
- commentOnIssue,
- commentOnPullRequest,
- getIssuesClosedByPullRequests,
- prsMergedSinceLast,
-} from "./octokit.mjs";
-import { LATEST_RELEASE, OWNER, REPO } from "./constants.mjs";
-
-async function commentOnIssuesAndPrsAboutRelease() {
- if (LATEST_RELEASE.includes("experimental")) {
- return;
- }
-
- let { merged, previousRelease } = await prsMergedSinceLast({
- owner: OWNER,
- repo: REPO,
- lastRelease: LATEST_RELEASE,
- });
-
- let suffix = merged.length === 1 ? "" : "s";
- console.log(
- `Found ${merged.length} PR${suffix} merged since last release (latest: ${LATEST_RELEASE}, previous: ${previousRelease})`
- );
-
- let promises = [];
- let issuesCommentedOn = new Set();
-
- for (let pr of merged) {
- console.log(`commenting on pr #${pr.number}`);
-
- promises.push(
- commentOnPullRequest({
- owner: OWNER,
- repo: REPO,
- pr: pr.number,
- version: LATEST_RELEASE,
- })
- );
-
- let issuesClosed = await getIssuesClosedByPullRequests(
- pr.html_url,
- pr.body
- );
-
- for (let issue of issuesClosed) {
- if (issuesCommentedOn.has(issue.number)) {
- // already commented on this issue
- continue;
- }
- issuesCommentedOn.add(issue.number);
- console.log(`commenting on issue #${issue.number}`);
- promises.push(
- commentOnIssue({
- issue: issue.number,
- owner: OWNER,
- repo: REPO,
- version: LATEST_RELEASE,
- })
- );
- }
- }
-
- await Promise.all(promises);
-}
-
-commentOnIssuesAndPrsAboutRelease();
diff --git a/scripts/release/comment.ts b/scripts/release/comment.ts
new file mode 100644
index 00000000000..040945c18c6
--- /dev/null
+++ b/scripts/release/comment.ts
@@ -0,0 +1,71 @@
+import { REF, OWNER, REPO, PR_FILES_STARTS_WITH } from "./constants";
+import {
+ commentOnIssue,
+ commentOnPullRequest,
+ getIssuesClosedByPullRequests,
+ prsMergedSinceLastTag,
+} from "./github";
+import { getGitHubUrl } from "./utils";
+
+async function commentOnIssuesAndPrsAboutRelease() {
+ if (REF.includes("experimental")) {
+ return;
+ }
+
+ let { merged, previousTag } = await prsMergedSinceLastTag({
+ owner: OWNER,
+ repo: REPO,
+ githubRef: REF,
+ });
+
+ let suffix = merged.length === 1 ? "" : "s";
+ let prFilesDirs = PR_FILES_STARTS_WITH.join(", ");
+ console.log(
+ `Found ${merged.length} PR${suffix} merged ` +
+ `that touched \`${prFilesDirs}\` since ` +
+ `previous release (current: ${REF}, previous: ${previousTag})`
+ );
+
+ let promises: Array
> = [];
+ let issuesCommentedOn = new Set();
+
+ for (let pr of merged) {
+ console.log(`commenting on pr ${getGitHubUrl("pull", pr.number)}`);
+
+ promises.push(
+ commentOnPullRequest({
+ owner: OWNER,
+ repo: REPO,
+ pr: pr.number,
+ version: REF,
+ })
+ );
+
+ let issuesClosed = await getIssuesClosedByPullRequests(
+ pr.html_url,
+ pr.body
+ );
+
+ for (let issueNumber of issuesClosed) {
+ if (issuesCommentedOn.has(issueNumber)) {
+ // we already commented on this issue
+ // so we don't need to do it again
+ continue;
+ }
+ issuesCommentedOn.add(issueNumber);
+ console.log(`commenting on issue ${getGitHubUrl("issue", issueNumber)}`);
+ promises.push(
+ commentOnIssue({
+ issue: issueNumber,
+ owner: OWNER,
+ repo: REPO,
+ version: REF,
+ })
+ );
+ }
+ }
+
+ await Promise.all(promises);
+}
+
+commentOnIssuesAndPrsAboutRelease();
diff --git a/scripts/release/constants.mjs b/scripts/release/constants.ts
similarity index 63%
rename from scripts/release/constants.mjs
rename to scripts/release/constants.ts
index d39c434435a..9d39a81415f 100644
--- a/scripts/release/constants.mjs
+++ b/scripts/release/constants.ts
@@ -1,3 +1,9 @@
+if (!process.env.DEFAULT_BRANCH) {
+ throw new Error("DEFAULT_BRANCH is required");
+}
+if (!process.env.NIGHTLY_BRANCH) {
+ throw new Error("NIGHTLY_BRANCH is required");
+}
if (!process.env.GITHUB_TOKEN) {
throw new Error("GITHUB_TOKEN is required");
}
@@ -12,8 +18,9 @@ if (!process.env.VERSION.startsWith("refs/tags/")) {
}
export const [OWNER, REPO] = process.env.GITHUB_REPOSITORY.split("/");
-export const LATEST_RELEASE = process.env.VERSION.replace("refs/tags/", "");
+export const REF = process.env.VERSION.replace("refs/tags/", "");
export const GITHUB_TOKEN = process.env.GITHUB_TOKEN;
export const GITHUB_REPOSITORY = process.env.GITHUB_REPOSITORY;
-
+export const DEFAULT_BRANCH = process.env.DEFAULT_BRANCH;
+export const NIGHTLY_BRANCH = process.env.NIGHTLY_BRANCH;
export const PR_FILES_STARTS_WITH = ["packages/"];
diff --git a/scripts/release/github.ts b/scripts/release/github.ts
new file mode 100644
index 00000000000..40737e753a3
--- /dev/null
+++ b/scripts/release/github.ts
@@ -0,0 +1,347 @@
+import type { RestEndpointMethodTypes } from "@octokit/rest";
+import * as semver from "semver";
+
+import {
+ PR_FILES_STARTS_WITH,
+ NIGHTLY_BRANCH,
+ DEFAULT_BRANCH,
+} from "./constants";
+import { gql, graphqlWithAuth, octokit } from "./octokit";
+import type { MinimalTag } from "./utils";
+import { checkIfStringStartsWith, sortByDate } from "./utils";
+
+type PullRequest =
+ RestEndpointMethodTypes["pulls"]["list"]["response"]["data"][number];
+
+type PullRequestFiles =
+ RestEndpointMethodTypes["pulls"]["listFiles"]["response"]["data"];
+
+interface PrsMergedSinceLastTagOptions {
+ owner: string;
+ repo: string;
+ githubRef: string;
+}
+
+interface PrsMergedSinceLastTagResult {
+ merged: Awaited>;
+ previousTag: string;
+}
+
+export async function prsMergedSinceLastTag({
+ owner,
+ repo,
+ githubRef,
+}: PrsMergedSinceLastTagOptions): Promise {
+ let tags = await getAllTags(owner, repo);
+ let { currentTag, previousTag } = getPreviousTagFromCurrentTag(
+ githubRef,
+ tags
+ );
+
+ /**
+ nightly > nightly => 'dev'
+ nightly > stable => 'main'
+ stable > nightly => 'dev'
+ */
+ let baseRef =
+ currentTag.isPrerelease && previousTag.isPrerelease
+ ? NIGHTLY_BRANCH
+ : currentTag.isPrerelease && !previousTag.isPrerelease
+ ? NIGHTLY_BRANCH
+ : DEFAULT_BRANCH;
+
+ let prs = await getMergedPRsBetweenTags(
+ owner,
+ repo,
+ previousTag,
+ currentTag,
+ baseRef
+ );
+
+ let prsThatTouchedFiles = await getPullRequestWithFiles(owner, repo, prs);
+
+ return {
+ merged: prsThatTouchedFiles,
+ previousTag: previousTag.tag,
+ };
+}
+
+type PullRequestWithFiles = PullRequest & {
+ files: PullRequestFiles;
+};
+
+async function getPullRequestWithFiles(
+ owner: string,
+ repo: string,
+ prs: Array
+): Promise> {
+ let prsWithFiles = await Promise.all(
+ prs.map(async (pr) => {
+ let files = await octokit.paginate(octokit.pulls.listFiles, {
+ owner,
+ repo,
+ per_page: 100,
+ pull_number: pr.number,
+ });
+
+ return { ...pr, files };
+ })
+ );
+
+ return prsWithFiles.filter((pr) => {
+ return pr.files.some((file) => {
+ return checkIfStringStartsWith(file.filename, PR_FILES_STARTS_WITH);
+ });
+ });
+}
+
+function getPreviousTagFromCurrentTag(
+ currentTag: string,
+ tags: Awaited>
+): {
+ previousTag: MinimalTag;
+ currentTag: MinimalTag;
+} {
+ let validTags = tags
+ .map((tag) => {
+ let isPrerelease = semver.prerelease(tag.name) !== null;
+
+ if (!tag.commit.committer?.date) return null;
+
+ return {
+ tag: tag.name,
+ date: new Date(tag.commit.committer.date),
+ isPrerelease,
+ };
+ })
+ .filter((v: any): v is MinimalTag => typeof v !== "undefined")
+ .sort(sortByDate);
+
+ let tmpCurrentTagIndex = validTags.findIndex((tag) => tag.tag === currentTag);
+ let tmpCurrentTagInfo = validTags.at(tmpCurrentTagIndex);
+
+ if (!tmpCurrentTagInfo) {
+ throw new Error(`Could not find last tag ${currentTag}`);
+ }
+
+ let currentTagInfo: MinimalTag | undefined;
+ let previousTagInfo: MinimalTag | undefined;
+
+ // if the currentTag was a stable tag, then we want to find the previous stable tag
+ if (!tmpCurrentTagInfo.isPrerelease) {
+ let stableTags = validTags
+ .filter((tag) => !tag.isPrerelease)
+ .sort((a, b) => semver.rcompare(a.tag, b.tag));
+
+ let stableTagIndex = stableTags.findIndex((tag) => tag.tag === currentTag);
+ currentTagInfo = stableTags.at(stableTagIndex);
+ if (!currentTagInfo) {
+ throw new Error(`Could not find last stable tag ${currentTag}`);
+ }
+
+ previousTagInfo = stableTags.at(stableTagIndex + 1);
+ if (!previousTagInfo) {
+ throw new Error(`Could not find previous stable tag from ${currentTag}`);
+ }
+
+ return { currentTag: currentTagInfo, previousTag: previousTagInfo };
+ }
+
+ currentTagInfo = tmpCurrentTagInfo;
+ if (!currentTagInfo) {
+ throw new Error(`Could not find last tag ${currentTag}`);
+ }
+
+ previousTagInfo = validTags.at(tmpCurrentTagIndex + 1);
+ if (!previousTagInfo) {
+ throw new Error(
+ `Could not find previous prerelease tag from ${currentTag}`
+ );
+ }
+
+ return {
+ currentTag: currentTagInfo,
+ previousTag: previousTagInfo,
+ };
+}
+
+async function getMergedPRsBetweenTags(
+ owner: string,
+ repo: string,
+ startTag: MinimalTag,
+ endTag: MinimalTag,
+ baseRef: string,
+ page: number = 1,
+ nodes: Array = []
+): Promise> {
+ let pulls = await octokit.pulls.list({
+ owner,
+ repo,
+ state: "closed",
+ sort: "updated",
+ direction: "desc",
+ per_page: 100,
+ page,
+ base: baseRef,
+ });
+
+ let merged = pulls.data.filter((pull) => {
+ if (!pull.merged_at) return false;
+ let mergedDate = new Date(pull.merged_at);
+ return mergedDate > startTag.date && mergedDate < endTag.date;
+ });
+
+ if (pulls.data.length !== 0) {
+ return getMergedPRsBetweenTags(
+ owner,
+ repo,
+ startTag,
+ endTag,
+ baseRef,
+ page + 1,
+ [...nodes, ...merged]
+ );
+ }
+
+ return [...nodes, ...merged];
+}
+
+// TODO: we might be able to get away with just getting up until the "latest" tag
+async function getAllTags(owner: string, repo: string) {
+ let tags = await octokit.paginate(octokit.rest.repos.listTags, {
+ owner,
+ repo,
+ });
+
+ return await Promise.all(
+ tags.map(async (tag) => {
+ let commit = await octokit.rest.repos.getCommit({
+ owner,
+ repo,
+ ref: tag.commit.sha,
+ });
+
+ return {
+ ...tag,
+ commit: commit.data.commit,
+ };
+ })
+ );
+}
+
+export async function getIssuesClosedByPullRequests(
+ prHtmlUrl: string,
+ prBody: string | null
+): Promise> {
+ let linkedIssues = await getIssuesLinkedToPullRequest(prHtmlUrl);
+ if (!prBody) return linkedIssues.map((issue) => issue.number);
+
+ /**
+ * This regex matches for one of github's issue references for auto linking an issue to a PR
+ * as that only happens when the PR is sent to the default branch of the repo
+ * https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword
+ */
+ let regex =
+ /(close|closes|closed|fix|fixes|fixed|resolve|resolves|resolved)\s#([0-9]+)/gi;
+ let matches = prBody.match(regex);
+ if (!matches) return linkedIssues.map((issue) => issue.number);
+
+ let issues = matches.map((match) => {
+ let [, issueNumber] = match.split(" #");
+ return { number: parseInt(issueNumber, 10) };
+ });
+
+ return [...linkedIssues, ...issues.filter((issue) => issue !== null)].map(
+ (issue) => issue.number
+ );
+}
+
+interface GitHubClosingIssueReference {
+ resource: {
+ closingIssuesReferences: {
+ pageInfo: {
+ endCursor: string;
+ hasNextPage: boolean;
+ };
+ nodes: Array<{ number: number }>;
+ };
+ };
+}
+
+async function getIssuesLinkedToPullRequest(
+ prHtmlUrl: string,
+ nodes: Array<{ number: number }> = [],
+ after?: string
+): Promise> {
+ let res: GitHubClosingIssueReference = await graphqlWithAuth(
+ gql`
+ query GET_ISSUES_CLOSED_BY_PR($prHtmlUrl: URI!, $after: String) {
+ resource(url: $prHtmlUrl) {
+ ... on PullRequest {
+ closingIssuesReferences(first: 100, after: $after) {
+ nodes {
+ number
+ }
+ pageInfo {
+ hasNextPage
+ endCursor
+ }
+ }
+ }
+ }
+ }
+ `,
+ { prHtmlUrl, after }
+ );
+
+ let newNodes = res?.resource?.closingIssuesReferences?.nodes ?? [];
+ nodes.push(...newNodes);
+
+ if (res?.resource?.closingIssuesReferences?.pageInfo?.hasNextPage) {
+ return getIssuesLinkedToPullRequest(
+ prHtmlUrl,
+ nodes,
+ res?.resource?.closingIssuesReferences?.pageInfo?.endCursor
+ );
+ }
+
+ return nodes;
+}
+
+export async function commentOnPullRequest({
+ owner,
+ repo,
+ pr,
+ version,
+}: {
+ owner: string;
+ repo: string;
+ pr: number;
+ version: string;
+}) {
+ await octokit.issues.createComment({
+ owner,
+ repo,
+ issue_number: pr,
+ body: `๐ค Hello there,\n\nWe just published version \`${version}\` which includes this pull request. If you'd like to take it for a test run please try it out and let us know what you think!\n\nThanks!`,
+ });
+}
+
+export async function commentOnIssue({
+ owner,
+ repo,
+ issue,
+ version,
+}: {
+ owner: string;
+ repo: string;
+ issue: number;
+ version: string;
+}) {
+ await octokit.issues.createComment({
+ owner,
+ repo,
+ issue_number: issue,
+ body: `๐ค Hello there,\n\nWe just published version \`${version}\` which involves this issue. If you'd like to take it for a test run please try it out and let us know what you think!\n\nThanks!`,
+ });
+}
diff --git a/scripts/release/octokit.mjs b/scripts/release/octokit.mjs
deleted file mode 100644
index a1f00f8c379..00000000000
--- a/scripts/release/octokit.mjs
+++ /dev/null
@@ -1,212 +0,0 @@
-import { Octokit as RestOctokit } from "@octokit/rest";
-import { paginateRest } from "@octokit/plugin-paginate-rest";
-import { graphql } from "@octokit/graphql";
-
-import {
- GITHUB_TOKEN,
- GITHUB_REPOSITORY,
- PR_FILES_STARTS_WITH,
-} from "./constants.mjs";
-
-const graphqlWithAuth = graphql.defaults({
- headers: { authorization: `token ${GITHUB_TOKEN}` },
-});
-
-const Octokit = RestOctokit.plugin(paginateRest);
-const octokit = new Octokit({ auth: GITHUB_TOKEN });
-
-const gql = String.raw;
-
-/**
- * @param {{ owner: string; repo: string; lastRelease: string }} args
- */
-export async function prsMergedSinceLast({
- owner,
- repo,
- lastRelease: lastReleaseVersion,
-}) {
- let releases = await octokit.paginate(octokit.rest.repos.listReleases, {
- owner,
- repo,
- per_page: 100,
- });
-
- let sorted = releases
- .sort((a, b) => {
- // @ts-ignore
- return new Date(b.published_at) - new Date(a.published_at);
- })
- .filter((release) => {
- return release.tag_name.includes("experimental") === false;
- });
-
- let lastReleaseIndex = sorted.findIndex((release) => {
- return release.tag_name === lastReleaseVersion;
- });
-
- let lastRelease = sorted[lastReleaseIndex];
- if (!lastRelease) {
- throw new Error(
- `Could not find last release ${lastRelease} in ${GITHUB_REPOSITORY}`
- );
- }
-
- // if the lastRelease was a stable release, then we want to find the previous stable release
- let previousRelease;
- if (lastRelease.prerelease === false) {
- let stableReleases = sorted.filter((release) => {
- return release.prerelease === false;
- });
- previousRelease = stableReleases.at(1);
- } else {
- previousRelease = sorted.at(lastReleaseIndex + 1);
- }
-
- if (!previousRelease) {
- throw new Error(`Could not find previous release in ${GITHUB_REPOSITORY}`);
- }
-
- let startDate = new Date(previousRelease.created_at);
- let endDate = new Date(lastRelease.created_at);
-
- let prs = await octokit.paginate(octokit.pulls.list, {
- owner,
- repo,
- state: "closed",
- sort: "updated",
- direction: "desc",
- });
-
- let mergedPullRequestsSinceLastTag = prs.filter((pullRequest) => {
- if (!pullRequest.merged_at) return false;
- let mergedDate = new Date(pullRequest.merged_at);
- return mergedDate > startDate && mergedDate < endDate;
- });
-
- let prsWithFiles = await Promise.all(
- mergedPullRequestsSinceLastTag.map(async (pr) => {
- let files = await octokit.paginate(octokit.pulls.listFiles, {
- owner,
- repo,
- per_page: 100,
- pull_number: pr.number,
- });
-
- return {
- ...pr,
- files,
- };
- })
- );
-
- return {
- previousRelease: previousRelease.tag_name,
- merged: prsWithFiles.filter((pr) => {
- return pr.files.some((file) => {
- return checkIfStringStartsWith(file.filename, PR_FILES_STARTS_WITH);
- });
- }),
- };
-}
-
-/**
- * @param {{ owner: string, repo: string, pr: number, version: string }} args
- */
-export async function commentOnPullRequest({ owner, repo, pr, version }) {
- await octokit.issues.createComment({
- owner,
- repo,
- issue_number: pr,
- body: `๐ค Hello there,\n\nWe just published version \`${version}\` which includes this pull request. If you'd like to take it for a test run please try it out and let us know what you think!\n\nThanks!`,
- });
-}
-
-/**
- * @param {{ owner: string, repo: string, issue: number, version: string }} args
- */
-export async function commentOnIssue({ owner, repo, issue, version }) {
- await octokit.issues.createComment({
- owner,
- repo,
- issue_number: issue,
- body: `๐ค Hello there,\n\nWe just published version \`${version}\` which involves this issue. If you'd like to take it for a test run please try it out and let us know what you think!\n\nThanks!`,
- });
-}
-
-/**
- * @param {string} prHtmlUrl
- * @param {Array<{ number: number }>} [nodes]
- * @param {*} [after]
- * @returns {Promise>}
- */
-async function getIssuesLinkedToPullRequest(prHtmlUrl, nodes = [], after) {
- let res = await graphqlWithAuth(
- gql`
- query GET_ISSUES_CLOSED_BY_PR($prHtmlUrl: URI!, $after: String) {
- resource(url: $prHtmlUrl) {
- ... on PullRequest {
- closingIssuesReferences(first: 100, after: $after) {
- nodes {
- number
- }
- pageInfo {
- hasNextPage
- endCursor
- }
- }
- }
- }
- }
- `,
- { prHtmlUrl, after }
- );
-
- let newNodes = res?.resource?.closingIssuesReferences?.nodes ?? [];
- nodes.push(...newNodes);
-
- if (res?.resource?.closingIssuesReferences?.pageInfo?.hasNextPage) {
- return getIssuesLinkedToPullRequest(
- prHtmlUrl,
- nodes,
- res?.resource?.closingIssuesReferences?.pageInfo?.endCursor
- );
- }
-
- return nodes;
-}
-
-/**
- * @param {string} prHtmlUrl
- * @param {string | null} prBody
- * @returns {Promise}
- */
-export async function getIssuesClosedByPullRequests(prHtmlUrl, prBody) {
- let linked = await getIssuesLinkedToPullRequest(prHtmlUrl);
- if (!prBody) return linked;
-
- /**
- * This regex matches for one of github's issue references for auto linking an issue to a PR
- * as that only happens when the PR is sent to the default branch of the repo
- * https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword
- */
- let regex =
- /(close|closes|closed|fix|fixes|fixed|resolve|resolves|resolved)\s#([0-9]+)/gi;
- let matches = prBody.match(regex);
- if (!matches) return linked;
-
- let issues = matches.map((match) => {
- let [, issueNumber] = match.split(" #");
- return { number: parseInt(issueNumber, 10) };
- });
-
- return [...linked, ...issues.filter((issue) => issue !== null)];
-}
-
-/**
- * @param {string} string
- * @param {string[]} substrings
- * @returns {boolean}
- */
-function checkIfStringStartsWith(string, substrings) {
- return substrings.some((substr) => string.startsWith(substr));
-}
diff --git a/scripts/release/octokit.ts b/scripts/release/octokit.ts
new file mode 100644
index 00000000000..6be758a13c9
--- /dev/null
+++ b/scripts/release/octokit.ts
@@ -0,0 +1,42 @@
+import { Octokit as RestOctokit } from "@octokit/rest";
+import type { Octokit as OctokitType } from "@octokit/rest";
+import { paginateRest } from "@octokit/plugin-paginate-rest";
+import { throttling } from "@octokit/plugin-throttling";
+import { graphql } from "@octokit/graphql";
+
+import { GITHUB_TOKEN } from "./constants";
+
+export const graphqlWithAuth = graphql.defaults({
+ headers: { authorization: `token ${GITHUB_TOKEN}` },
+});
+
+const Octokit = RestOctokit.plugin(paginateRest, throttling);
+
+export const octokit = new Octokit({
+ auth: GITHUB_TOKEN,
+ throttle: {
+ onRateLimit(retryAfter: number, options: any, octokit: OctokitType) {
+ octokit.log.warn(
+ `Request quota exhausted for request ${options.method} ${options.url}`
+ );
+
+ if (options.request.retryCount === 0) {
+ // only retries once
+ octokit.log.info(`Retrying after ${retryAfter} seconds!`);
+ return true;
+ }
+ },
+ onSecondaryRateLimit(
+ _retryAfter: number,
+ options: any,
+ octokit: OctokitType
+ ) {
+ // does not retry, only logs a warning
+ octokit.log.warn(
+ `SecondaryRateLimit detected for request ${options.method} ${options.url}`
+ );
+ },
+ },
+});
+
+export const gql = String.raw;
diff --git a/scripts/release/package-lock.json b/scripts/release/package-lock.json
new file mode 100644
index 00000000000..e22eaa48ffb
--- /dev/null
+++ b/scripts/release/package-lock.json
@@ -0,0 +1,1022 @@
+{
+ "name": "release-comments",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "release-comments",
+ "dependencies": {
+ "@octokit/plugin-paginate-rest": "^2.17.0",
+ "@octokit/plugin-throttling": "^3.6.2",
+ "@octokit/rest": "^18.12.0",
+ "esbuild": "^0.14.38",
+ "esbuild-register": "^3.3.2",
+ "semver": "^7.3.7"
+ },
+ "devDependencies": {
+ "@tsconfig/node16": "^1.0.2",
+ "@types/node": "^17.0.23",
+ "@types/semver": "^7.3.9",
+ "typescript": "^4.6.3"
+ }
+ },
+ "node_modules/@octokit/auth-token": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
+ "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
+ "dependencies": {
+ "@octokit/types": "^6.0.3"
+ }
+ },
+ "node_modules/@octokit/core": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz",
+ "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==",
+ "dependencies": {
+ "@octokit/auth-token": "^2.4.4",
+ "@octokit/graphql": "^4.5.8",
+ "@octokit/request": "^5.6.3",
+ "@octokit/request-error": "^2.0.5",
+ "@octokit/types": "^6.0.3",
+ "before-after-hook": "^2.2.0",
+ "universal-user-agent": "^6.0.0"
+ }
+ },
+ "node_modules/@octokit/endpoint": {
+ "version": "6.0.12",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
+ "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
+ "dependencies": {
+ "@octokit/types": "^6.0.3",
+ "is-plain-object": "^5.0.0",
+ "universal-user-agent": "^6.0.0"
+ }
+ },
+ "node_modules/@octokit/graphql": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
+ "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
+ "dependencies": {
+ "@octokit/request": "^5.6.0",
+ "@octokit/types": "^6.0.3",
+ "universal-user-agent": "^6.0.0"
+ }
+ },
+ "node_modules/@octokit/openapi-types": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.1.0.tgz",
+ "integrity": "sha512-kQzJh3ZUv3lDpi6M+uekMRHULvf9DlWoI1XgKN6nPeGDzkSgtkhVq1MMz3bFKQ6H6GbdC3ZqG/a6VzKhIx0VeA=="
+ },
+ "node_modules/@octokit/plugin-paginate-rest": {
+ "version": "2.18.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.18.0.tgz",
+ "integrity": "sha512-n5/AzIoy5Wzp85gqzSbR+dWQDHlyHZrGijnDfLh452547Ynu0hCvszH7EfRE0eqM5ZjfkplO0k+q+P8AAIIJEA==",
+ "dependencies": {
+ "@octokit/types": "^6.35.0"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=2"
+ }
+ },
+ "node_modules/@octokit/plugin-request-log": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
+ "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==",
+ "peerDependencies": {
+ "@octokit/core": ">=3"
+ }
+ },
+ "node_modules/@octokit/plugin-rest-endpoint-methods": {
+ "version": "5.14.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.14.0.tgz",
+ "integrity": "sha512-MRnMs4Dcm1OSaz/g/RLr4YY9otgysS7vN5SUkHGd7t+R8323cHsHFoEWHYPSmgUC0BieHRhvnCRWb4i3Pl+Lgg==",
+ "dependencies": {
+ "@octokit/types": "^6.35.0",
+ "deprecation": "^2.3.1"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=3"
+ }
+ },
+ "node_modules/@octokit/plugin-throttling": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-3.6.2.tgz",
+ "integrity": "sha512-0az5fxgVlhFfFtiKLKVXTpmCG2tK3BG0fYI8SO4pmGlN1kyJktJVQA+6KKaFxtxMIWsuHmSEAkR6zSgtk86g2A==",
+ "dependencies": {
+ "@octokit/types": "^6.0.1",
+ "bottleneck": "^2.15.3"
+ },
+ "peerDependencies": {
+ "@octokit/core": "^3.5.0"
+ }
+ },
+ "node_modules/@octokit/request": {
+ "version": "5.6.3",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz",
+ "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==",
+ "dependencies": {
+ "@octokit/endpoint": "^6.0.1",
+ "@octokit/request-error": "^2.1.0",
+ "@octokit/types": "^6.16.1",
+ "is-plain-object": "^5.0.0",
+ "node-fetch": "^2.6.7",
+ "universal-user-agent": "^6.0.0"
+ }
+ },
+ "node_modules/@octokit/request-error": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
+ "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
+ "dependencies": {
+ "@octokit/types": "^6.0.3",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
+ }
+ },
+ "node_modules/@octokit/rest": {
+ "version": "18.12.0",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz",
+ "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==",
+ "dependencies": {
+ "@octokit/core": "^3.5.1",
+ "@octokit/plugin-paginate-rest": "^2.16.8",
+ "@octokit/plugin-request-log": "^1.0.4",
+ "@octokit/plugin-rest-endpoint-methods": "^5.12.0"
+ }
+ },
+ "node_modules/@octokit/types": {
+ "version": "6.35.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.35.0.tgz",
+ "integrity": "sha512-DhLfdUuv3H37u6jBDfkwamypx3HflHg29b26nbA6iVFYkAlZ5cMEtu/9pQoihGnQE5M7jJFnNo25Rr1UwQNF8Q==",
+ "dependencies": {
+ "@octokit/openapi-types": "^12.1.0"
+ }
+ },
+ "node_modules/@tsconfig/node16": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
+ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==",
+ "dev": true
+ },
+ "node_modules/@types/node": {
+ "version": "17.0.45",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz",
+ "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==",
+ "dev": true
+ },
+ "node_modules/@types/semver": {
+ "version": "7.3.10",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.10.tgz",
+ "integrity": "sha512-zsv3fsC7S84NN6nPK06u79oWgrPVd0NvOyqgghV1haPaFcVxIrP4DLomRwGAXk0ui4HZA7mOcSFL98sMVW9viw==",
+ "dev": true
+ },
+ "node_modules/before-after-hook": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
+ "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
+ },
+ "node_modules/bottleneck": {
+ "version": "2.19.5",
+ "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
+ "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="
+ },
+ "node_modules/deprecation": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
+ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
+ },
+ "node_modules/esbuild": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.44.tgz",
+ "integrity": "sha512-Rn+lRRfj60r/3svI6NgAVnetzp3vMOj17BThuhshSj/gS1LR03xrjkDYyfPmrYG/0c3D68rC6FNYMQ3yRbiXeQ==",
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "esbuild-android-64": "0.14.44",
+ "esbuild-android-arm64": "0.14.44",
+ "esbuild-darwin-64": "0.14.44",
+ "esbuild-darwin-arm64": "0.14.44",
+ "esbuild-freebsd-64": "0.14.44",
+ "esbuild-freebsd-arm64": "0.14.44",
+ "esbuild-linux-32": "0.14.44",
+ "esbuild-linux-64": "0.14.44",
+ "esbuild-linux-arm": "0.14.44",
+ "esbuild-linux-arm64": "0.14.44",
+ "esbuild-linux-mips64le": "0.14.44",
+ "esbuild-linux-ppc64le": "0.14.44",
+ "esbuild-linux-riscv64": "0.14.44",
+ "esbuild-linux-s390x": "0.14.44",
+ "esbuild-netbsd-64": "0.14.44",
+ "esbuild-openbsd-64": "0.14.44",
+ "esbuild-sunos-64": "0.14.44",
+ "esbuild-windows-32": "0.14.44",
+ "esbuild-windows-64": "0.14.44",
+ "esbuild-windows-arm64": "0.14.44"
+ }
+ },
+ "node_modules/esbuild-android-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.44.tgz",
+ "integrity": "sha512-dFPHBXmx385zuJULAD/Cmq/LyPRXiAWbf9ylZtY0wJ8iVyWfKYaCYxeJx8OAZUuj46ZwNa7MzW2GBAQLOeiemg==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-android-arm64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.44.tgz",
+ "integrity": "sha512-qqaqqyxHXjZ/0ddKU3I3Nb7lAvVM69ELMhb8+91FyomAUmQPlHtxe+TTiWxXGHE72XEzcgTEGq4VauqLNkN22g==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-darwin-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.44.tgz",
+ "integrity": "sha512-RBmtGKGY06+AW6IOJ1LE/dEeF7HH34C1/Ces9FSitU4bIbIpL4KEuQpTFoxwb4ry5s2hyw7vbPhhtyOd18FH9g==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-darwin-arm64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.44.tgz",
+ "integrity": "sha512-Bmhx5Cfo4Hdb7WyyyDupTB8HPmnFZ8baLfPlzLdYvF6OzsIbV+CY+m/AWf0OQvY40BlkzCLJ/7Lfwbb71Tngmg==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-freebsd-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.44.tgz",
+ "integrity": "sha512-O4HpWa5ZgxbNPQTF7URicLzYa+TidGlmGT/RAC3GjbGEQQYkd0R1Slyh69Yrmb2qmcOcPAgWHbNo1UhK4WmZ4w==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-freebsd-arm64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.44.tgz",
+ "integrity": "sha512-f0/jkAKccnDY7mg1F9l/AMzEm+VXWXK6c3IrOEmd13jyKfpTZKTIlt+yI04THPDCDZTzXHTRUBLozqp+m8Mg5Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-32": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.44.tgz",
+ "integrity": "sha512-WSIhzLldMR7YUoEL7Ix319tC+NFmW9Pu7NgFWxUfOXeWsT0Wg484hm6bNgs7+oY2pGzg715y/Wrqi1uNOMmZJw==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.44.tgz",
+ "integrity": "sha512-zgscTrCMcRZRIsVugqBTP/B5lPLNchBlWjQ8sQq2Epnv+UDtYKgXEq1ctWAmibZNy2E9QRCItKMeIEqeTUT5kA==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-arm": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.44.tgz",
+ "integrity": "sha512-laPBPwGfsbBxGw6F6jnqic2CPXLyC1bPrmnSOeJ9oEnx1rcKkizd4HWCRUc0xv+l4z/USRfx/sEfYlWSLeqoJQ==",
+ "cpu": [
+ "arm"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-arm64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.44.tgz",
+ "integrity": "sha512-H0H/2/wgiScTwBve/JR8/o+Zhabx5KPk8T2mkYZFKQGl1hpUgC+AOmRyqy/Js3p66Wim4F4Akv3I3sJA1sKg0w==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-mips64le": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.44.tgz",
+ "integrity": "sha512-ri3Okw0aleYy7o5n9zlIq+FCtq3tcMlctN6X1H1ucILjBJuH8pan2trJPKWeb8ppntFvE28I9eEXhwkWh6wYKg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-ppc64le": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.44.tgz",
+ "integrity": "sha512-96TqL/MvFRuIVXz+GtCIXzRQ43ZwEk4XTn0RWUNJduXXMDQ/V1iOV28U6x6Oe3NesK4xkoKSaK2+F3VHcU8ZrA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-riscv64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.44.tgz",
+ "integrity": "sha512-rrK9qEp2M8dhilsPn4T9gxUsAumkITc1kqYbpyNMr9EWo+J5ZBj04n3GYldULrcCw4ZCHAJ+qPjqr8b6kG2inA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-s390x": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.44.tgz",
+ "integrity": "sha512-2YmTm9BrW5aUwBSe8wIEARd9EcnOQmkHp4+IVaO09Ez/C5T866x+ABzhG0bwx0b+QRo9q97CRMaQx2Ngb6/hfw==",
+ "cpu": [
+ "s390x"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-netbsd-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.44.tgz",
+ "integrity": "sha512-zypdzPmZTCqYS30WHxbcvtC0E6e/ECvl4WueUdbdWhs2dfWJt5RtCBME664EpTznixR3lSN1MQ2NhwQF8MQryw==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-openbsd-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.44.tgz",
+ "integrity": "sha512-8J43ab9ByYl7KteC03HGQjr2HY1ge7sN04lFnwMFWYk2NCn8IuaeeThvLeNjzOYhyT3I6K8puJP0uVXUu+D1xw==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-register": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.3.3.tgz",
+ "integrity": "sha512-eFHOkutgIMJY5gc8LUp/7c+LLlDqzNi9T6AwCZ2WKKl3HmT+5ef3ZRyPPxDOynInML0fgaC50yszPKfPnjC0NQ==",
+ "peerDependencies": {
+ "esbuild": ">=0.12 <1"
+ }
+ },
+ "node_modules/esbuild-sunos-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.44.tgz",
+ "integrity": "sha512-OH1/09CGUJwffA+HNM6mqPkSIyHVC3ZnURU/4CCIx7IqWUBn1Sh1HRLQC8/TWNgcs0/1u7ygnc2pgf/AHZJ/Ow==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-windows-32": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.44.tgz",
+ "integrity": "sha512-mCAOL9/rRqwfOfxTu2sjq/eAIs7eAXGiU6sPBnowggI7QS953Iq6o3/uDu010LwfN7zr18c/lEj6/PTwwTB3AA==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-windows-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.44.tgz",
+ "integrity": "sha512-AG6BH3+YG0s2Q/IfB1cm68FdyFnoE1P+GFbmgFO3tA4UIP8+BKsmKGGZ5I3+ZjcnzOwvT74bQRVrfnQow2KO5Q==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-windows-arm64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.44.tgz",
+ "integrity": "sha512-ygYPfYE5By4Sd6szsNr10B0RtWVNOSGmZABSaj4YQBLqh9b9i45VAjVWa8tyIy+UAbKF7WGwybi2wTbSVliO8A==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ },
+ "node_modules/typescript": {
+ "version": "4.7.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz",
+ "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
+ },
+ "node_modules/universal-user-agent": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
+ "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
+ },
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ }
+ },
+ "dependencies": {
+ "@octokit/auth-token": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
+ "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
+ "requires": {
+ "@octokit/types": "^6.0.3"
+ }
+ },
+ "@octokit/core": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz",
+ "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==",
+ "requires": {
+ "@octokit/auth-token": "^2.4.4",
+ "@octokit/graphql": "^4.5.8",
+ "@octokit/request": "^5.6.3",
+ "@octokit/request-error": "^2.0.5",
+ "@octokit/types": "^6.0.3",
+ "before-after-hook": "^2.2.0",
+ "universal-user-agent": "^6.0.0"
+ }
+ },
+ "@octokit/endpoint": {
+ "version": "6.0.12",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
+ "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
+ "requires": {
+ "@octokit/types": "^6.0.3",
+ "is-plain-object": "^5.0.0",
+ "universal-user-agent": "^6.0.0"
+ }
+ },
+ "@octokit/graphql": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
+ "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
+ "requires": {
+ "@octokit/request": "^5.6.0",
+ "@octokit/types": "^6.0.3",
+ "universal-user-agent": "^6.0.0"
+ }
+ },
+ "@octokit/openapi-types": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.1.0.tgz",
+ "integrity": "sha512-kQzJh3ZUv3lDpi6M+uekMRHULvf9DlWoI1XgKN6nPeGDzkSgtkhVq1MMz3bFKQ6H6GbdC3ZqG/a6VzKhIx0VeA=="
+ },
+ "@octokit/plugin-paginate-rest": {
+ "version": "2.18.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.18.0.tgz",
+ "integrity": "sha512-n5/AzIoy5Wzp85gqzSbR+dWQDHlyHZrGijnDfLh452547Ynu0hCvszH7EfRE0eqM5ZjfkplO0k+q+P8AAIIJEA==",
+ "requires": {
+ "@octokit/types": "^6.35.0"
+ }
+ },
+ "@octokit/plugin-request-log": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz",
+ "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA=="
+ },
+ "@octokit/plugin-rest-endpoint-methods": {
+ "version": "5.14.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.14.0.tgz",
+ "integrity": "sha512-MRnMs4Dcm1OSaz/g/RLr4YY9otgysS7vN5SUkHGd7t+R8323cHsHFoEWHYPSmgUC0BieHRhvnCRWb4i3Pl+Lgg==",
+ "requires": {
+ "@octokit/types": "^6.35.0",
+ "deprecation": "^2.3.1"
+ }
+ },
+ "@octokit/plugin-throttling": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-3.6.2.tgz",
+ "integrity": "sha512-0az5fxgVlhFfFtiKLKVXTpmCG2tK3BG0fYI8SO4pmGlN1kyJktJVQA+6KKaFxtxMIWsuHmSEAkR6zSgtk86g2A==",
+ "requires": {
+ "@octokit/types": "^6.0.1",
+ "bottleneck": "^2.15.3"
+ }
+ },
+ "@octokit/request": {
+ "version": "5.6.3",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz",
+ "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==",
+ "requires": {
+ "@octokit/endpoint": "^6.0.1",
+ "@octokit/request-error": "^2.1.0",
+ "@octokit/types": "^6.16.1",
+ "is-plain-object": "^5.0.0",
+ "node-fetch": "^2.6.7",
+ "universal-user-agent": "^6.0.0"
+ }
+ },
+ "@octokit/request-error": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
+ "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
+ "requires": {
+ "@octokit/types": "^6.0.3",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
+ }
+ },
+ "@octokit/rest": {
+ "version": "18.12.0",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz",
+ "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==",
+ "requires": {
+ "@octokit/core": "^3.5.1",
+ "@octokit/plugin-paginate-rest": "^2.16.8",
+ "@octokit/plugin-request-log": "^1.0.4",
+ "@octokit/plugin-rest-endpoint-methods": "^5.12.0"
+ }
+ },
+ "@octokit/types": {
+ "version": "6.35.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.35.0.tgz",
+ "integrity": "sha512-DhLfdUuv3H37u6jBDfkwamypx3HflHg29b26nbA6iVFYkAlZ5cMEtu/9pQoihGnQE5M7jJFnNo25Rr1UwQNF8Q==",
+ "requires": {
+ "@octokit/openapi-types": "^12.1.0"
+ }
+ },
+ "@tsconfig/node16": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz",
+ "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "17.0.45",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz",
+ "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==",
+ "dev": true
+ },
+ "@types/semver": {
+ "version": "7.3.10",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.10.tgz",
+ "integrity": "sha512-zsv3fsC7S84NN6nPK06u79oWgrPVd0NvOyqgghV1haPaFcVxIrP4DLomRwGAXk0ui4HZA7mOcSFL98sMVW9viw==",
+ "dev": true
+ },
+ "before-after-hook": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz",
+ "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ=="
+ },
+ "bottleneck": {
+ "version": "2.19.5",
+ "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz",
+ "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw=="
+ },
+ "deprecation": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
+ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
+ },
+ "esbuild": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.44.tgz",
+ "integrity": "sha512-Rn+lRRfj60r/3svI6NgAVnetzp3vMOj17BThuhshSj/gS1LR03xrjkDYyfPmrYG/0c3D68rC6FNYMQ3yRbiXeQ==",
+ "requires": {
+ "esbuild-android-64": "0.14.44",
+ "esbuild-android-arm64": "0.14.44",
+ "esbuild-darwin-64": "0.14.44",
+ "esbuild-darwin-arm64": "0.14.44",
+ "esbuild-freebsd-64": "0.14.44",
+ "esbuild-freebsd-arm64": "0.14.44",
+ "esbuild-linux-32": "0.14.44",
+ "esbuild-linux-64": "0.14.44",
+ "esbuild-linux-arm": "0.14.44",
+ "esbuild-linux-arm64": "0.14.44",
+ "esbuild-linux-mips64le": "0.14.44",
+ "esbuild-linux-ppc64le": "0.14.44",
+ "esbuild-linux-riscv64": "0.14.44",
+ "esbuild-linux-s390x": "0.14.44",
+ "esbuild-netbsd-64": "0.14.44",
+ "esbuild-openbsd-64": "0.14.44",
+ "esbuild-sunos-64": "0.14.44",
+ "esbuild-windows-32": "0.14.44",
+ "esbuild-windows-64": "0.14.44",
+ "esbuild-windows-arm64": "0.14.44"
+ }
+ },
+ "esbuild-android-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.44.tgz",
+ "integrity": "sha512-dFPHBXmx385zuJULAD/Cmq/LyPRXiAWbf9ylZtY0wJ8iVyWfKYaCYxeJx8OAZUuj46ZwNa7MzW2GBAQLOeiemg==",
+ "optional": true
+ },
+ "esbuild-android-arm64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.44.tgz",
+ "integrity": "sha512-qqaqqyxHXjZ/0ddKU3I3Nb7lAvVM69ELMhb8+91FyomAUmQPlHtxe+TTiWxXGHE72XEzcgTEGq4VauqLNkN22g==",
+ "optional": true
+ },
+ "esbuild-darwin-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.44.tgz",
+ "integrity": "sha512-RBmtGKGY06+AW6IOJ1LE/dEeF7HH34C1/Ces9FSitU4bIbIpL4KEuQpTFoxwb4ry5s2hyw7vbPhhtyOd18FH9g==",
+ "optional": true
+ },
+ "esbuild-darwin-arm64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.44.tgz",
+ "integrity": "sha512-Bmhx5Cfo4Hdb7WyyyDupTB8HPmnFZ8baLfPlzLdYvF6OzsIbV+CY+m/AWf0OQvY40BlkzCLJ/7Lfwbb71Tngmg==",
+ "optional": true
+ },
+ "esbuild-freebsd-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.44.tgz",
+ "integrity": "sha512-O4HpWa5ZgxbNPQTF7URicLzYa+TidGlmGT/RAC3GjbGEQQYkd0R1Slyh69Yrmb2qmcOcPAgWHbNo1UhK4WmZ4w==",
+ "optional": true
+ },
+ "esbuild-freebsd-arm64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.44.tgz",
+ "integrity": "sha512-f0/jkAKccnDY7mg1F9l/AMzEm+VXWXK6c3IrOEmd13jyKfpTZKTIlt+yI04THPDCDZTzXHTRUBLozqp+m8Mg5Q==",
+ "optional": true
+ },
+ "esbuild-linux-32": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.44.tgz",
+ "integrity": "sha512-WSIhzLldMR7YUoEL7Ix319tC+NFmW9Pu7NgFWxUfOXeWsT0Wg484hm6bNgs7+oY2pGzg715y/Wrqi1uNOMmZJw==",
+ "optional": true
+ },
+ "esbuild-linux-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.44.tgz",
+ "integrity": "sha512-zgscTrCMcRZRIsVugqBTP/B5lPLNchBlWjQ8sQq2Epnv+UDtYKgXEq1ctWAmibZNy2E9QRCItKMeIEqeTUT5kA==",
+ "optional": true
+ },
+ "esbuild-linux-arm": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.44.tgz",
+ "integrity": "sha512-laPBPwGfsbBxGw6F6jnqic2CPXLyC1bPrmnSOeJ9oEnx1rcKkizd4HWCRUc0xv+l4z/USRfx/sEfYlWSLeqoJQ==",
+ "optional": true
+ },
+ "esbuild-linux-arm64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.44.tgz",
+ "integrity": "sha512-H0H/2/wgiScTwBve/JR8/o+Zhabx5KPk8T2mkYZFKQGl1hpUgC+AOmRyqy/Js3p66Wim4F4Akv3I3sJA1sKg0w==",
+ "optional": true
+ },
+ "esbuild-linux-mips64le": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.44.tgz",
+ "integrity": "sha512-ri3Okw0aleYy7o5n9zlIq+FCtq3tcMlctN6X1H1ucILjBJuH8pan2trJPKWeb8ppntFvE28I9eEXhwkWh6wYKg==",
+ "optional": true
+ },
+ "esbuild-linux-ppc64le": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.44.tgz",
+ "integrity": "sha512-96TqL/MvFRuIVXz+GtCIXzRQ43ZwEk4XTn0RWUNJduXXMDQ/V1iOV28U6x6Oe3NesK4xkoKSaK2+F3VHcU8ZrA==",
+ "optional": true
+ },
+ "esbuild-linux-riscv64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.44.tgz",
+ "integrity": "sha512-rrK9qEp2M8dhilsPn4T9gxUsAumkITc1kqYbpyNMr9EWo+J5ZBj04n3GYldULrcCw4ZCHAJ+qPjqr8b6kG2inA==",
+ "optional": true
+ },
+ "esbuild-linux-s390x": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.44.tgz",
+ "integrity": "sha512-2YmTm9BrW5aUwBSe8wIEARd9EcnOQmkHp4+IVaO09Ez/C5T866x+ABzhG0bwx0b+QRo9q97CRMaQx2Ngb6/hfw==",
+ "optional": true
+ },
+ "esbuild-netbsd-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.44.tgz",
+ "integrity": "sha512-zypdzPmZTCqYS30WHxbcvtC0E6e/ECvl4WueUdbdWhs2dfWJt5RtCBME664EpTznixR3lSN1MQ2NhwQF8MQryw==",
+ "optional": true
+ },
+ "esbuild-openbsd-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.44.tgz",
+ "integrity": "sha512-8J43ab9ByYl7KteC03HGQjr2HY1ge7sN04lFnwMFWYk2NCn8IuaeeThvLeNjzOYhyT3I6K8puJP0uVXUu+D1xw==",
+ "optional": true
+ },
+ "esbuild-register": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.3.3.tgz",
+ "integrity": "sha512-eFHOkutgIMJY5gc8LUp/7c+LLlDqzNi9T6AwCZ2WKKl3HmT+5ef3ZRyPPxDOynInML0fgaC50yszPKfPnjC0NQ=="
+ },
+ "esbuild-sunos-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.44.tgz",
+ "integrity": "sha512-OH1/09CGUJwffA+HNM6mqPkSIyHVC3ZnURU/4CCIx7IqWUBn1Sh1HRLQC8/TWNgcs0/1u7ygnc2pgf/AHZJ/Ow==",
+ "optional": true
+ },
+ "esbuild-windows-32": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.44.tgz",
+ "integrity": "sha512-mCAOL9/rRqwfOfxTu2sjq/eAIs7eAXGiU6sPBnowggI7QS953Iq6o3/uDu010LwfN7zr18c/lEj6/PTwwTB3AA==",
+ "optional": true
+ },
+ "esbuild-windows-64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.44.tgz",
+ "integrity": "sha512-AG6BH3+YG0s2Q/IfB1cm68FdyFnoE1P+GFbmgFO3tA4UIP8+BKsmKGGZ5I3+ZjcnzOwvT74bQRVrfnQow2KO5Q==",
+ "optional": true
+ },
+ "esbuild-windows-arm64": {
+ "version": "0.14.44",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.44.tgz",
+ "integrity": "sha512-ygYPfYE5By4Sd6szsNr10B0RtWVNOSGmZABSaj4YQBLqh9b9i45VAjVWa8tyIy+UAbKF7WGwybi2wTbSVliO8A==",
+ "optional": true
+ },
+ "is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q=="
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "requires": {
+ "whatwg-url": "^5.0.0"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ },
+ "typescript": {
+ "version": "4.7.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz",
+ "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==",
+ "dev": true
+ },
+ "universal-user-agent": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
+ "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
+ },
+ "webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ },
+ "whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "requires": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ }
+ }
+}
diff --git a/scripts/release/package.json b/scripts/release/package.json
new file mode 100644
index 00000000000..0a6963c3c95
--- /dev/null
+++ b/scripts/release/package.json
@@ -0,0 +1,20 @@
+{
+ "name": "release-comments",
+ "description": "deps needed for running our release comment script",
+ "private": true,
+ "scripts": {},
+ "dependencies": {
+ "@octokit/plugin-paginate-rest": "^2.17.0",
+ "@octokit/plugin-throttling": "^3.6.2",
+ "@octokit/rest": "^18.12.0",
+ "esbuild": "^0.14.38",
+ "esbuild-register": "^3.3.2",
+ "semver": "^7.3.7"
+ },
+ "devDependencies": {
+ "@tsconfig/node16": "^1.0.2",
+ "@types/node": "^17.0.23",
+ "@types/semver": "^7.3.9",
+ "typescript": "^4.6.3"
+ }
+}
diff --git a/scripts/release/tsconfig.json b/scripts/release/tsconfig.json
new file mode 100644
index 00000000000..e9c0bafece7
--- /dev/null
+++ b/scripts/release/tsconfig.json
@@ -0,0 +1,3 @@
+{
+ "extends": "@tsconfig/node16/tsconfig.json"
+}
diff --git a/scripts/release/utils.ts b/scripts/release/utils.ts
new file mode 100644
index 00000000000..709f56d32b0
--- /dev/null
+++ b/scripts/release/utils.ts
@@ -0,0 +1,23 @@
+import { GITHUB_REPOSITORY } from "./constants";
+
+export function checkIfStringStartsWith(
+ string: string,
+ substrings: Array
+): boolean {
+ return substrings.some((substr) => string.startsWith(substr));
+}
+
+export interface MinimalTag {
+ tag: string;
+ date: Date;
+ isPrerelease: boolean;
+}
+
+export function sortByDate(a: MinimalTag, b: MinimalTag) {
+ return b.date.getTime() - a.date.getTime();
+}
+
+export function getGitHubUrl(type: "pull" | "issue", number: number) {
+ let segment = type === "pull" ? "pull" : "issues";
+ return `https://github.com/${GITHUB_REPOSITORY}/${segment}/${number}`;
+}
diff --git a/templates/arc/remix.config.js b/templates/arc/remix.config.js
index b71b584d437..48474bad323 100644
--- a/templates/arc/remix.config.js
+++ b/templates/arc/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
serverBuildTarget: "arc",
server: "./server.js",
diff --git a/templates/cloudflare-pages/remix.config.js b/templates/cloudflare-pages/remix.config.js
index d6a4bdc58ed..7d8260a36a7 100644
--- a/templates/cloudflare-pages/remix.config.js
+++ b/templates/cloudflare-pages/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
serverBuildTarget: "cloudflare-pages",
server: "./server.js",
diff --git a/templates/cloudflare-workers/remix.config.js b/templates/cloudflare-workers/remix.config.js
index 684d139d7d2..a4fac89855c 100644
--- a/templates/cloudflare-workers/remix.config.js
+++ b/templates/cloudflare-workers/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
serverBuildTarget: "cloudflare-workers",
server: "./server.js",
diff --git a/templates/deno/.vscode/resolve_npm_imports.json b/templates/deno/.vscode/resolve_npm_imports.json
index 1b9e3af559e..41dbbd2e31d 100644
--- a/templates/deno/.vscode/resolve_npm_imports.json
+++ b/templates/deno/.vscode/resolve_npm_imports.json
@@ -5,9 +5,9 @@
"// Deno-only dependencies may be imported via URL imports (without using import maps).": "",
"imports": {
"// `@remix-run/deno` code is already a Deno module, so just get types for it directly from `node_modules/`": "",
- "@remix-run/deno": "https://esm.sh/@remix-run/deno@1.6.0",
- "@remix-run/dev/server-build": "https://esm.sh/@remix-run/dev@1.6.0/server-build",
- "@remix-run/react": "https://esm.sh/@remix-run/react@1.6.0",
+ "@remix-run/deno": "https://esm.sh/@remix-run/deno@1.6.1",
+ "@remix-run/dev/server-build": "https://esm.sh/@remix-run/dev@1.6.1/server-build",
+ "@remix-run/react": "https://esm.sh/@remix-run/react@1.6.1",
"react": "https://esm.sh/react@17.0.2",
"react-dom": "https://esm.sh/react-dom@17.0.2",
"react-dom/server": "https://esm.sh/react-dom@17.0.2/server"
diff --git a/templates/deno/remix.config.js b/templates/deno/remix.config.js
index 4dde611cb5c..d621422e56f 100644
--- a/templates/deno/remix.config.js
+++ b/templates/deno/remix.config.js
@@ -1,3 +1,4 @@
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
serverBuildTarget: "deno",
server: "./server.ts",
diff --git a/templates/express/remix.config.js b/templates/express/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/templates/express/remix.config.js
+++ b/templates/express/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/templates/fly/remix.config.js b/templates/fly/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/templates/fly/remix.config.js
+++ b/templates/fly/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/templates/netlify/remix.config.js b/templates/netlify/remix.config.js
index 5ca3e23baf5..b450a13c3e4 100644
--- a/templates/netlify/remix.config.js
+++ b/templates/netlify/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
serverBuildTarget: "netlify",
server: "./server.js",
diff --git a/templates/remix/remix.config.js b/templates/remix/remix.config.js
index 260b82c7cb1..adf2a0b5d3e 100644
--- a/templates/remix/remix.config.js
+++ b/templates/remix/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
diff --git a/templates/vercel/package.json b/templates/vercel/package.json
index 5f607e16f22..5a3ba431c63 100644
--- a/templates/vercel/package.json
+++ b/templates/vercel/package.json
@@ -9,7 +9,7 @@
"@remix-run/node": "*",
"@remix-run/react": "*",
"@remix-run/vercel": "*",
- "@vercel/node": "^2.0.0",
+ "@vercel/node": "^1.15.2",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
diff --git a/templates/vercel/remix.config.js b/templates/vercel/remix.config.js
index 042147b678f..3a84dd6ccd7 100644
--- a/templates/vercel/remix.config.js
+++ b/templates/vercel/remix.config.js
@@ -1,6 +1,4 @@
-/**
- * @type {import('@remix-run/dev').AppConfig}
- */
+/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
serverBuildTarget: "vercel",
// When running locally in development mode, we use the built in remix