{"_id":"@aulasoftwarelibre/next-auth-firewall","_rev":"6-d135f908d7bffdce7ef84c3d1b02353e","name":"@aulasoftwarelibre/next-auth-firewall","dist-tags":{"latest":"2.0.0"},"versions":{"0.1.0":{"name":"@aulasoftwarelibre/next-auth-firewall","version":"0.1.0","author":{"name":"Sergio Gómez","email":"sergio@uco.es"},"license":"EUPL-1.2","_id":"@aulasoftwarelibre/next-auth-firewall@0.1.0","maintainers":[{"name":"sgomez","email":"decano@gmail.com"}],"homepage":"https://github.com/aulasoftwarelibre/next-auth-firewall#readme","bugs":{"url":"https://github.com/aulasoftwarelibre/next-auth-firewall/issues"},"dist":{"shasum":"17e16953d67d6c9e00ceec069ff2b8126c539417","tarball":"https://registry.npmjs.org/@aulasoftwarelibre/next-auth-firewall/-/next-auth-firewall-0.1.0.tgz","fileCount":38,"integrity":"sha512-YbcixFygYcpM4iD21oC9MwfyWzILMbO7Ka4eXLGKI6lX6KmxzWHfFDC1J3RjXnh/RYXF+ToKCnv5UhQkEcX5Gw==","signatures":[{"sig":"MEQCIEY0P5PEKCrkvq0IJD3BgDGQ4KFwEOCI12fPEgBlDv1DAiA+j8DvptcHhdhAZ4YYE1mxQZWuJk0DpfJ/2FswD6gEwA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23365},"jest":{"preset":"ts-jest","collectCoverage":true,"coverageReporters":["html","text"],"collectCoverageFrom":["./src/**"]},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c078feac03b60c551f56c2f77dffac1126a648cd","release":{"ci":true,"dryRun":false,"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/git","@semantic-release/changelog","@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint --fix src/ tests/","test":"jest --watchAll","build":"tsc","prepare":"husky install","test:ci":"jest","prebuild":"rimraf dist/","build:watch":"tsc --watch","prepublishOnly":"yarn test:ci"},"_npmUser":{"name":"sgomez","email":"decano@gmail.com"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"all"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/aulasoftwarelibre/next-auth-firewall.git","type":"git"},"_npmVersion":"9.8.1","description":"Firewall for NextAuth","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":"eslint --fix"},"_nodeVersion":"18.18.0","dependencies":{"next":"^14.0.0","next-auth":"^5.0.0-beta.3","@auth/core":"experimental"},"eslintConfig":{"env":{"jest":true,"node":true},"root":true,"rules":{"eqeqeq":"error","camelcase":"error","no-shadow":"off","dot-notation":"error","import/first":"error","default-case-last":"error","prettier/prettier":"error","default-param-last":"error","import/no-duplicates":"error","sort/type-properties":"error","sort/object-properties":"error","simple-import-sort/exports":"error","simple-import-sort/imports":"error","import/newline-after-import":"error","@typescript-eslint/no-shadow":"error","sort/destructuring-properties":"error","unused-imports/no-unused-imports":"error","@typescript-eslint/no-unused-vars":["error",{"ignoreRestSiblings":true}]},"parser":"@typescript-eslint/parser","extends":["plugin:@typescript-eslint/recommended","plugin:prettier/recommended","plugin:jest/recommended"],"plugins":["@typescript-eslint","import","simple-import-sort","sort","unused-imports","prettier"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.2.2","@types/jest":"^29.5.8","lint-staged":"^15.1.0","@commitlint/cli":"^18.4.2","semantic-release":"^22.0.8","eslint-plugin-jest":"^27.6.0","eslint-plugin-sort":"^2.11.0","eslint-plugin-import":"^2.29.0","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.11.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"^3.0.0","@commitlint/config-conventional":"^18.4.2","@typescript-eslint/eslint-plugin":"^6.11.0","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-auth-firewall_0.1.0_1700409805290_0.4085786674258478","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@aulasoftwarelibre/next-auth-firewall","version":"1.0.0","author":{"name":"Sergio Gómez","email":"sergio@uco.es"},"license":"EUPL-1.2","_id":"@aulasoftwarelibre/next-auth-firewall@1.0.0","maintainers":[{"name":"sgomez","email":"decano@gmail.com"}],"homepage":"https://github.com/aulasoftwarelibre/next-auth-firewall#readme","bugs":{"url":"https://github.com/aulasoftwarelibre/next-auth-firewall/issues"},"dist":{"shasum":"2cbf344ac4803fcd20ca3c427cf80a9a905cea1e","tarball":"https://registry.npmjs.org/@aulasoftwarelibre/next-auth-firewall/-/next-auth-firewall-1.0.0.tgz","fileCount":38,"integrity":"sha512-BdZa9ZUZMGYJFXaR2G79b6Y2hnL/mk+s/pOJHhKIQgQnn3mofRc2VnDzKqla55WIEUE6LnWxMJLkbMCEGe7n6g==","signatures":[{"sig":"MEYCIQDLNrJh9R7K8RpXqVQKC+TLvY8BrgShAN3MQB/fjxdJNQIhAOdUzt6WMMU8m4MI0VQNEsLB763LVOmeKblv0iDFxEOl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23526},"jest":{"preset":"ts-jest","collectCoverage":true,"coverageReporters":["html","text"],"collectCoverageFrom":["./src/**"]},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"579944d5131c81c8c4bf29fc51a7ce43f1488180","release":{"ci":true,"dryRun":false,"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/git","@semantic-release/changelog","@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint --fix src/ tests/","test":"jest --watchAll","build":"tsc","prepare":"husky install","test:ci":"jest","prebuild":"rimraf dist/","build:watch":"tsc --watch","prepublishOnly":"yarn test:ci"},"_npmUser":{"name":"sgomez","email":"decano@gmail.com"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"all"},"commitlint":{"rules":{"body-max-line-length":[0,"always"],"footer-max-line-length":[0,"always"]},"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/aulasoftwarelibre/next-auth-firewall.git","type":"git"},"_npmVersion":"10.2.4","description":"Firewall for NextAuth","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":"eslint --fix"},"_nodeVersion":"18.18.2","dependencies":{"next":"^14.0.0","next-auth":"^5.0.0-beta.3","@auth/core":"experimental"},"eslintConfig":{"env":{"jest":true,"node":true},"root":true,"rules":{"eqeqeq":"error","camelcase":"error","no-shadow":"off","dot-notation":"error","import/first":"error","default-case-last":"error","prettier/prettier":"error","default-param-last":"error","import/no-duplicates":"error","sort/type-properties":"error","sort/object-properties":"error","simple-import-sort/exports":"error","simple-import-sort/imports":"error","import/newline-after-import":"error","@typescript-eslint/no-shadow":"error","sort/destructuring-properties":"error","unused-imports/no-unused-imports":"error","@typescript-eslint/no-unused-vars":["error",{"ignoreRestSiblings":true}]},"parser":"@typescript-eslint/parser","extends":["plugin:@typescript-eslint/recommended","plugin:prettier/recommended","plugin:jest/recommended"],"plugins":["@typescript-eslint","import","simple-import-sort","sort","unused-imports","prettier"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.2.2","@types/jest":"^29.5.8","lint-staged":"^15.1.0","@commitlint/cli":"^18.4.2","semantic-release":"^22.0.8","eslint-plugin-jest":"^27.6.0","eslint-plugin-sort":"^2.11.0","eslint-plugin-import":"^2.29.0","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.11.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"^3.0.0","@commitlint/config-conventional":"^18.4.2","@typescript-eslint/eslint-plugin":"^6.11.0","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-auth-firewall_1.0.0_1700410649654_0.6980685844192651","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@aulasoftwarelibre/next-auth-firewall","version":"1.0.1","author":{"name":"Sergio Gómez","email":"sergio@uco.es"},"license":"EUPL-1.2","_id":"@aulasoftwarelibre/next-auth-firewall@1.0.1","maintainers":[{"name":"sgomez","email":"decano@gmail.com"}],"homepage":"https://github.com/aulasoftwarelibre/next-auth-firewall#readme","bugs":{"url":"https://github.com/aulasoftwarelibre/next-auth-firewall/issues"},"dist":{"shasum":"1b8eae5138e8939fda50ca019869f44f3c42c013","tarball":"https://registry.npmjs.org/@aulasoftwarelibre/next-auth-firewall/-/next-auth-firewall-1.0.1.tgz","fileCount":38,"integrity":"sha512-sQ5/fns5n4pfed5WJ2j4T2ewXJVLbPqQyg5oeCPusyqKyGOiPsUwJQSKtzLTWiBL052HCapswHdXofVabtX3yw==","signatures":[{"sig":"MEYCIQCVswFyD/Tg7B/IHF5Kx0qNBGJW70E2elMHa9g1DvqNswIhAJvg+U1zFjC1knwV3Le/EtcQJQQonzAWHu4C6vMR3E5d","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23673},"jest":{"preset":"ts-jest","collectCoverage":true,"coverageReporters":["html","text"],"collectCoverageFrom":["./src/**"]},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"53020d26335c93d6a3cdf8c9b736ff1aa90ae346","release":{"ci":true,"dryRun":false,"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/git","@semantic-release/changelog","@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint --fix src/ tests/","test":"jest --watchAll","build":"tsc","prepare":"husky install","test:ci":"jest","prebuild":"rimraf dist/","build:watch":"tsc --watch","prepublishOnly":"yarn test:ci"},"_npmUser":{"name":"sgomez","email":"decano@gmail.com"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"all"},"commitlint":{"rules":{"body-max-line-length":[0,"always"],"footer-max-line-length":[0,"always"]},"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/aulasoftwarelibre/next-auth-firewall.git","type":"git"},"_npmVersion":"10.2.4","description":"Firewall for NextAuth","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":"eslint --fix"},"_nodeVersion":"18.18.2","dependencies":{"next":"^14.0.0","next-auth":"^5.0.0-beta.3","@auth/core":"experimental"},"eslintConfig":{"env":{"jest":true,"node":true},"root":true,"rules":{"eqeqeq":"error","camelcase":"error","no-shadow":"off","dot-notation":"error","import/first":"error","default-case-last":"error","prettier/prettier":"error","default-param-last":"error","import/no-duplicates":"error","sort/type-properties":"error","sort/object-properties":"error","simple-import-sort/exports":"error","simple-import-sort/imports":"error","import/newline-after-import":"error","@typescript-eslint/no-shadow":"error","sort/destructuring-properties":"error","unused-imports/no-unused-imports":"error","@typescript-eslint/no-unused-vars":["error",{"ignoreRestSiblings":true}]},"parser":"@typescript-eslint/parser","extends":["plugin:@typescript-eslint/recommended","plugin:prettier/recommended","plugin:jest/recommended"],"plugins":["@typescript-eslint","import","simple-import-sort","sort","unused-imports","prettier"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.2.2","@types/jest":"^29.5.8","lint-staged":"^15.1.0","@commitlint/cli":"^18.4.2","semantic-release":"^22.0.8","eslint-plugin-jest":"^27.6.0","eslint-plugin-sort":"^2.11.0","eslint-plugin-import":"^2.29.0","@semantic-release/git":"^10.0.1","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.11.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"^3.0.0","@commitlint/config-conventional":"^18.4.2","@typescript-eslint/eslint-plugin":"^6.11.0","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-auth-firewall_1.0.1_1700411534358_0.08683169900220777","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@aulasoftwarelibre/next-auth-firewall","version":"1.0.2","author":{"name":"Sergio Gómez","email":"sergio@uco.es"},"license":"EUPL-1.2","_id":"@aulasoftwarelibre/next-auth-firewall@1.0.2","maintainers":[{"name":"sgomez","email":"decano@gmail.com"}],"homepage":"https://github.com/aulasoftwarelibre/next-auth-firewall#readme","bugs":{"url":"https://github.com/aulasoftwarelibre/next-auth-firewall/issues"},"dist":{"shasum":"841b4242aedee93419c3a815ab28136f5e6da7bb","tarball":"https://registry.npmjs.org/@aulasoftwarelibre/next-auth-firewall/-/next-auth-firewall-1.0.2.tgz","fileCount":38,"integrity":"sha512-Za6A7Vn6JIdL64NvFm+suByIEjlD5pvP34DTiA4nk8VS13DHvKFwV4lb2mPieL2AQDE//gs9MjIMqxOlHBsy8Q==","signatures":[{"sig":"MEQCIEZtktR1QuCYJu8aIsYTX2ucoso5n8n8jnjrkYU1h9YeAiAKCKn0+yRviWbpHMMiUskZMlvErPTw9onkhHdNLvFlxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23741},"jest":{"preset":"ts-jest","collectCoverage":true,"coverageReporters":["html","text"],"collectCoverageFrom":["./src/**"]},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"50487a14852cbe9f23ce285f375680133a5e35b6","release":{"ci":true,"dryRun":false,"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/git","@semantic-release/changelog","@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint --fix src/ tests/","test":"jest --watchAll","build":"tsc","prepare":"husky install","test:ci":"jest","prebuild":"rimraf dist/","build:watch":"tsc --watch","prepublishOnly":"yarn test:ci"},"_npmUser":{"name":"sgomez","email":"decano@gmail.com"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"all"},"commitlint":{"rules":{"body-max-line-length":[0,"always"],"footer-max-line-length":[0,"always"]},"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/aulasoftwarelibre/next-auth-firewall.git","type":"git"},"_npmVersion":"10.2.4","description":"Firewall for NextAuth","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":"eslint --fix"},"_nodeVersion":"18.18.2","dependencies":{"next":"^14.0.0","next-auth":"^5.0.0-beta.3","@auth/core":"experimental"},"eslintConfig":{"env":{"jest":true,"node":true},"root":true,"rules":{"eqeqeq":"error","camelcase":"error","no-shadow":"off","dot-notation":"error","import/first":"error","default-case-last":"error","prettier/prettier":"error","default-param-last":"error","import/no-duplicates":"error","sort/type-properties":"error","sort/object-properties":"error","simple-import-sort/exports":"error","simple-import-sort/imports":"error","import/newline-after-import":"error","@typescript-eslint/no-shadow":"error","sort/destructuring-properties":"error","unused-imports/no-unused-imports":"error","@typescript-eslint/no-unused-vars":["error",{"ignoreRestSiblings":true}]},"parser":"@typescript-eslint/parser","extends":["plugin:unicorn/recommended","plugin:@typescript-eslint/recommended","plugin:prettier/recommended","plugin:jest/recommended"],"plugins":["@typescript-eslint","import","simple-import-sort","sort","unused-imports","prettier"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.2.2","@types/jest":"^29.5.8","lint-staged":"^15.1.0","@commitlint/cli":"^18.4.2","semantic-release":"^22.0.8","eslint-plugin-jest":"^27.6.0","eslint-plugin-sort":"^2.11.0","eslint-plugin-import":"^2.29.0","@semantic-release/git":"^10.0.1","eslint-plugin-unicorn":"^49.0.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.11.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"^3.0.0","@commitlint/config-conventional":"^18.4.2","@typescript-eslint/eslint-plugin":"^6.11.0","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-auth-firewall_1.0.2_1700889620427_0.9543591563194196","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@aulasoftwarelibre/next-auth-firewall","version":"1.1.0","author":{"name":"Sergio Gómez","email":"sergio@uco.es"},"license":"EUPL-1.2","_id":"@aulasoftwarelibre/next-auth-firewall@1.1.0","maintainers":[{"name":"sgomez","email":"decano@gmail.com"}],"homepage":"https://github.com/aulasoftwarelibre/next-auth-firewall#readme","bugs":{"url":"https://github.com/aulasoftwarelibre/next-auth-firewall/issues"},"dist":{"shasum":"fe9552c14b77118a3e9df280c4b694ceb0b62273","tarball":"https://registry.npmjs.org/@aulasoftwarelibre/next-auth-firewall/-/next-auth-firewall-1.1.0.tgz","fileCount":38,"integrity":"sha512-zvqTCiSdDELD4hUpTbTNqNCwbxwa9ChE+hCr2RwRONa7P09146JyobdQ9WxpUiQorWA4HwF3F+C3EPfvTRSmUQ==","signatures":[{"sig":"MEUCIA7wlAnRct6suYx3G/xEHtWgZJEEqlLgcT813TFOOufqAiEAhXeu0DOwcDBdiI6YVN7g6Dz5YaUf0TY5tKm9JR/YwZk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23831},"jest":{"preset":"ts-jest","collectCoverage":true,"coverageReporters":["html","text"],"collectCoverageFrom":["./src/**"]},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"76dc7818146a78d098784e0b488531b0eef5d900","release":{"ci":true,"dryRun":false,"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/git","@semantic-release/changelog","@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint --fix src/ tests/","test":"jest --watchAll","build":"tsc","prepare":"husky install","test:ci":"jest","prebuild":"rimraf dist/","build:watch":"tsc --watch","prepublishOnly":"yarn test:ci"},"_npmUser":{"name":"sgomez","email":"decano@gmail.com"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"all"},"commitlint":{"rules":{"body-max-line-length":[0,"always"],"footer-max-line-length":[0,"always"]},"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/aulasoftwarelibre/next-auth-firewall.git","type":"git"},"_npmVersion":"10.2.4","description":"Firewall for NextAuth","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":"eslint --fix"},"_nodeVersion":"18.19.0","dependencies":{"next":"^14.0.0","next-auth":"^5.0.0-beta.3","@auth/core":"experimental"},"eslintConfig":{"env":{"jest":true,"node":true},"root":true,"rules":{"eqeqeq":"error","camelcase":"error","no-shadow":"off","dot-notation":"error","import/first":"error","default-case-last":"error","prettier/prettier":"error","default-param-last":"error","import/no-duplicates":"error","sort/type-properties":"error","sort/object-properties":"error","simple-import-sort/exports":"error","simple-import-sort/imports":"error","import/newline-after-import":"error","@typescript-eslint/no-shadow":"error","sort/destructuring-properties":"error","unused-imports/no-unused-imports":"error","@typescript-eslint/no-unused-vars":["error",{"ignoreRestSiblings":true}]},"parser":"@typescript-eslint/parser","extends":["plugin:unicorn/recommended","plugin:@typescript-eslint/recommended","plugin:prettier/recommended","plugin:jest/recommended"],"plugins":["@typescript-eslint","import","simple-import-sort","sort","unused-imports","prettier"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^8.0.3","eslint":"^8.54.0","rimraf":"^5.0.5","ts-jest":"^29.1.1","prettier":"^3.1.0","typescript":"^5.2.2","@types/jest":"^29.5.8","lint-staged":"^15.1.0","@commitlint/cli":"^18.4.2","semantic-release":"^22.0.8","eslint-plugin-jest":"^27.6.0","eslint-plugin-sort":"^2.11.0","eslint-plugin-import":"^2.29.0","@semantic-release/git":"^10.0.1","eslint-plugin-unicorn":"^49.0.0","eslint-config-prettier":"^9.0.0","eslint-plugin-prettier":"^5.0.1","@typescript-eslint/parser":"^6.11.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"^3.0.0","@commitlint/config-conventional":"^18.4.2","@typescript-eslint/eslint-plugin":"^6.11.0","eslint-plugin-simple-import-sort":"^10.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-auth-firewall_1.1.0_1705260066253_0.25861388911720673","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@aulasoftwarelibre/next-auth-firewall","version":"1.2.0","author":{"name":"Sergio Gómez","email":"sergio@uco.es"},"license":"EUPL-1.2","_id":"@aulasoftwarelibre/next-auth-firewall@1.2.0","maintainers":[{"name":"sgomez","email":"decano@gmail.com"}],"homepage":"https://github.com/aulasoftwarelibre/next-auth-firewall#readme","bugs":{"url":"https://github.com/aulasoftwarelibre/next-auth-firewall/issues"},"dist":{"shasum":"45b1e2fb11cd72a75455aefad1c72128fa253824","tarball":"https://registry.npmjs.org/@aulasoftwarelibre/next-auth-firewall/-/next-auth-firewall-1.2.0.tgz","fileCount":38,"integrity":"sha512-1ic3BgDZp1l3p2iGYW4agk9mxe32eIPCZVIEo6k9gjfY3gpJCde4jdzrIgrUtOHetfciyKDmZfJoIWfjf3Scxw==","signatures":[{"sig":"MEUCIQD0os25GsV6epnfmfu1nUU37i8Iz+sx+PMSQo0Y1nl5DQIgeyyWcp6mGCjDJ8gE9Grlzamk+0iwvtvo/G1Xueu/aqU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23780},"jest":{"preset":"ts-jest","collectCoverage":true,"coverageReporters":["html","text"],"collectCoverageFrom":["./src/**"]},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"920c99bd47e44957928ad8a0a4cf7aa262407d86","release":{"ci":true,"dryRun":false,"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/git","@semantic-release/changelog","@semantic-release/github"],"branches":["main"]},"scripts":{"lint":"eslint --fix src/ tests/","test":"jest --watchAll","build":"tsc","prepare":"husky","test:ci":"jest","prebuild":"rimraf dist/","build:watch":"tsc --watch","prepublishOnly":"yarn test:ci"},"_npmUser":{"name":"sgomez","email":"decano@gmail.com"},"prettier":{"semi":false,"singleQuote":true,"trailingComma":"all"},"commitlint":{"rules":{"body-max-line-length":[0,"always"],"footer-max-line-length":[0,"always"]},"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/aulasoftwarelibre/next-auth-firewall.git","type":"git"},"_npmVersion":"10.2.4","description":"Firewall for NextAuth","directories":{},"lint-staged":{"*.{js,jsx,ts,tsx}":"eslint --fix"},"_nodeVersion":"20.11.0","dependencies":{"next":"^14.0.0","next-auth":"5.0.0-beta.9"},"eslintConfig":{"env":{"jest":true,"node":true},"root":true,"rules":{"eqeqeq":"error","camelcase":"error","no-shadow":"off","dot-notation":"error","import/first":"error","default-case-last":"error","prettier/prettier":"error","default-param-last":"error","import/no-duplicates":"error","sort/type-properties":"error","sort/object-properties":"error","simple-import-sort/exports":"error","simple-import-sort/imports":"error","import/newline-after-import":"error","@typescript-eslint/no-shadow":"error","sort/destructuring-properties":"error","unused-imports/no-unused-imports":"error","@typescript-eslint/no-unused-vars":["error",{"ignoreRestSiblings":true}]},"parser":"@typescript-eslint/parser","extends":["plugin:unicorn/recommended","plugin:@typescript-eslint/recommended","plugin:prettier/recommended","plugin:jest/recommended"],"plugins":["@typescript-eslint","import","simple-import-sort","sort","unused-imports","prettier"]},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","husky":"^9.0.10","eslint":"^8.56.0","rimraf":"^5.0.5","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.3.3","@types/jest":"^29.5.12","lint-staged":"^15.2.2","@commitlint/cli":"^18.6.0","semantic-release":"^23.0.2","eslint-plugin-jest":"^27.6.3","eslint-plugin-sort":"^2.11.0","eslint-plugin-import":"^2.29.1","@semantic-release/git":"^10.0.1","eslint-plugin-unicorn":"^51.0.1","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^6.21.0","@semantic-release/changelog":"^6.0.3","eslint-plugin-unused-imports":"^3.0.0","@commitlint/config-conventional":"^18.6.0","@typescript-eslint/eslint-plugin":"^6.21.0","eslint-plugin-simple-import-sort":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-auth-firewall_1.2.0_1707690034260_0.39064566000492906","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@aulasoftwarelibre/next-auth-firewall","version":"2.0.0","description":"Firewall for NextAuth","author":{"name":"Sergio Gómez","email":"decano@gmail.com"},"license":"EUPL-1.2","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","dependencies":{"next":"^15.0.3","next-auth":"5.0.0-beta.25"},"devDependencies":{"@changesets/cli":"^2.27.9","@commitlint/cli":"^19.6.0","@commitlint/config-conventional":"^19.6.0","@eslint/js":"^9.13.0","@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^10.0.1","@types/node":"^20.17.1","@typescript-eslint/parser":"^8.11.0","eslint":"^9.13.0","eslint-config-prettier":"^9.1.0","eslint-import-resolver-typescript":"^3.6.3","eslint-plugin-import-x":"^4.3.1","eslint-plugin-prettier":"^5.2.1","eslint-plugin-simple-import-sort":"^12.1.1","eslint-plugin-sort":"^4.0.0","eslint-plugin-unicorn":"^56.0.0","globals":"^15.11.0","husky":"^9.1.7","just-pnpm":"^1.0.2","lint-staged":"^15.2.10","prettier":"^3.4.1","rimraf":"^6.0.1","semantic-release":"^24.2.0","ts-jest":"^29.2.5","tsup":"^8.3.0","typescript":"^5.7.2","typescript-eslint":"^8.11.0","vitest":"^2.1.3"},"publishConfig":{"access":"public"},"homepage":"https://github.com/aulasoftwarelibre/next-auth-firewall","repository":{"type":"git","url":"git+https://github.com/aulasoftwarelibre/next-auth-firewall.git"},"bugs":{"url":"https://github.com/aulasoftwarelibre/next-auth-firewall/issues"},"scripts":{"build":"tsup","changeset":"changeset","ci:release":"pnpm clean && pnpm build && changeset publish","ci:version":"changeset version && pnpm install --no-frozen-lockfile","clean":"rm -rf dist","dev":"tsup --watch","lint":"eslint --fix src/ tests/","prettier-check":"prettier --check \"./**/*.ts*\"","test":"vitest","type-check":"tsc --noEmit"},"_id":"@aulasoftwarelibre/next-auth-firewall@2.0.0","_integrity":"sha512-9fJyF8uFAvsQoUCBCvOuG60u08knBqIlVUR6RtKFIv/X1OwSaKWScMjyr6Nb0oY0gMRRaL66yyjW6Wikr972Gg==","_resolved":"/private/var/folders/h9/pn9w4vv17cz9v6ksptg9s1gr0000gn/T/3bbe495b913e6b4c532dd9ea269ebc0e/aulasoftwarelibre-next-auth-firewall-2.0.0.tgz","_from":"file:aulasoftwarelibre-next-auth-firewall-2.0.0.tgz","_nodeVersion":"18.20.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-9fJyF8uFAvsQoUCBCvOuG60u08knBqIlVUR6RtKFIv/X1OwSaKWScMjyr6Nb0oY0gMRRaL66yyjW6Wikr972Gg==","shasum":"a730af5cc734e4cca530ca25ee8ff6981230f321","tarball":"https://registry.npmjs.org/@aulasoftwarelibre/next-auth-firewall/-/next-auth-firewall-2.0.0.tgz","fileCount":8,"unpackedSize":51410,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBfqzqQW7veHd5Oa9VP0q7+nBP8svQOX3tmbdSgZ1KpNAiEAkY1yDLR8oUql6CTPmBW/V8a/4TayV/LMy725GcfIbpI="}]},"_npmUser":{"name":"sgomez","email":"decano@gmail.com"},"directories":{},"maintainers":[{"name":"sgomez","email":"decano@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/next-auth-firewall_2.0.0_1732911651231_0.3784044259854644"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-19T16:03:25.210Z","modified":"2024-11-29T20:20:51.648Z","0.1.0":"2023-11-19T16:03:25.451Z","1.0.0":"2023-11-19T16:17:29.819Z","1.0.1":"2023-11-19T16:32:14.546Z","1.0.2":"2023-11-25T05:20:20.618Z","1.1.0":"2024-01-14T19:21:06.435Z","1.2.0":"2024-02-11T22:20:34.507Z","2.0.0":"2024-11-29T20:20:51.421Z"},"bugs":{"url":"https://github.com/aulasoftwarelibre/next-auth-firewall/issues"},"author":{"name":"Sergio Gómez","email":"decano@gmail.com"},"license":"EUPL-1.2","homepage":"https://github.com/aulasoftwarelibre/next-auth-firewall","repository":{"type":"git","url":"git+https://github.com/aulasoftwarelibre/next-auth-firewall.git"},"description":"Firewall for NextAuth","maintainers":[{"name":"sgomez","email":"decano@gmail.com"}],"readme":"# RBAC NextAuth.js firewall\n\n⚠️ Warning: This is a Proof of Concept (PoC), and it is not production-ready. Use with caution and provide feedback for improvements. Thanks!\n\nThis package is a plugin for [NextAuth](https://next-auth.js.org/) version 5 that adds a\nRole-Based Access Control (RBAC) authorization layer to your authentication setup. \nThe RBAC implementation is inspired by [Symfony](https://symfony.com).\n\n## Installation\n\nTo install the `@aulasoftwarelibre/next-auth-firewall` package, run:\n\n```bash yarn2npm\nnpm install @aulasoftwarelibre/next-auth-firewall\n```\n\n## Setup\n\n### Change auth.ts\n\nReplace the content of your auth.ts file with the following code:\n\n```typescript\nimport NextAuthFirewall from '@aulasoftwarelibre/next-auth-firewall'\nimport authConfig from '@/lib/auth/auth.config'\n\nexport const {\n  auth,\n  firewallHandler,\n  handlers: { GET, POST },\n  signIn,\n  signOut,\n} = NextAuthFirewall(authConfig)\n```\n\n### Change middleware.ts\n\nUpdate your middleware.ts file with the following code:\n\n```typescript\nimport NextAuthFirewall from '@aulasoftwarelibre/next-auth-firewall'\nimport authConfig from '@/lib/auth/auth.config'\n\nexport default NextAuthFirewall(authConfig).auth\n\nexport const config = {\n  matcher: [\n    '/((?!api|_next/static|_next/image|favicon.ico).*)',\n  ],\n}\n```\n\n### Add Firewall Router\n\nCreate a new file src/app/api/auth/firewall/route.ts and add the following code:\n\n```typescript\nimport { firewallHandler } from '@/lib/auth/auth'\n\nconst { POST } = firewallHandler\n\nexport { POST }\n```\n\n### Update auth.config.ts\n\nModify your auth.config.ts file to replace the authorize callback with access control rules. Here's an example:\n\n```typescript\nimport type { NextAuthFirewallConfig } from '@aulasoftwarelibre/next-auth-firewall'\n\nconst authConfig = {\n    accessControl: [\n        {\n            path: '^/(signout|settings)',\n            roles: 'IS_AUTHENTICATED',\n        },\n        {\n            path: '^/',\n            roles: 'PUBLIC_ACCESS',\n        },\n    ],\n    // ...\n} as NextAuthFirewallConfig\n\nexport default authConfig\n```\n\nMake sure to configure the adapter as per your requirements.\n\n","readmeFilename":"README.md"}