├── README.md ├── gulp-ejs-microcms-blog ├── .gitignore ├── README.md ├── gulpfile.js ├── package-lock.json ├── package.json └── src │ ├── ejs │ ├── blog │ │ ├── __slug.ejs │ │ └── index.ejs │ └── index.ejs │ └── styles │ └── index.scss ├── jekyll-microcms-blog ├── .gitignore ├── 404.html ├── Gemfile ├── Gemfile.lock ├── _config.yml ├── _layouts │ ├── default.html │ └── news_index.html ├── _plugins │ └── microcms.rb └── index.html ├── membership-media ├── .eslintrc.json ├── .gitignore ├── README.md ├── components │ ├── Article.tsx │ └── Header.tsx ├── libs │ └── client.ts ├── next-env.d.ts ├── next.config.js ├── package-lock.json ├── package.json ├── pages │ ├── _app.tsx │ ├── api │ │ ├── auth │ │ │ └── [...auth0].ts │ │ └── hello.ts │ ├── index.tsx │ ├── private │ │ └── [id].tsx │ └── public │ │ └── [id].tsx ├── public │ ├── favicon.ico │ └── vercel.svg ├── styles │ ├── Home.module.css │ └── globals.css ├── tsconfig.json └── types │ └── index.ts ├── microcms-next-jamstack-blog ├── .gitignore ├── README.md ├── package.json ├── pages │ ├── 404.js │ ├── _app.js │ ├── api │ │ └── hello.js │ ├── blog │ │ └── [id].js │ └── index.js ├── public │ ├── favicon.ico │ └── vercel.svg ├── styles │ ├── Home.module.scss │ └── globals.css └── yarn.lock ├── microcms-svelte-jamstack-blog ├── .gitignore ├── .vscode │ └── extensions.json ├── README.md ├── package-lock.json ├── package.json ├── rollup.config.js ├── src │ ├── ambient.d.ts │ ├── client.ts │ ├── components │ │ └── Nav.svelte │ ├── node_modules │ │ └── images │ │ │ └── successkid.jpg │ ├── routes │ │ ├── _error.svelte │ │ ├── _layout.svelte │ │ ├── about.svelte │ │ ├── blog │ │ │ ├── [slug].json.js │ │ │ ├── [slug].svelte │ │ │ ├── _posts.js │ │ │ ├── index.json.js │ │ │ └── index.svelte │ │ └── index.svelte │ ├── server.ts │ ├── service-worker.ts │ └── template.html ├── static │ ├── favicon.png │ ├── global.css │ ├── logo-192.png │ ├── logo-512.png │ └── manifest.json └── tsconfig.json └── nuxt-microcms-recruit ├── .editorconfig ├── .env.sample ├── .gitignore ├── README.md ├── assets └── README.md ├── components ├── Logo.vue └── README.md ├── layouts ├── README.md └── default.vue ├── middleware └── README.md ├── nuxt.config.js ├── package-lock.json ├── package.json ├── pages ├── README.md ├── careers │ ├── _id.vue │ └── posts │ │ └── _id.vue └── index.vue ├── plugins └── README.md ├── static ├── README.md └── favicon.ico └── store └── README.md /README.md: -------------------------------------------------------------------------------- 1 | # microCMSサンプル集 2 | microCMSを利用したサンプル集です。 3 | 起動方法は各ディレクトリ以下のREADME.mdを参照してください。 4 | 5 | ## Contribute 6 | プルリク形式でどなたでもサンプルを追加することができます。 7 | 8 | 手順 9 | 1. フォークする 10 | 2. ディレクトリを新しく切り、サンプルを作成する 11 | 3. プルリクを投げる 12 | 4. microCMS運営サイドによるレビュー 13 | 5. マージ 14 | -------------------------------------------------------------------------------- /gulp-ejs-microcms-blog/.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | node_modules 3 | -------------------------------------------------------------------------------- /gulp-ejs-microcms-blog/README.md: -------------------------------------------------------------------------------- 1 | # Gulp + EJS + microCMSによって静的HTML生成を行うサンプル 2 | 3 | GulpからmicroCMSのAPIを呼び出し、そのレスポンスをEJSに渡してHTMLを生成します。 4 | microCMSからNetlify等とWebhookで連携すればJamstack構成も実現できます。 5 | 6 | 参考記事: https://microcms.io/blog/gulp-ejs-microcms/ 7 | 8 | # How to use 9 | 10 | httpサーバー、sassコンパイル、ejsコンパイルの起動 11 | ``` 12 | $ npm i 13 | $ npm start 14 | ``` 15 | 16 | sassコンパイル、ejsコンパイルのみ 17 | ``` 18 | $ npm run build 19 | ``` 20 | -------------------------------------------------------------------------------- /gulp-ejs-microcms-blog/gulpfile.js: -------------------------------------------------------------------------------- 1 | const gulp = require("gulp"); 2 | const ejs = require("gulp-ejs"); 3 | const sass = require("gulp-sass"); 4 | const rename = require("gulp-rename"); 5 | const fetch = require("node-fetch"); 6 | const browser = require("browser-sync"); 7 | 8 | // サーバー起動 9 | gulp.task("server", () => { 10 | return browser({ 11 | server: { baseDir: "dist" }, 12 | port: 5000 13 | }); 14 | }); 15 | 16 | // SCSSコンパイル 17 | gulp.task("style", () => { 18 | return gulp 19 | .src("src/styles/**/*.scss") 20 | .pipe(sass()) 21 | .pipe(gulp.dest("dist/styles")) 22 | .pipe(browser.stream()); 23 | }); 24 | 25 | // EJSコンパイル 26 | gulp.task("ejs", () => { 27 | return fetch( 28 | "https://example.microcms.io/api/v1/gulp-blog", 29 | { 30 | headers: { 31 | "X-API-KEY": "dc59f358-4622-471f-8d1e-6c7a6f969558" 32 | } 33 | }) 34 | .then(res => res.json()) 35 | .then(data => { 36 | 37 | // 記事ページ 38 | for (const item of data.contents) { 39 | gulp 40 | .src(["src/ejs/**/__*.ejs"]) 41 | .pipe(ejs(item)) 42 | .pipe(rename({ basename: `${item.id}/index`, extname: ".html" })) 43 | .pipe(gulp.dest("dist")); 44 | } 45 | 46 | // その他ページ 47 | gulp 48 | .src(["src/ejs/**/*.ejs", "!src/ejs/**/_*.ejs"]) 49 | .pipe(ejs(data)) 50 | .pipe(rename({ extname: ".html" })) 51 | .pipe(gulp.dest("dist")); 52 | 53 | browser.reload(); 54 | }); 55 | }); 56 | 57 | // リロード 58 | gulp.task("reload", done => { 59 | browser.reload(); 60 | }); 61 | 62 | gulp.task("watch", () => { 63 | gulp.watch("src/styles/**/*.scss", gulp.task("style")); 64 | gulp.watch("src/ejs/**/*.ejs", gulp.task("ejs")); 65 | }); 66 | 67 | gulp.task("default", gulp.parallel("server", "watch")); 68 | 69 | gulp.task("build", gulp.parallel("style", "ejs")); 70 | -------------------------------------------------------------------------------- /gulp-ejs-microcms-blog/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gulp-ejs-microcms-blog", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "gulp", 8 | "build": "gulp build" 9 | }, 10 | "author": "shibe97", 11 | "license": "MIT", 12 | "devDependencies": { 13 | "browser-sync": "^2.26.7", 14 | "gulp": "^4.0.2", 15 | "gulp-ejs": "^5.0.0", 16 | "gulp-rename": "^2.0.0", 17 | "gulp-sass": "^4.0.2", 18 | "node-fetch": "^2.6.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /gulp-ejs-microcms-blog/src/ejs/blog/__slug.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <%= title %> 6 | 7 | 8 | 9 |
10 |

<%= title %>

11 |
12 | <%- body %> 13 |
14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /gulp-ejs-microcms-blog/src/ejs/blog/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 記事一覧 6 | 7 | 8 | 9 | 記事一覧 10 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /gulp-ejs-microcms-blog/src/ejs/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | トップ 6 | 7 | 8 | 9 | 記事一覧 10 | 11 | 12 | -------------------------------------------------------------------------------- /gulp-ejs-microcms-blog/src/styles/index.scss: -------------------------------------------------------------------------------- 1 | .wrapper { 2 | padding: 10px; 3 | } 4 | 5 | .title { 6 | font-size: 36px; 7 | } 8 | -------------------------------------------------------------------------------- /jekyll-microcms-blog/.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .sass-cache 3 | .jekyll-cache 4 | .jekyll-metadata 5 | vendor 6 | -------------------------------------------------------------------------------- /jekyll-microcms-blog/404.html: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /404.html 3 | layout: default 4 | --- 5 | 6 | 19 | 20 |
21 |

404

22 | 23 |

Page not found :(

24 |

The requested page could not be found.

25 |
26 | -------------------------------------------------------------------------------- /jekyll-microcms-blog/Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | # Hello! This is where you manage which Jekyll version is used to run. 3 | # When you want to use a different version, change it below, save the 4 | # file and run `bundle install`. Run Jekyll with `bundle exec`, like so: 5 | # 6 | # bundle exec jekyll serve 7 | # 8 | # This will help ensure the proper Jekyll version is running. 9 | # Happy Jekylling! 10 | gem "jekyll", "~> 4.0.0" 11 | # This is the default theme for new Jekyll sites. You may change this to anything you like. 12 | gem "minima", "~> 2.5" 13 | # If you want to use GitHub Pages, remove the "gem "jekyll"" above and 14 | # uncomment the line below. To upgrade, run `bundle update github-pages`. 15 | # gem "github-pages", group: :jekyll_plugins 16 | # If you have any plugins, put them here! 17 | group :jekyll_plugins do 18 | gem "jekyll-feed", "~> 0.12" 19 | end 20 | 21 | # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem 22 | # and associated library. 23 | install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do 24 | gem "tzinfo", "~> 1.2" 25 | gem "tzinfo-data" 26 | end 27 | 28 | # Performance-booster for watching directories on Windows 29 | gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform? 30 | 31 | -------------------------------------------------------------------------------- /jekyll-microcms-blog/Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | addressable (2.7.0) 5 | public_suffix (>= 2.0.2, < 5.0) 6 | colorator (1.1.0) 7 | concurrent-ruby (1.1.6) 8 | em-websocket (0.5.1) 9 | eventmachine (>= 0.12.9) 10 | http_parser.rb (~> 0.6.0) 11 | eventmachine (1.2.7) 12 | ffi (1.12.2) 13 | forwardable-extended (2.6.0) 14 | http_parser.rb (0.6.0) 15 | i18n (1.8.2) 16 | concurrent-ruby (~> 1.0) 17 | jekyll (4.0.0) 18 | addressable (~> 2.4) 19 | colorator (~> 1.0) 20 | em-websocket (~> 0.5) 21 | i18n (>= 0.9.5, < 2) 22 | jekyll-sass-converter (~> 2.0) 23 | jekyll-watch (~> 2.0) 24 | kramdown (~> 2.1) 25 | kramdown-parser-gfm (~> 1.0) 26 | liquid (~> 4.0) 27 | mercenary (~> 0.3.3) 28 | pathutil (~> 0.9) 29 | rouge (~> 3.0) 30 | safe_yaml (~> 1.0) 31 | terminal-table (~> 1.8) 32 | jekyll-feed (0.13.0) 33 | jekyll (>= 3.7, < 5.0) 34 | jekyll-sass-converter (2.1.0) 35 | sassc (> 2.0.1, < 3.0) 36 | jekyll-seo-tag (2.6.1) 37 | jekyll (>= 3.3, < 5.0) 38 | jekyll-watch (2.2.1) 39 | listen (~> 3.0) 40 | kramdown (2.1.0) 41 | kramdown-parser-gfm (1.1.0) 42 | kramdown (~> 2.0) 43 | liquid (4.0.3) 44 | listen (3.2.1) 45 | rb-fsevent (~> 0.10, >= 0.10.3) 46 | rb-inotify (~> 0.9, >= 0.9.10) 47 | mercenary (0.3.6) 48 | minima (2.5.1) 49 | jekyll (>= 3.5, < 5.0) 50 | jekyll-feed (~> 0.9) 51 | jekyll-seo-tag (~> 2.1) 52 | pathutil (0.16.2) 53 | forwardable-extended (~> 2.6) 54 | public_suffix (4.0.3) 55 | rb-fsevent (0.10.3) 56 | rb-inotify (0.10.1) 57 | ffi (~> 1.0) 58 | rouge (3.16.0) 59 | safe_yaml (1.0.5) 60 | sassc (2.2.1) 61 | ffi (~> 1.9) 62 | terminal-table (1.8.0) 63 | unicode-display_width (~> 1.1, >= 1.1.1) 64 | thread_safe (0.3.6) 65 | tzinfo (1.2.6) 66 | thread_safe (~> 0.1) 67 | tzinfo-data (1.2019.3) 68 | tzinfo (>= 1.0.0) 69 | unicode-display_width (1.6.1) 70 | wdm (0.1.1) 71 | 72 | PLATFORMS 73 | ruby 74 | 75 | DEPENDENCIES 76 | jekyll (~> 4.0.0) 77 | jekyll-feed (~> 0.12) 78 | minima (~> 2.5) 79 | tzinfo (~> 1.2) 80 | tzinfo-data 81 | wdm (~> 0.1.1) 82 | 83 | BUNDLED WITH 84 | 2.1.4 85 | -------------------------------------------------------------------------------- /jekyll-microcms-blog/_config.yml: -------------------------------------------------------------------------------- 1 | # Welcome to Jekyll! 2 | # 3 | # This config file is meant for settings that affect your whole blog, values 4 | # which you are expected to set up once and rarely edit after that. If you find 5 | # yourself editing this file very often, consider using Jekyll's data files 6 | # feature for the data you need to update frequently. 7 | # 8 | # For technical reasons, this file is *NOT* reloaded automatically when you use 9 | # 'bundle exec jekyll serve'. If you change this file, please restart the server process. 10 | # 11 | # If you need help with YAML syntax, here are some quick references for you: 12 | # https://learn-the-web.algonquindesign.ca/topics/markdown-yaml-cheat-sheet/#yaml 13 | # https://learnxinyminutes.com/docs/yaml/ 14 | # 15 | # Site settings 16 | # These are used to personalize your new site. If you look in the HTML files, 17 | # you will see them accessed via {{ site.title }}, {{ site.email }}, and so on. 18 | # You can create any custom variable you would like, and they will be accessible 19 | # in the templates via {{ site.myvariable }}. 20 | 21 | title: Your awesome title 22 | email: your-email@example.com 23 | description: >- # this means to ignore newlines until "baseurl:" 24 | Write an awesome description for your new site here. You can edit this 25 | line in _config.yml. It will appear in your document head meta (for 26 | Google search results) and in your feed.xml site description. 27 | baseurl: "" # the subpath of your site, e.g. /blog 28 | url: "" # the base hostname & protocol for your site, e.g. http://example.com 29 | twitter_username: jekyllrb 30 | github_username: jekyll 31 | 32 | # Build settings 33 | # theme: minima 34 | plugins: 35 | - jekyll-feed 36 | # Exclude from processing. 37 | # The following items will not be processed, by default. 38 | # Any item listed under the `exclude:` key here will be automatically added to 39 | # the internal "default list". 40 | # 41 | # Excluded items can be processed by explicitly listing the directories or 42 | # their entries' file path in the `include:` list. 43 | # 44 | # exclude: 45 | # - .sass-cache/ 46 | # - .jekyll-cache/ 47 | # - gemfiles/ 48 | # - Gemfile 49 | # - Gemfile.lock 50 | # - node_modules/ 51 | # - vendor/bundle/ 52 | # - vendor/cache/ 53 | # - vendor/gems/ 54 | # - vendor/ruby/ 55 | -------------------------------------------------------------------------------- /jekyll-microcms-blog/_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{ page.title }} 6 | 7 | 8 | {{ content }} 9 | 10 | 11 | -------------------------------------------------------------------------------- /jekyll-microcms-blog/_layouts/news_index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: News 4 | --- 5 | 6 |

{{ page.news.title }}

7 | 8 | {{ page.news.content }} 9 | -------------------------------------------------------------------------------- /jekyll-microcms-blog/_plugins/microcms.rb: -------------------------------------------------------------------------------- 1 | require 'open-uri' 2 | 3 | module MicroCMS 4 | class Generator < Jekyll::Generator 5 | def generate(site) 6 | # ニュースを取得 7 | result = JSON.load(open("https://test.microcms.io/api/v1/sample_news", 8 | "X-API-KEY" => "f573f510-1cdf-40e2-90fa-37f37b9b2639" 9 | ).read) 10 | 11 | # レイアウト側で使えるようにsite.dataに値を入れておく 12 | site.data.merge!({ "news" => result['contents'] }) 13 | 14 | # ニュース詳細画面を作成 15 | result['contents'].each do |news| 16 | site.pages << NewsPage.new(site, site.source, File.join('news', news['id']), news) 17 | end 18 | end 19 | end 20 | 21 | class NewsPage < Jekyll::Page 22 | def initialize(site, base, dir, news) 23 | @site = site 24 | @base = base 25 | @dir = dir 26 | @name = 'index.html' 27 | 28 | self.process(@name) 29 | self.read_yaml(File.join(base, '_layouts'), 'news_index.html') 30 | self.data['news'] = news 31 | end 32 | end 33 | end -------------------------------------------------------------------------------- /jekyll-microcms-blog/index.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Hello 4 | --- 5 | 6 |

トップページです

7 | 8 | 18 | -------------------------------------------------------------------------------- /membership-media/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /membership-media/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | .pnpm-debug.log* 27 | 28 | # local env files 29 | .env*.local 30 | 31 | # vercel 32 | .vercel 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | -------------------------------------------------------------------------------- /membership-media/README.md: -------------------------------------------------------------------------------- 1 | # membership-media 2 | microCMS + Next.js + Auth0 で作成する会員制メディア 3 | 参考:https://blog.microcms.io/membership-media-01/ 4 | 5 | ## microCMSのAPIスキーマ設定 6 | ### 記事 7 | endpoint: articles 8 | type: リスト形式 9 | 10 | | フィールド ID | 表示名 | 種類 | 11 | | ------------- | ---------- | --------------------------- | 12 | | title | タイトル | テキストフィールド | 13 | | body | 本文 | リッチエディタ | 14 | | description | 概要 | テキストフィールド | 15 | | thumbnail | サムネイル | 画像 | 16 | | private | 会員向け | 真偽値 | 17 | 18 | ## 環境変数 19 | プロジェクトルートに`.env`ファイルを作成し、以下の項目を設定してください。 20 | - API_KEY(microCMSのAPIキー) 21 | - SERVICE_ID(microCMSのサービスID) 22 | - AUTH0_SECRET 23 | - AUTH0_BASE_URL 24 | - AUTH0_ISSUER_BASE_URL 25 | - AUTH0_CLIENT_ID 26 | - AUTH0_CLIENT_SECRET 27 | 28 | ## 開発方法 29 | 30 | ```bash 31 | # パッケージをインストール 32 | $ npm install 33 | 34 | # 開発サーバーを起動(localhost:3000) 35 | $ npm run dev 36 | ``` 37 | 38 | ## ライセンス 39 | Apache License 2.0 40 | -------------------------------------------------------------------------------- /membership-media/components/Article.tsx: -------------------------------------------------------------------------------- 1 | import { FC } from 'react'; 2 | import Image from 'next/image'; 3 | import type { ArticleListDetail } from '../types'; 4 | 5 | type Props = { 6 | data: ArticleListDetail; 7 | }; 8 | 9 | const Article: FC = ({ data }) => { 10 | const { thumbnail, title, description, body, publishedAt } = data; 11 | return ( 12 |
13 | {thumbnail !== undefined && } 14 |

{title}

15 |

{description}

16 |

{publishedAt}

17 |
22 |
23 | ); 24 | }; 25 | 26 | export default Article; 27 | -------------------------------------------------------------------------------- /membership-media/components/Header.tsx: -------------------------------------------------------------------------------- 1 | import { FC } from 'react'; 2 | import Link from 'next/link'; 3 | import { useUser } from '@auth0/nextjs-auth0'; 4 | 5 | const Header: FC = () => { 6 | const { user, error, isLoading } = useUser(); 7 | 8 | if (isLoading) return
Loading...
; 9 | if (error) return
{error.message}
; 10 | 11 | if (user) { 12 | return ( 13 |
14 | Welcome {user.name}! Logout 15 |
16 | ); 17 | } 18 | 19 | return ( 20 |
21 | Login 22 |
23 | ); 24 | }; 25 | 26 | export default Header; 27 | -------------------------------------------------------------------------------- /membership-media/libs/client.ts: -------------------------------------------------------------------------------- 1 | import { createClient } from 'microcms-js-sdk'; 2 | 3 | export const client = createClient({ 4 | serviceDomain: process.env.SERVICE_ID || '', 5 | apiKey: process.env.API_KEY || '', 6 | }); 7 | -------------------------------------------------------------------------------- /membership-media/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /membership-media/next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: true, 4 | images: { 5 | domains: ['images.microcms-assets.io'] 6 | } 7 | } 8 | 9 | module.exports = nextConfig 10 | -------------------------------------------------------------------------------- /membership-media/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample-membership", 3 | "version": "0.1.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@auth0/nextjs-auth0": { 8 | "version": "1.9.0", 9 | "resolved": "https://registry.npmjs.org/@auth0/nextjs-auth0/-/nextjs-auth0-1.9.0.tgz", 10 | "integrity": "sha512-NYM545sXeF7GNrUIr7eZ5oZo0EVhKRCnDL27v6tw4Og/OfRt/QbzX7D//jjN/pjqg8KWZvmwit+zDa2X7dp+tQ==", 11 | "requires": { 12 | "base64url": "^3.0.1", 13 | "cookie": "^0.5.0", 14 | "debug": "^4.3.4", 15 | "futoin-hkdf": "^1.5.0", 16 | "http-errors": "^1.8.1", 17 | "joi": "^17.6.0", 18 | "jose": "^2.0.5", 19 | "on-headers": "^1.0.2", 20 | "openid-client": "^4.9.1", 21 | "tslib": "^2.4.0", 22 | "url-join": "^4.0.1" 23 | }, 24 | "dependencies": { 25 | "tslib": { 26 | "version": "2.4.0", 27 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", 28 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" 29 | } 30 | } 31 | }, 32 | "@babel/runtime": { 33 | "version": "7.18.3", 34 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz", 35 | "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==", 36 | "dev": true, 37 | "requires": { 38 | "regenerator-runtime": "^0.13.4" 39 | } 40 | }, 41 | "@babel/runtime-corejs3": { 42 | "version": "7.18.3", 43 | "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.18.3.tgz", 44 | "integrity": "sha512-l4ddFwrc9rnR+EJsHsh+TJ4A35YqQz/UqcjtlX2ov53hlJYG5CxtQmNZxyajwDVmCxwy++rtvGU5HazCK4W41Q==", 45 | "dev": true, 46 | "requires": { 47 | "core-js-pure": "^3.20.2", 48 | "regenerator-runtime": "^0.13.4" 49 | } 50 | }, 51 | "@eslint/eslintrc": { 52 | "version": "1.3.0", 53 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", 54 | "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", 55 | "dev": true, 56 | "requires": { 57 | "ajv": "^6.12.4", 58 | "debug": "^4.3.2", 59 | "espree": "^9.3.2", 60 | "globals": "^13.15.0", 61 | "ignore": "^5.2.0", 62 | "import-fresh": "^3.2.1", 63 | "js-yaml": "^4.1.0", 64 | "minimatch": "^3.1.2", 65 | "strip-json-comments": "^3.1.1" 66 | } 67 | }, 68 | "@hapi/hoek": { 69 | "version": "9.3.0", 70 | "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", 71 | "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" 72 | }, 73 | "@hapi/topo": { 74 | "version": "5.1.0", 75 | "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", 76 | "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", 77 | "requires": { 78 | "@hapi/hoek": "^9.0.0" 79 | } 80 | }, 81 | "@humanwhocodes/config-array": { 82 | "version": "0.9.5", 83 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", 84 | "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==", 85 | "dev": true, 86 | "requires": { 87 | "@humanwhocodes/object-schema": "^1.2.1", 88 | "debug": "^4.1.1", 89 | "minimatch": "^3.0.4" 90 | } 91 | }, 92 | "@humanwhocodes/object-schema": { 93 | "version": "1.2.1", 94 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", 95 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", 96 | "dev": true 97 | }, 98 | "@next/env": { 99 | "version": "12.1.6", 100 | "resolved": "https://registry.npmjs.org/@next/env/-/env-12.1.6.tgz", 101 | "integrity": "sha512-Te/OBDXFSodPU6jlXYPAXpmZr/AkG6DCATAxttQxqOWaq6eDFX25Db3dK0120GZrSZmv4QCe9KsZmJKDbWs4OA==" 102 | }, 103 | "@next/eslint-plugin-next": { 104 | "version": "12.1.6", 105 | "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-12.1.6.tgz", 106 | "integrity": "sha512-yNUtJ90NEiYFT6TJnNyofKMPYqirKDwpahcbxBgSIuABwYOdkGwzos1ZkYD51Qf0diYwpQZBeVqElTk7Q2WNqw==", 107 | "dev": true, 108 | "requires": { 109 | "glob": "7.1.7" 110 | }, 111 | "dependencies": { 112 | "glob": { 113 | "version": "7.1.7", 114 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", 115 | "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", 116 | "dev": true, 117 | "requires": { 118 | "fs.realpath": "^1.0.0", 119 | "inflight": "^1.0.4", 120 | "inherits": "2", 121 | "minimatch": "^3.0.4", 122 | "once": "^1.3.0", 123 | "path-is-absolute": "^1.0.0" 124 | } 125 | } 126 | } 127 | }, 128 | "@next/swc-android-arm-eabi": { 129 | "version": "12.1.6", 130 | "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.1.6.tgz", 131 | "integrity": "sha512-BxBr3QAAAXWgk/K7EedvzxJr2dE014mghBSA9iOEAv0bMgF+MRq4PoASjuHi15M2zfowpcRG8XQhMFtxftCleQ==", 132 | "optional": true 133 | }, 134 | "@next/swc-android-arm64": { 135 | "version": "12.1.6", 136 | "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.1.6.tgz", 137 | "integrity": "sha512-EboEk3ROYY7U6WA2RrMt/cXXMokUTXXfnxe2+CU+DOahvbrO8QSWhlBl9I9ZbFzJx28AGB9Yo3oQHCvph/4Lew==", 138 | "optional": true 139 | }, 140 | "@next/swc-darwin-arm64": { 141 | "version": "12.1.6", 142 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.6.tgz", 143 | "integrity": "sha512-P0EXU12BMSdNj1F7vdkP/VrYDuCNwBExtRPDYawgSUakzi6qP0iKJpya2BuLvNzXx+XPU49GFuDC5X+SvY0mOw==", 144 | "optional": true 145 | }, 146 | "@next/swc-darwin-x64": { 147 | "version": "12.1.6", 148 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.6.tgz", 149 | "integrity": "sha512-9FptMnbgHJK3dRDzfTpexs9S2hGpzOQxSQbe8omz6Pcl7rnEp9x4uSEKY51ho85JCjL4d0tDLBcXEJZKKLzxNg==", 150 | "optional": true 151 | }, 152 | "@next/swc-linux-arm-gnueabihf": { 153 | "version": "12.1.6", 154 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.6.tgz", 155 | "integrity": "sha512-PvfEa1RR55dsik/IDkCKSFkk6ODNGJqPY3ysVUZqmnWMDSuqFtf7BPWHFa/53znpvVB5XaJ5Z1/6aR5CTIqxPw==", 156 | "optional": true 157 | }, 158 | "@next/swc-linux-arm64-gnu": { 159 | "version": "12.1.6", 160 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.6.tgz", 161 | "integrity": "sha512-53QOvX1jBbC2ctnmWHyRhMajGq7QZfl974WYlwclXarVV418X7ed7o/EzGY+YVAEKzIVaAB9JFFWGXn8WWo0gQ==", 162 | "optional": true 163 | }, 164 | "@next/swc-linux-arm64-musl": { 165 | "version": "12.1.6", 166 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.6.tgz", 167 | "integrity": "sha512-CMWAkYqfGdQCS+uuMA1A2UhOfcUYeoqnTW7msLr2RyYAys15pD960hlDfq7QAi8BCAKk0sQ2rjsl0iqMyziohQ==", 168 | "optional": true 169 | }, 170 | "@next/swc-linux-x64-gnu": { 171 | "version": "12.1.6", 172 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.6.tgz", 173 | "integrity": "sha512-AC7jE4Fxpn0s3ujngClIDTiEM/CQiB2N2vkcyWWn6734AmGT03Duq6RYtPMymFobDdAtZGFZd5nR95WjPzbZAQ==", 174 | "optional": true 175 | }, 176 | "@next/swc-linux-x64-musl": { 177 | "version": "12.1.6", 178 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.6.tgz", 179 | "integrity": "sha512-c9Vjmi0EVk0Kou2qbrynskVarnFwfYIi+wKufR9Ad7/IKKuP6aEhOdZiIIdKsYWRtK2IWRF3h3YmdnEa2WLUag==", 180 | "optional": true 181 | }, 182 | "@next/swc-win32-arm64-msvc": { 183 | "version": "12.1.6", 184 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.6.tgz", 185 | "integrity": "sha512-3UTOL/5XZSKFelM7qN0it35o3Cegm6LsyuERR3/OoqEExyj3aCk7F025b54/707HTMAnjlvQK3DzLhPu/xxO4g==", 186 | "optional": true 187 | }, 188 | "@next/swc-win32-ia32-msvc": { 189 | "version": "12.1.6", 190 | "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.6.tgz", 191 | "integrity": "sha512-8ZWoj6nCq6fI1yCzKq6oK0jE6Mxlz4MrEsRyu0TwDztWQWe7rh4XXGLAa2YVPatYcHhMcUL+fQQbqd1MsgaSDA==", 192 | "optional": true 193 | }, 194 | "@next/swc-win32-x64-msvc": { 195 | "version": "12.1.6", 196 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.6.tgz", 197 | "integrity": "sha512-4ZEwiRuZEicXhXqmhw3+de8Z4EpOLQj/gp+D9fFWo6ii6W1kBkNNvvEx4A90ugppu+74pT1lIJnOuz3A9oQeJA==", 198 | "optional": true 199 | }, 200 | "@nodelib/fs.scandir": { 201 | "version": "2.1.5", 202 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 203 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 204 | "dev": true, 205 | "requires": { 206 | "@nodelib/fs.stat": "2.0.5", 207 | "run-parallel": "^1.1.9" 208 | } 209 | }, 210 | "@nodelib/fs.stat": { 211 | "version": "2.0.5", 212 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 213 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 214 | "dev": true 215 | }, 216 | "@nodelib/fs.walk": { 217 | "version": "1.2.8", 218 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 219 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 220 | "dev": true, 221 | "requires": { 222 | "@nodelib/fs.scandir": "2.1.5", 223 | "fastq": "^1.6.0" 224 | } 225 | }, 226 | "@panva/asn1.js": { 227 | "version": "1.0.0", 228 | "resolved": "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz", 229 | "integrity": "sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==" 230 | }, 231 | "@rushstack/eslint-patch": { 232 | "version": "1.1.3", 233 | "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.1.3.tgz", 234 | "integrity": "sha512-WiBSI6JBIhC6LRIsB2Kwh8DsGTlbBU+mLRxJmAe3LjHTdkDpwIbEOZgoXBbZilk/vlfjK8i6nKRAvIRn1XaIMw==", 235 | "dev": true 236 | }, 237 | "@sideway/address": { 238 | "version": "4.1.4", 239 | "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", 240 | "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", 241 | "requires": { 242 | "@hapi/hoek": "^9.0.0" 243 | } 244 | }, 245 | "@sideway/formula": { 246 | "version": "3.0.0", 247 | "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", 248 | "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" 249 | }, 250 | "@sideway/pinpoint": { 251 | "version": "2.0.0", 252 | "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", 253 | "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" 254 | }, 255 | "@sindresorhus/is": { 256 | "version": "4.6.0", 257 | "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", 258 | "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==" 259 | }, 260 | "@szmarczak/http-timer": { 261 | "version": "4.0.6", 262 | "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", 263 | "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", 264 | "requires": { 265 | "defer-to-connect": "^2.0.0" 266 | } 267 | }, 268 | "@types/cacheable-request": { 269 | "version": "6.0.2", 270 | "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", 271 | "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", 272 | "requires": { 273 | "@types/http-cache-semantics": "*", 274 | "@types/keyv": "*", 275 | "@types/node": "*", 276 | "@types/responselike": "*" 277 | } 278 | }, 279 | "@types/http-cache-semantics": { 280 | "version": "4.0.1", 281 | "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", 282 | "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" 283 | }, 284 | "@types/json-buffer": { 285 | "version": "3.0.0", 286 | "resolved": "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz", 287 | "integrity": "sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==" 288 | }, 289 | "@types/json5": { 290 | "version": "0.0.29", 291 | "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", 292 | "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", 293 | "dev": true 294 | }, 295 | "@types/keyv": { 296 | "version": "3.1.4", 297 | "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", 298 | "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", 299 | "requires": { 300 | "@types/node": "*" 301 | } 302 | }, 303 | "@types/node": { 304 | "version": "17.0.42", 305 | "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.42.tgz", 306 | "integrity": "sha512-Q5BPGyGKcvQgAMbsr7qEGN/kIPN6zZecYYABeTDBizOsau+2NMdSVTar9UQw21A2+JyA2KRNDYaYrPB0Rpk2oQ==" 307 | }, 308 | "@types/prop-types": { 309 | "version": "15.7.5", 310 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", 311 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", 312 | "dev": true 313 | }, 314 | "@types/react": { 315 | "version": "18.0.12", 316 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.12.tgz", 317 | "integrity": "sha512-duF1OTASSBQtcigUvhuiTB1Ya3OvSy+xORCiEf20H0P0lzx+/KeVsA99U5UjLXSbyo1DRJDlLKqTeM1ngosqtg==", 318 | "dev": true, 319 | "requires": { 320 | "@types/prop-types": "*", 321 | "@types/scheduler": "*", 322 | "csstype": "^3.0.2" 323 | } 324 | }, 325 | "@types/react-dom": { 326 | "version": "18.0.5", 327 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.5.tgz", 328 | "integrity": "sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==", 329 | "dev": true, 330 | "requires": { 331 | "@types/react": "*" 332 | } 333 | }, 334 | "@types/responselike": { 335 | "version": "1.0.0", 336 | "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", 337 | "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", 338 | "requires": { 339 | "@types/node": "*" 340 | } 341 | }, 342 | "@types/scheduler": { 343 | "version": "0.16.2", 344 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", 345 | "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", 346 | "dev": true 347 | }, 348 | "@typescript-eslint/parser": { 349 | "version": "5.27.1", 350 | "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.27.1.tgz", 351 | "integrity": "sha512-7Va2ZOkHi5NP+AZwb5ReLgNF6nWLGTeUJfxdkVUAPPSaAdbWNnFZzLZ4EGGmmiCTg+AwlbE1KyUYTBglosSLHQ==", 352 | "dev": true, 353 | "requires": { 354 | "@typescript-eslint/scope-manager": "5.27.1", 355 | "@typescript-eslint/types": "5.27.1", 356 | "@typescript-eslint/typescript-estree": "5.27.1", 357 | "debug": "^4.3.4" 358 | } 359 | }, 360 | "@typescript-eslint/scope-manager": { 361 | "version": "5.27.1", 362 | "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.27.1.tgz", 363 | "integrity": "sha512-fQEOSa/QroWE6fAEg+bJxtRZJTH8NTskggybogHt4H9Da8zd4cJji76gA5SBlR0MgtwF7rebxTbDKB49YUCpAg==", 364 | "dev": true, 365 | "requires": { 366 | "@typescript-eslint/types": "5.27.1", 367 | "@typescript-eslint/visitor-keys": "5.27.1" 368 | } 369 | }, 370 | "@typescript-eslint/types": { 371 | "version": "5.27.1", 372 | "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.27.1.tgz", 373 | "integrity": "sha512-LgogNVkBhCTZU/m8XgEYIWICD6m4dmEDbKXESCbqOXfKZxRKeqpiJXQIErv66sdopRKZPo5l32ymNqibYEH/xg==", 374 | "dev": true 375 | }, 376 | "@typescript-eslint/typescript-estree": { 377 | "version": "5.27.1", 378 | "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.27.1.tgz", 379 | "integrity": "sha512-DnZvvq3TAJ5ke+hk0LklvxwYsnXpRdqUY5gaVS0D4raKtbznPz71UJGnPTHEFo0GDxqLOLdMkkmVZjSpET1hFw==", 380 | "dev": true, 381 | "requires": { 382 | "@typescript-eslint/types": "5.27.1", 383 | "@typescript-eslint/visitor-keys": "5.27.1", 384 | "debug": "^4.3.4", 385 | "globby": "^11.1.0", 386 | "is-glob": "^4.0.3", 387 | "semver": "^7.3.7", 388 | "tsutils": "^3.21.0" 389 | } 390 | }, 391 | "@typescript-eslint/visitor-keys": { 392 | "version": "5.27.1", 393 | "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.27.1.tgz", 394 | "integrity": "sha512-xYs6ffo01nhdJgPieyk7HAOpjhTsx7r/oB9LWEhwAXgwn33tkr+W8DI2ChboqhZlC4q3TC6geDYPoiX8ROqyOQ==", 395 | "dev": true, 396 | "requires": { 397 | "@typescript-eslint/types": "5.27.1", 398 | "eslint-visitor-keys": "^3.3.0" 399 | } 400 | }, 401 | "acorn": { 402 | "version": "8.7.1", 403 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", 404 | "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", 405 | "dev": true 406 | }, 407 | "acorn-jsx": { 408 | "version": "5.3.2", 409 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 410 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 411 | "dev": true 412 | }, 413 | "aggregate-error": { 414 | "version": "3.1.0", 415 | "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", 416 | "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", 417 | "requires": { 418 | "clean-stack": "^2.0.0", 419 | "indent-string": "^4.0.0" 420 | } 421 | }, 422 | "ajv": { 423 | "version": "6.12.6", 424 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 425 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 426 | "dev": true, 427 | "requires": { 428 | "fast-deep-equal": "^3.1.1", 429 | "fast-json-stable-stringify": "^2.0.0", 430 | "json-schema-traverse": "^0.4.1", 431 | "uri-js": "^4.2.2" 432 | } 433 | }, 434 | "ansi-regex": { 435 | "version": "5.0.1", 436 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 437 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 438 | "dev": true 439 | }, 440 | "ansi-styles": { 441 | "version": "4.3.0", 442 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 443 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 444 | "dev": true, 445 | "requires": { 446 | "color-convert": "^2.0.1" 447 | } 448 | }, 449 | "argparse": { 450 | "version": "2.0.1", 451 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 452 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 453 | "dev": true 454 | }, 455 | "aria-query": { 456 | "version": "4.2.2", 457 | "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", 458 | "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", 459 | "dev": true, 460 | "requires": { 461 | "@babel/runtime": "^7.10.2", 462 | "@babel/runtime-corejs3": "^7.10.2" 463 | } 464 | }, 465 | "array-includes": { 466 | "version": "3.1.5", 467 | "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", 468 | "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", 469 | "dev": true, 470 | "requires": { 471 | "call-bind": "^1.0.2", 472 | "define-properties": "^1.1.4", 473 | "es-abstract": "^1.19.5", 474 | "get-intrinsic": "^1.1.1", 475 | "is-string": "^1.0.7" 476 | } 477 | }, 478 | "array-union": { 479 | "version": "2.1.0", 480 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 481 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 482 | "dev": true 483 | }, 484 | "array.prototype.flat": { 485 | "version": "1.3.0", 486 | "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", 487 | "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", 488 | "dev": true, 489 | "requires": { 490 | "call-bind": "^1.0.2", 491 | "define-properties": "^1.1.3", 492 | "es-abstract": "^1.19.2", 493 | "es-shim-unscopables": "^1.0.0" 494 | } 495 | }, 496 | "array.prototype.flatmap": { 497 | "version": "1.3.0", 498 | "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz", 499 | "integrity": "sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg==", 500 | "dev": true, 501 | "requires": { 502 | "call-bind": "^1.0.2", 503 | "define-properties": "^1.1.3", 504 | "es-abstract": "^1.19.2", 505 | "es-shim-unscopables": "^1.0.0" 506 | } 507 | }, 508 | "ast-types-flow": { 509 | "version": "0.0.7", 510 | "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", 511 | "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", 512 | "dev": true 513 | }, 514 | "axe-core": { 515 | "version": "4.4.2", 516 | "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.2.tgz", 517 | "integrity": "sha512-LVAaGp/wkkgYJcjmHsoKx4juT1aQvJyPcW09MLCjVTh3V2cc6PnyempiLMNH5iMdfIX/zdbjUx2KDjMLCTdPeA==", 518 | "dev": true 519 | }, 520 | "axobject-query": { 521 | "version": "2.2.0", 522 | "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", 523 | "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", 524 | "dev": true 525 | }, 526 | "balanced-match": { 527 | "version": "1.0.2", 528 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 529 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 530 | "dev": true 531 | }, 532 | "base64url": { 533 | "version": "3.0.1", 534 | "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", 535 | "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" 536 | }, 537 | "brace-expansion": { 538 | "version": "1.1.11", 539 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 540 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 541 | "dev": true, 542 | "requires": { 543 | "balanced-match": "^1.0.0", 544 | "concat-map": "0.0.1" 545 | } 546 | }, 547 | "braces": { 548 | "version": "3.0.2", 549 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 550 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 551 | "dev": true, 552 | "requires": { 553 | "fill-range": "^7.0.1" 554 | } 555 | }, 556 | "cacheable-lookup": { 557 | "version": "5.0.4", 558 | "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", 559 | "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==" 560 | }, 561 | "cacheable-request": { 562 | "version": "7.0.2", 563 | "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", 564 | "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", 565 | "requires": { 566 | "clone-response": "^1.0.2", 567 | "get-stream": "^5.1.0", 568 | "http-cache-semantics": "^4.0.0", 569 | "keyv": "^4.0.0", 570 | "lowercase-keys": "^2.0.0", 571 | "normalize-url": "^6.0.1", 572 | "responselike": "^2.0.0" 573 | } 574 | }, 575 | "call-bind": { 576 | "version": "1.0.2", 577 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 578 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 579 | "requires": { 580 | "function-bind": "^1.1.1", 581 | "get-intrinsic": "^1.0.2" 582 | } 583 | }, 584 | "callsites": { 585 | "version": "3.1.0", 586 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 587 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 588 | "dev": true 589 | }, 590 | "caniuse-lite": { 591 | "version": "1.0.30001352", 592 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001352.tgz", 593 | "integrity": "sha512-GUgH8w6YergqPQDGWhJGt8GDRnY0L/iJVQcU3eJ46GYf52R8tk0Wxp0PymuFVZboJYXGiCqwozAYZNRjVj6IcA==" 594 | }, 595 | "chalk": { 596 | "version": "4.1.2", 597 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 598 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 599 | "dev": true, 600 | "requires": { 601 | "ansi-styles": "^4.1.0", 602 | "supports-color": "^7.1.0" 603 | } 604 | }, 605 | "clean-stack": { 606 | "version": "2.2.0", 607 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", 608 | "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" 609 | }, 610 | "clone-response": { 611 | "version": "1.0.2", 612 | "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", 613 | "integrity": "sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==", 614 | "requires": { 615 | "mimic-response": "^1.0.0" 616 | } 617 | }, 618 | "color-convert": { 619 | "version": "2.0.1", 620 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 621 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 622 | "dev": true, 623 | "requires": { 624 | "color-name": "~1.1.4" 625 | } 626 | }, 627 | "color-name": { 628 | "version": "1.1.4", 629 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 630 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 631 | "dev": true 632 | }, 633 | "compress-brotli": { 634 | "version": "1.3.8", 635 | "resolved": "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz", 636 | "integrity": "sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==", 637 | "requires": { 638 | "@types/json-buffer": "~3.0.0", 639 | "json-buffer": "~3.0.1" 640 | } 641 | }, 642 | "concat-map": { 643 | "version": "0.0.1", 644 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 645 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 646 | "dev": true 647 | }, 648 | "cookie": { 649 | "version": "0.5.0", 650 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", 651 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" 652 | }, 653 | "core-js-pure": { 654 | "version": "3.22.8", 655 | "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.8.tgz", 656 | "integrity": "sha512-bOxbZIy9S5n4OVH63XaLVXZ49QKicjowDx/UELyJ68vxfCRpYsbyh/WNZNfEfAk+ekA8vSjt+gCDpvh672bc3w==", 657 | "dev": true 658 | }, 659 | "cross-spawn": { 660 | "version": "7.0.3", 661 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 662 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 663 | "dev": true, 664 | "requires": { 665 | "path-key": "^3.1.0", 666 | "shebang-command": "^2.0.0", 667 | "which": "^2.0.1" 668 | } 669 | }, 670 | "csstype": { 671 | "version": "3.1.0", 672 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz", 673 | "integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==", 674 | "dev": true 675 | }, 676 | "damerau-levenshtein": { 677 | "version": "1.0.8", 678 | "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", 679 | "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", 680 | "dev": true 681 | }, 682 | "debug": { 683 | "version": "4.3.4", 684 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 685 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 686 | "requires": { 687 | "ms": "2.1.2" 688 | } 689 | }, 690 | "decompress-response": { 691 | "version": "6.0.0", 692 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", 693 | "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", 694 | "requires": { 695 | "mimic-response": "^3.1.0" 696 | }, 697 | "dependencies": { 698 | "mimic-response": { 699 | "version": "3.1.0", 700 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", 701 | "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" 702 | } 703 | } 704 | }, 705 | "deep-is": { 706 | "version": "0.1.4", 707 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 708 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 709 | "dev": true 710 | }, 711 | "defer-to-connect": { 712 | "version": "2.0.1", 713 | "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", 714 | "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==" 715 | }, 716 | "define-properties": { 717 | "version": "1.1.4", 718 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", 719 | "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", 720 | "dev": true, 721 | "requires": { 722 | "has-property-descriptors": "^1.0.0", 723 | "object-keys": "^1.1.1" 724 | } 725 | }, 726 | "depd": { 727 | "version": "1.1.2", 728 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 729 | "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" 730 | }, 731 | "dir-glob": { 732 | "version": "3.0.1", 733 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 734 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 735 | "dev": true, 736 | "requires": { 737 | "path-type": "^4.0.0" 738 | } 739 | }, 740 | "doctrine": { 741 | "version": "3.0.0", 742 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 743 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 744 | "dev": true, 745 | "requires": { 746 | "esutils": "^2.0.2" 747 | } 748 | }, 749 | "emoji-regex": { 750 | "version": "9.2.2", 751 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 752 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 753 | "dev": true 754 | }, 755 | "end-of-stream": { 756 | "version": "1.4.4", 757 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 758 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 759 | "requires": { 760 | "once": "^1.4.0" 761 | } 762 | }, 763 | "es-abstract": { 764 | "version": "1.20.1", 765 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", 766 | "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", 767 | "dev": true, 768 | "requires": { 769 | "call-bind": "^1.0.2", 770 | "es-to-primitive": "^1.2.1", 771 | "function-bind": "^1.1.1", 772 | "function.prototype.name": "^1.1.5", 773 | "get-intrinsic": "^1.1.1", 774 | "get-symbol-description": "^1.0.0", 775 | "has": "^1.0.3", 776 | "has-property-descriptors": "^1.0.0", 777 | "has-symbols": "^1.0.3", 778 | "internal-slot": "^1.0.3", 779 | "is-callable": "^1.2.4", 780 | "is-negative-zero": "^2.0.2", 781 | "is-regex": "^1.1.4", 782 | "is-shared-array-buffer": "^1.0.2", 783 | "is-string": "^1.0.7", 784 | "is-weakref": "^1.0.2", 785 | "object-inspect": "^1.12.0", 786 | "object-keys": "^1.1.1", 787 | "object.assign": "^4.1.2", 788 | "regexp.prototype.flags": "^1.4.3", 789 | "string.prototype.trimend": "^1.0.5", 790 | "string.prototype.trimstart": "^1.0.5", 791 | "unbox-primitive": "^1.0.2" 792 | } 793 | }, 794 | "es-shim-unscopables": { 795 | "version": "1.0.0", 796 | "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", 797 | "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", 798 | "dev": true, 799 | "requires": { 800 | "has": "^1.0.3" 801 | } 802 | }, 803 | "es-to-primitive": { 804 | "version": "1.2.1", 805 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 806 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 807 | "dev": true, 808 | "requires": { 809 | "is-callable": "^1.1.4", 810 | "is-date-object": "^1.0.1", 811 | "is-symbol": "^1.0.2" 812 | } 813 | }, 814 | "escape-string-regexp": { 815 | "version": "4.0.0", 816 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 817 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 818 | "dev": true 819 | }, 820 | "eslint": { 821 | "version": "8.17.0", 822 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.17.0.tgz", 823 | "integrity": "sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==", 824 | "dev": true, 825 | "requires": { 826 | "@eslint/eslintrc": "^1.3.0", 827 | "@humanwhocodes/config-array": "^0.9.2", 828 | "ajv": "^6.10.0", 829 | "chalk": "^4.0.0", 830 | "cross-spawn": "^7.0.2", 831 | "debug": "^4.3.2", 832 | "doctrine": "^3.0.0", 833 | "escape-string-regexp": "^4.0.0", 834 | "eslint-scope": "^7.1.1", 835 | "eslint-utils": "^3.0.0", 836 | "eslint-visitor-keys": "^3.3.0", 837 | "espree": "^9.3.2", 838 | "esquery": "^1.4.0", 839 | "esutils": "^2.0.2", 840 | "fast-deep-equal": "^3.1.3", 841 | "file-entry-cache": "^6.0.1", 842 | "functional-red-black-tree": "^1.0.1", 843 | "glob-parent": "^6.0.1", 844 | "globals": "^13.15.0", 845 | "ignore": "^5.2.0", 846 | "import-fresh": "^3.0.0", 847 | "imurmurhash": "^0.1.4", 848 | "is-glob": "^4.0.0", 849 | "js-yaml": "^4.1.0", 850 | "json-stable-stringify-without-jsonify": "^1.0.1", 851 | "levn": "^0.4.1", 852 | "lodash.merge": "^4.6.2", 853 | "minimatch": "^3.1.2", 854 | "natural-compare": "^1.4.0", 855 | "optionator": "^0.9.1", 856 | "regexpp": "^3.2.0", 857 | "strip-ansi": "^6.0.1", 858 | "strip-json-comments": "^3.1.0", 859 | "text-table": "^0.2.0", 860 | "v8-compile-cache": "^2.0.3" 861 | } 862 | }, 863 | "eslint-config-next": { 864 | "version": "12.1.6", 865 | "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.1.6.tgz", 866 | "integrity": "sha512-qoiS3g/EPzfCTkGkaPBSX9W0NGE/B1wNO3oWrd76QszVGrdpLggNqcO8+LR6MB0CNqtp9Q8NoeVrxNVbzM9hqA==", 867 | "dev": true, 868 | "requires": { 869 | "@next/eslint-plugin-next": "12.1.6", 870 | "@rushstack/eslint-patch": "^1.1.3", 871 | "@typescript-eslint/parser": "^5.21.0", 872 | "eslint-import-resolver-node": "^0.3.6", 873 | "eslint-import-resolver-typescript": "^2.7.1", 874 | "eslint-plugin-import": "^2.26.0", 875 | "eslint-plugin-jsx-a11y": "^6.5.1", 876 | "eslint-plugin-react": "^7.29.4", 877 | "eslint-plugin-react-hooks": "^4.5.0" 878 | } 879 | }, 880 | "eslint-import-resolver-node": { 881 | "version": "0.3.6", 882 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", 883 | "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", 884 | "dev": true, 885 | "requires": { 886 | "debug": "^3.2.7", 887 | "resolve": "^1.20.0" 888 | }, 889 | "dependencies": { 890 | "debug": { 891 | "version": "3.2.7", 892 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 893 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 894 | "dev": true, 895 | "requires": { 896 | "ms": "^2.1.1" 897 | } 898 | } 899 | } 900 | }, 901 | "eslint-import-resolver-typescript": { 902 | "version": "2.7.1", 903 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz", 904 | "integrity": "sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==", 905 | "dev": true, 906 | "requires": { 907 | "debug": "^4.3.4", 908 | "glob": "^7.2.0", 909 | "is-glob": "^4.0.3", 910 | "resolve": "^1.22.0", 911 | "tsconfig-paths": "^3.14.1" 912 | } 913 | }, 914 | "eslint-module-utils": { 915 | "version": "2.7.3", 916 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", 917 | "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", 918 | "dev": true, 919 | "requires": { 920 | "debug": "^3.2.7", 921 | "find-up": "^2.1.0" 922 | }, 923 | "dependencies": { 924 | "debug": { 925 | "version": "3.2.7", 926 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 927 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 928 | "dev": true, 929 | "requires": { 930 | "ms": "^2.1.1" 931 | } 932 | } 933 | } 934 | }, 935 | "eslint-plugin-import": { 936 | "version": "2.26.0", 937 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", 938 | "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", 939 | "dev": true, 940 | "requires": { 941 | "array-includes": "^3.1.4", 942 | "array.prototype.flat": "^1.2.5", 943 | "debug": "^2.6.9", 944 | "doctrine": "^2.1.0", 945 | "eslint-import-resolver-node": "^0.3.6", 946 | "eslint-module-utils": "^2.7.3", 947 | "has": "^1.0.3", 948 | "is-core-module": "^2.8.1", 949 | "is-glob": "^4.0.3", 950 | "minimatch": "^3.1.2", 951 | "object.values": "^1.1.5", 952 | "resolve": "^1.22.0", 953 | "tsconfig-paths": "^3.14.1" 954 | }, 955 | "dependencies": { 956 | "debug": { 957 | "version": "2.6.9", 958 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 959 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 960 | "dev": true, 961 | "requires": { 962 | "ms": "2.0.0" 963 | } 964 | }, 965 | "doctrine": { 966 | "version": "2.1.0", 967 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 968 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 969 | "dev": true, 970 | "requires": { 971 | "esutils": "^2.0.2" 972 | } 973 | }, 974 | "ms": { 975 | "version": "2.0.0", 976 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 977 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", 978 | "dev": true 979 | } 980 | } 981 | }, 982 | "eslint-plugin-jsx-a11y": { 983 | "version": "6.5.1", 984 | "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", 985 | "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", 986 | "dev": true, 987 | "requires": { 988 | "@babel/runtime": "^7.16.3", 989 | "aria-query": "^4.2.2", 990 | "array-includes": "^3.1.4", 991 | "ast-types-flow": "^0.0.7", 992 | "axe-core": "^4.3.5", 993 | "axobject-query": "^2.2.0", 994 | "damerau-levenshtein": "^1.0.7", 995 | "emoji-regex": "^9.2.2", 996 | "has": "^1.0.3", 997 | "jsx-ast-utils": "^3.2.1", 998 | "language-tags": "^1.0.5", 999 | "minimatch": "^3.0.4" 1000 | } 1001 | }, 1002 | "eslint-plugin-react": { 1003 | "version": "7.30.0", 1004 | "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.30.0.tgz", 1005 | "integrity": "sha512-RgwH7hjW48BleKsYyHK5vUAvxtE9SMPDKmcPRQgtRCYaZA0XQPt5FSkrU3nhz5ifzMZcA8opwmRJ2cmOO8tr5A==", 1006 | "dev": true, 1007 | "requires": { 1008 | "array-includes": "^3.1.5", 1009 | "array.prototype.flatmap": "^1.3.0", 1010 | "doctrine": "^2.1.0", 1011 | "estraverse": "^5.3.0", 1012 | "jsx-ast-utils": "^2.4.1 || ^3.0.0", 1013 | "minimatch": "^3.1.2", 1014 | "object.entries": "^1.1.5", 1015 | "object.fromentries": "^2.0.5", 1016 | "object.hasown": "^1.1.1", 1017 | "object.values": "^1.1.5", 1018 | "prop-types": "^15.8.1", 1019 | "resolve": "^2.0.0-next.3", 1020 | "semver": "^6.3.0", 1021 | "string.prototype.matchall": "^4.0.7" 1022 | }, 1023 | "dependencies": { 1024 | "doctrine": { 1025 | "version": "2.1.0", 1026 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 1027 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 1028 | "dev": true, 1029 | "requires": { 1030 | "esutils": "^2.0.2" 1031 | } 1032 | }, 1033 | "resolve": { 1034 | "version": "2.0.0-next.3", 1035 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", 1036 | "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", 1037 | "dev": true, 1038 | "requires": { 1039 | "is-core-module": "^2.2.0", 1040 | "path-parse": "^1.0.6" 1041 | } 1042 | }, 1043 | "semver": { 1044 | "version": "6.3.0", 1045 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", 1046 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", 1047 | "dev": true 1048 | } 1049 | } 1050 | }, 1051 | "eslint-plugin-react-hooks": { 1052 | "version": "4.5.0", 1053 | "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.5.0.tgz", 1054 | "integrity": "sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw==", 1055 | "dev": true 1056 | }, 1057 | "eslint-scope": { 1058 | "version": "7.1.1", 1059 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", 1060 | "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", 1061 | "dev": true, 1062 | "requires": { 1063 | "esrecurse": "^4.3.0", 1064 | "estraverse": "^5.2.0" 1065 | } 1066 | }, 1067 | "eslint-utils": { 1068 | "version": "3.0.0", 1069 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 1070 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 1071 | "dev": true, 1072 | "requires": { 1073 | "eslint-visitor-keys": "^2.0.0" 1074 | }, 1075 | "dependencies": { 1076 | "eslint-visitor-keys": { 1077 | "version": "2.1.0", 1078 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 1079 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 1080 | "dev": true 1081 | } 1082 | } 1083 | }, 1084 | "eslint-visitor-keys": { 1085 | "version": "3.3.0", 1086 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", 1087 | "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", 1088 | "dev": true 1089 | }, 1090 | "espree": { 1091 | "version": "9.3.2", 1092 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz", 1093 | "integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==", 1094 | "dev": true, 1095 | "requires": { 1096 | "acorn": "^8.7.1", 1097 | "acorn-jsx": "^5.3.2", 1098 | "eslint-visitor-keys": "^3.3.0" 1099 | } 1100 | }, 1101 | "esquery": { 1102 | "version": "1.4.0", 1103 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 1104 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 1105 | "dev": true, 1106 | "requires": { 1107 | "estraverse": "^5.1.0" 1108 | } 1109 | }, 1110 | "esrecurse": { 1111 | "version": "4.3.0", 1112 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 1113 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 1114 | "dev": true, 1115 | "requires": { 1116 | "estraverse": "^5.2.0" 1117 | } 1118 | }, 1119 | "estraverse": { 1120 | "version": "5.3.0", 1121 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1122 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1123 | "dev": true 1124 | }, 1125 | "esutils": { 1126 | "version": "2.0.3", 1127 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 1128 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 1129 | "dev": true 1130 | }, 1131 | "fast-deep-equal": { 1132 | "version": "3.1.3", 1133 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1134 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1135 | "dev": true 1136 | }, 1137 | "fast-glob": { 1138 | "version": "3.2.11", 1139 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 1140 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 1141 | "dev": true, 1142 | "requires": { 1143 | "@nodelib/fs.stat": "^2.0.2", 1144 | "@nodelib/fs.walk": "^1.2.3", 1145 | "glob-parent": "^5.1.2", 1146 | "merge2": "^1.3.0", 1147 | "micromatch": "^4.0.4" 1148 | }, 1149 | "dependencies": { 1150 | "glob-parent": { 1151 | "version": "5.1.2", 1152 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1153 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1154 | "dev": true, 1155 | "requires": { 1156 | "is-glob": "^4.0.1" 1157 | } 1158 | } 1159 | } 1160 | }, 1161 | "fast-json-stable-stringify": { 1162 | "version": "2.1.0", 1163 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 1164 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 1165 | "dev": true 1166 | }, 1167 | "fast-levenshtein": { 1168 | "version": "2.0.6", 1169 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1170 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 1171 | "dev": true 1172 | }, 1173 | "fastq": { 1174 | "version": "1.13.0", 1175 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 1176 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 1177 | "dev": true, 1178 | "requires": { 1179 | "reusify": "^1.0.4" 1180 | } 1181 | }, 1182 | "file-entry-cache": { 1183 | "version": "6.0.1", 1184 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 1185 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 1186 | "dev": true, 1187 | "requires": { 1188 | "flat-cache": "^3.0.4" 1189 | } 1190 | }, 1191 | "fill-range": { 1192 | "version": "7.0.1", 1193 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1194 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1195 | "dev": true, 1196 | "requires": { 1197 | "to-regex-range": "^5.0.1" 1198 | } 1199 | }, 1200 | "find-up": { 1201 | "version": "2.1.0", 1202 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 1203 | "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", 1204 | "dev": true, 1205 | "requires": { 1206 | "locate-path": "^2.0.0" 1207 | } 1208 | }, 1209 | "flat-cache": { 1210 | "version": "3.0.4", 1211 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 1212 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 1213 | "dev": true, 1214 | "requires": { 1215 | "flatted": "^3.1.0", 1216 | "rimraf": "^3.0.2" 1217 | } 1218 | }, 1219 | "flatted": { 1220 | "version": "3.2.5", 1221 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", 1222 | "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", 1223 | "dev": true 1224 | }, 1225 | "fs.realpath": { 1226 | "version": "1.0.0", 1227 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1228 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 1229 | "dev": true 1230 | }, 1231 | "function-bind": { 1232 | "version": "1.1.1", 1233 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1234 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 1235 | }, 1236 | "function.prototype.name": { 1237 | "version": "1.1.5", 1238 | "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", 1239 | "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", 1240 | "dev": true, 1241 | "requires": { 1242 | "call-bind": "^1.0.2", 1243 | "define-properties": "^1.1.3", 1244 | "es-abstract": "^1.19.0", 1245 | "functions-have-names": "^1.2.2" 1246 | } 1247 | }, 1248 | "functional-red-black-tree": { 1249 | "version": "1.0.1", 1250 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 1251 | "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", 1252 | "dev": true 1253 | }, 1254 | "functions-have-names": { 1255 | "version": "1.2.3", 1256 | "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", 1257 | "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", 1258 | "dev": true 1259 | }, 1260 | "futoin-hkdf": { 1261 | "version": "1.5.1", 1262 | "resolved": "https://registry.npmjs.org/futoin-hkdf/-/futoin-hkdf-1.5.1.tgz", 1263 | "integrity": "sha512-g5d0Qp7ks55hYmYmfqn4Nz18XH49lcCR+vvIvHT92xXnsJaGZmY1EtWQWilJ6BQp57heCIXM/rRo+AFep8hGgg==" 1264 | }, 1265 | "get-intrinsic": { 1266 | "version": "1.1.2", 1267 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", 1268 | "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", 1269 | "requires": { 1270 | "function-bind": "^1.1.1", 1271 | "has": "^1.0.3", 1272 | "has-symbols": "^1.0.3" 1273 | } 1274 | }, 1275 | "get-stream": { 1276 | "version": "5.2.0", 1277 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", 1278 | "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", 1279 | "requires": { 1280 | "pump": "^3.0.0" 1281 | } 1282 | }, 1283 | "get-symbol-description": { 1284 | "version": "1.0.0", 1285 | "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", 1286 | "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", 1287 | "dev": true, 1288 | "requires": { 1289 | "call-bind": "^1.0.2", 1290 | "get-intrinsic": "^1.1.1" 1291 | } 1292 | }, 1293 | "glob": { 1294 | "version": "7.2.3", 1295 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 1296 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 1297 | "dev": true, 1298 | "requires": { 1299 | "fs.realpath": "^1.0.0", 1300 | "inflight": "^1.0.4", 1301 | "inherits": "2", 1302 | "minimatch": "^3.1.1", 1303 | "once": "^1.3.0", 1304 | "path-is-absolute": "^1.0.0" 1305 | } 1306 | }, 1307 | "glob-parent": { 1308 | "version": "6.0.2", 1309 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1310 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1311 | "dev": true, 1312 | "requires": { 1313 | "is-glob": "^4.0.3" 1314 | } 1315 | }, 1316 | "globals": { 1317 | "version": "13.15.0", 1318 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz", 1319 | "integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==", 1320 | "dev": true, 1321 | "requires": { 1322 | "type-fest": "^0.20.2" 1323 | } 1324 | }, 1325 | "globby": { 1326 | "version": "11.1.0", 1327 | "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", 1328 | "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", 1329 | "dev": true, 1330 | "requires": { 1331 | "array-union": "^2.1.0", 1332 | "dir-glob": "^3.0.1", 1333 | "fast-glob": "^3.2.9", 1334 | "ignore": "^5.2.0", 1335 | "merge2": "^1.4.1", 1336 | "slash": "^3.0.0" 1337 | } 1338 | }, 1339 | "got": { 1340 | "version": "11.8.5", 1341 | "resolved": "https://registry.npmjs.org/got/-/got-11.8.5.tgz", 1342 | "integrity": "sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ==", 1343 | "requires": { 1344 | "@sindresorhus/is": "^4.0.0", 1345 | "@szmarczak/http-timer": "^4.0.5", 1346 | "@types/cacheable-request": "^6.0.1", 1347 | "@types/responselike": "^1.0.0", 1348 | "cacheable-lookup": "^5.0.3", 1349 | "cacheable-request": "^7.0.2", 1350 | "decompress-response": "^6.0.0", 1351 | "http2-wrapper": "^1.0.0-beta.5.2", 1352 | "lowercase-keys": "^2.0.0", 1353 | "p-cancelable": "^2.0.0", 1354 | "responselike": "^2.0.0" 1355 | } 1356 | }, 1357 | "has": { 1358 | "version": "1.0.3", 1359 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1360 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1361 | "requires": { 1362 | "function-bind": "^1.1.1" 1363 | } 1364 | }, 1365 | "has-bigints": { 1366 | "version": "1.0.2", 1367 | "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", 1368 | "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", 1369 | "dev": true 1370 | }, 1371 | "has-flag": { 1372 | "version": "4.0.0", 1373 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1374 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1375 | "dev": true 1376 | }, 1377 | "has-property-descriptors": { 1378 | "version": "1.0.0", 1379 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", 1380 | "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", 1381 | "dev": true, 1382 | "requires": { 1383 | "get-intrinsic": "^1.1.1" 1384 | } 1385 | }, 1386 | "has-symbols": { 1387 | "version": "1.0.3", 1388 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 1389 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" 1390 | }, 1391 | "has-tostringtag": { 1392 | "version": "1.0.0", 1393 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", 1394 | "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", 1395 | "dev": true, 1396 | "requires": { 1397 | "has-symbols": "^1.0.2" 1398 | } 1399 | }, 1400 | "http-cache-semantics": { 1401 | "version": "4.1.0", 1402 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", 1403 | "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" 1404 | }, 1405 | "http-errors": { 1406 | "version": "1.8.1", 1407 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", 1408 | "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", 1409 | "requires": { 1410 | "depd": "~1.1.2", 1411 | "inherits": "2.0.4", 1412 | "setprototypeof": "1.2.0", 1413 | "statuses": ">= 1.5.0 < 2", 1414 | "toidentifier": "1.0.1" 1415 | } 1416 | }, 1417 | "http2-wrapper": { 1418 | "version": "1.0.3", 1419 | "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", 1420 | "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", 1421 | "requires": { 1422 | "quick-lru": "^5.1.1", 1423 | "resolve-alpn": "^1.0.0" 1424 | } 1425 | }, 1426 | "ignore": { 1427 | "version": "5.2.0", 1428 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", 1429 | "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", 1430 | "dev": true 1431 | }, 1432 | "import-fresh": { 1433 | "version": "3.3.0", 1434 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1435 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1436 | "dev": true, 1437 | "requires": { 1438 | "parent-module": "^1.0.0", 1439 | "resolve-from": "^4.0.0" 1440 | } 1441 | }, 1442 | "imurmurhash": { 1443 | "version": "0.1.4", 1444 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1445 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 1446 | "dev": true 1447 | }, 1448 | "indent-string": { 1449 | "version": "4.0.0", 1450 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 1451 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" 1452 | }, 1453 | "inflight": { 1454 | "version": "1.0.6", 1455 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1456 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1457 | "dev": true, 1458 | "requires": { 1459 | "once": "^1.3.0", 1460 | "wrappy": "1" 1461 | } 1462 | }, 1463 | "inherits": { 1464 | "version": "2.0.4", 1465 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1466 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1467 | }, 1468 | "internal-slot": { 1469 | "version": "1.0.3", 1470 | "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", 1471 | "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", 1472 | "dev": true, 1473 | "requires": { 1474 | "get-intrinsic": "^1.1.0", 1475 | "has": "^1.0.3", 1476 | "side-channel": "^1.0.4" 1477 | } 1478 | }, 1479 | "is-bigint": { 1480 | "version": "1.0.4", 1481 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", 1482 | "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", 1483 | "dev": true, 1484 | "requires": { 1485 | "has-bigints": "^1.0.1" 1486 | } 1487 | }, 1488 | "is-boolean-object": { 1489 | "version": "1.1.2", 1490 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", 1491 | "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", 1492 | "dev": true, 1493 | "requires": { 1494 | "call-bind": "^1.0.2", 1495 | "has-tostringtag": "^1.0.0" 1496 | } 1497 | }, 1498 | "is-callable": { 1499 | "version": "1.2.4", 1500 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", 1501 | "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", 1502 | "dev": true 1503 | }, 1504 | "is-core-module": { 1505 | "version": "2.9.0", 1506 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", 1507 | "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", 1508 | "dev": true, 1509 | "requires": { 1510 | "has": "^1.0.3" 1511 | } 1512 | }, 1513 | "is-date-object": { 1514 | "version": "1.0.5", 1515 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", 1516 | "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", 1517 | "dev": true, 1518 | "requires": { 1519 | "has-tostringtag": "^1.0.0" 1520 | } 1521 | }, 1522 | "is-extglob": { 1523 | "version": "2.1.1", 1524 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1525 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1526 | "dev": true 1527 | }, 1528 | "is-glob": { 1529 | "version": "4.0.3", 1530 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1531 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1532 | "dev": true, 1533 | "requires": { 1534 | "is-extglob": "^2.1.1" 1535 | } 1536 | }, 1537 | "is-negative-zero": { 1538 | "version": "2.0.2", 1539 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", 1540 | "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", 1541 | "dev": true 1542 | }, 1543 | "is-number": { 1544 | "version": "7.0.0", 1545 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1546 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1547 | "dev": true 1548 | }, 1549 | "is-number-object": { 1550 | "version": "1.0.7", 1551 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", 1552 | "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", 1553 | "dev": true, 1554 | "requires": { 1555 | "has-tostringtag": "^1.0.0" 1556 | } 1557 | }, 1558 | "is-regex": { 1559 | "version": "1.1.4", 1560 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", 1561 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", 1562 | "dev": true, 1563 | "requires": { 1564 | "call-bind": "^1.0.2", 1565 | "has-tostringtag": "^1.0.0" 1566 | } 1567 | }, 1568 | "is-shared-array-buffer": { 1569 | "version": "1.0.2", 1570 | "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", 1571 | "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", 1572 | "dev": true, 1573 | "requires": { 1574 | "call-bind": "^1.0.2" 1575 | } 1576 | }, 1577 | "is-string": { 1578 | "version": "1.0.7", 1579 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", 1580 | "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", 1581 | "dev": true, 1582 | "requires": { 1583 | "has-tostringtag": "^1.0.0" 1584 | } 1585 | }, 1586 | "is-symbol": { 1587 | "version": "1.0.4", 1588 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", 1589 | "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", 1590 | "dev": true, 1591 | "requires": { 1592 | "has-symbols": "^1.0.2" 1593 | } 1594 | }, 1595 | "is-weakref": { 1596 | "version": "1.0.2", 1597 | "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", 1598 | "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", 1599 | "dev": true, 1600 | "requires": { 1601 | "call-bind": "^1.0.2" 1602 | } 1603 | }, 1604 | "isexe": { 1605 | "version": "2.0.0", 1606 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1607 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1608 | "dev": true 1609 | }, 1610 | "joi": { 1611 | "version": "17.6.0", 1612 | "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz", 1613 | "integrity": "sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==", 1614 | "requires": { 1615 | "@hapi/hoek": "^9.0.0", 1616 | "@hapi/topo": "^5.0.0", 1617 | "@sideway/address": "^4.1.3", 1618 | "@sideway/formula": "^3.0.0", 1619 | "@sideway/pinpoint": "^2.0.0" 1620 | } 1621 | }, 1622 | "jose": { 1623 | "version": "2.0.5", 1624 | "resolved": "https://registry.npmjs.org/jose/-/jose-2.0.5.tgz", 1625 | "integrity": "sha512-BAiDNeDKTMgk4tvD0BbxJ8xHEHBZgpeRZ1zGPPsitSyMgjoMWiLGYAE7H7NpP5h0lPppQajQs871E8NHUrzVPA==", 1626 | "requires": { 1627 | "@panva/asn1.js": "^1.0.0" 1628 | } 1629 | }, 1630 | "js-tokens": { 1631 | "version": "4.0.0", 1632 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1633 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 1634 | }, 1635 | "js-yaml": { 1636 | "version": "4.1.0", 1637 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 1638 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 1639 | "dev": true, 1640 | "requires": { 1641 | "argparse": "^2.0.1" 1642 | } 1643 | }, 1644 | "json-buffer": { 1645 | "version": "3.0.1", 1646 | "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", 1647 | "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" 1648 | }, 1649 | "json-schema-traverse": { 1650 | "version": "0.4.1", 1651 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1652 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1653 | "dev": true 1654 | }, 1655 | "json-stable-stringify-without-jsonify": { 1656 | "version": "1.0.1", 1657 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 1658 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 1659 | "dev": true 1660 | }, 1661 | "json5": { 1662 | "version": "1.0.1", 1663 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", 1664 | "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", 1665 | "dev": true, 1666 | "requires": { 1667 | "minimist": "^1.2.0" 1668 | } 1669 | }, 1670 | "jsx-ast-utils": { 1671 | "version": "3.3.0", 1672 | "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.0.tgz", 1673 | "integrity": "sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q==", 1674 | "dev": true, 1675 | "requires": { 1676 | "array-includes": "^3.1.4", 1677 | "object.assign": "^4.1.2" 1678 | } 1679 | }, 1680 | "keyv": { 1681 | "version": "4.3.0", 1682 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.3.0.tgz", 1683 | "integrity": "sha512-C30Un9+63J0CsR7Wka5quXKqYZsT6dcRQ2aOwGcSc3RiQ4HGWpTAHlCA+puNfw2jA/s11EsxA1nCXgZRuRKMQQ==", 1684 | "requires": { 1685 | "compress-brotli": "^1.3.8", 1686 | "json-buffer": "3.0.1" 1687 | } 1688 | }, 1689 | "language-subtag-registry": { 1690 | "version": "0.3.21", 1691 | "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", 1692 | "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", 1693 | "dev": true 1694 | }, 1695 | "language-tags": { 1696 | "version": "1.0.5", 1697 | "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", 1698 | "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", 1699 | "dev": true, 1700 | "requires": { 1701 | "language-subtag-registry": "~0.3.2" 1702 | } 1703 | }, 1704 | "levn": { 1705 | "version": "0.4.1", 1706 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 1707 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 1708 | "dev": true, 1709 | "requires": { 1710 | "prelude-ls": "^1.2.1", 1711 | "type-check": "~0.4.0" 1712 | } 1713 | }, 1714 | "locate-path": { 1715 | "version": "2.0.0", 1716 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 1717 | "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", 1718 | "dev": true, 1719 | "requires": { 1720 | "p-locate": "^2.0.0", 1721 | "path-exists": "^3.0.0" 1722 | } 1723 | }, 1724 | "lodash.merge": { 1725 | "version": "4.6.2", 1726 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 1727 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 1728 | "dev": true 1729 | }, 1730 | "loose-envify": { 1731 | "version": "1.4.0", 1732 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 1733 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 1734 | "requires": { 1735 | "js-tokens": "^3.0.0 || ^4.0.0" 1736 | } 1737 | }, 1738 | "lowercase-keys": { 1739 | "version": "2.0.0", 1740 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", 1741 | "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" 1742 | }, 1743 | "lru-cache": { 1744 | "version": "6.0.0", 1745 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1746 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1747 | "requires": { 1748 | "yallist": "^4.0.0" 1749 | } 1750 | }, 1751 | "make-error": { 1752 | "version": "1.3.6", 1753 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 1754 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" 1755 | }, 1756 | "merge2": { 1757 | "version": "1.4.1", 1758 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1759 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1760 | "dev": true 1761 | }, 1762 | "microcms-js-sdk": { 1763 | "version": "2.0.0", 1764 | "resolved": "https://registry.npmjs.org/microcms-js-sdk/-/microcms-js-sdk-2.0.0.tgz", 1765 | "integrity": "sha512-w1umayKo+rEWMhpiaNI0UnBo2dclgM8u4ZBiDoZPYJsxx8hfLFjsGbXKjWBZXOY0E9A0L6A8Qaraw0NHWXOBmA==", 1766 | "requires": { 1767 | "node-fetch": "^2.6.1", 1768 | "qs": "^6.10.1" 1769 | } 1770 | }, 1771 | "micromatch": { 1772 | "version": "4.0.5", 1773 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1774 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1775 | "dev": true, 1776 | "requires": { 1777 | "braces": "^3.0.2", 1778 | "picomatch": "^2.3.1" 1779 | } 1780 | }, 1781 | "mimic-response": { 1782 | "version": "1.0.1", 1783 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", 1784 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" 1785 | }, 1786 | "minimatch": { 1787 | "version": "3.1.2", 1788 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1789 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1790 | "dev": true, 1791 | "requires": { 1792 | "brace-expansion": "^1.1.7" 1793 | } 1794 | }, 1795 | "minimist": { 1796 | "version": "1.2.6", 1797 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 1798 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", 1799 | "dev": true 1800 | }, 1801 | "ms": { 1802 | "version": "2.1.2", 1803 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1804 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1805 | }, 1806 | "nanoid": { 1807 | "version": "3.3.4", 1808 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 1809 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" 1810 | }, 1811 | "natural-compare": { 1812 | "version": "1.4.0", 1813 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1814 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 1815 | "dev": true 1816 | }, 1817 | "next": { 1818 | "version": "12.1.6", 1819 | "resolved": "https://registry.npmjs.org/next/-/next-12.1.6.tgz", 1820 | "integrity": "sha512-cebwKxL3/DhNKfg9tPZDQmbRKjueqykHHbgaoG4VBRH3AHQJ2HO0dbKFiS1hPhe1/qgc2d/hFeadsbPicmLD+A==", 1821 | "requires": { 1822 | "@next/env": "12.1.6", 1823 | "@next/swc-android-arm-eabi": "12.1.6", 1824 | "@next/swc-android-arm64": "12.1.6", 1825 | "@next/swc-darwin-arm64": "12.1.6", 1826 | "@next/swc-darwin-x64": "12.1.6", 1827 | "@next/swc-linux-arm-gnueabihf": "12.1.6", 1828 | "@next/swc-linux-arm64-gnu": "12.1.6", 1829 | "@next/swc-linux-arm64-musl": "12.1.6", 1830 | "@next/swc-linux-x64-gnu": "12.1.6", 1831 | "@next/swc-linux-x64-musl": "12.1.6", 1832 | "@next/swc-win32-arm64-msvc": "12.1.6", 1833 | "@next/swc-win32-ia32-msvc": "12.1.6", 1834 | "@next/swc-win32-x64-msvc": "12.1.6", 1835 | "caniuse-lite": "^1.0.30001332", 1836 | "postcss": "8.4.5", 1837 | "styled-jsx": "5.0.2" 1838 | } 1839 | }, 1840 | "node-fetch": { 1841 | "version": "2.6.7", 1842 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", 1843 | "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", 1844 | "requires": { 1845 | "whatwg-url": "^5.0.0" 1846 | } 1847 | }, 1848 | "normalize-url": { 1849 | "version": "6.1.0", 1850 | "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", 1851 | "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" 1852 | }, 1853 | "object-assign": { 1854 | "version": "4.1.1", 1855 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1856 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 1857 | "dev": true 1858 | }, 1859 | "object-hash": { 1860 | "version": "2.2.0", 1861 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", 1862 | "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" 1863 | }, 1864 | "object-inspect": { 1865 | "version": "1.12.2", 1866 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", 1867 | "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" 1868 | }, 1869 | "object-keys": { 1870 | "version": "1.1.1", 1871 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 1872 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 1873 | "dev": true 1874 | }, 1875 | "object.assign": { 1876 | "version": "4.1.2", 1877 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", 1878 | "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", 1879 | "dev": true, 1880 | "requires": { 1881 | "call-bind": "^1.0.0", 1882 | "define-properties": "^1.1.3", 1883 | "has-symbols": "^1.0.1", 1884 | "object-keys": "^1.1.1" 1885 | } 1886 | }, 1887 | "object.entries": { 1888 | "version": "1.1.5", 1889 | "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", 1890 | "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", 1891 | "dev": true, 1892 | "requires": { 1893 | "call-bind": "^1.0.2", 1894 | "define-properties": "^1.1.3", 1895 | "es-abstract": "^1.19.1" 1896 | } 1897 | }, 1898 | "object.fromentries": { 1899 | "version": "2.0.5", 1900 | "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", 1901 | "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", 1902 | "dev": true, 1903 | "requires": { 1904 | "call-bind": "^1.0.2", 1905 | "define-properties": "^1.1.3", 1906 | "es-abstract": "^1.19.1" 1907 | } 1908 | }, 1909 | "object.hasown": { 1910 | "version": "1.1.1", 1911 | "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.1.tgz", 1912 | "integrity": "sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A==", 1913 | "dev": true, 1914 | "requires": { 1915 | "define-properties": "^1.1.4", 1916 | "es-abstract": "^1.19.5" 1917 | } 1918 | }, 1919 | "object.values": { 1920 | "version": "1.1.5", 1921 | "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", 1922 | "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", 1923 | "dev": true, 1924 | "requires": { 1925 | "call-bind": "^1.0.2", 1926 | "define-properties": "^1.1.3", 1927 | "es-abstract": "^1.19.1" 1928 | } 1929 | }, 1930 | "oidc-token-hash": { 1931 | "version": "5.0.1", 1932 | "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz", 1933 | "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==" 1934 | }, 1935 | "on-headers": { 1936 | "version": "1.0.2", 1937 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", 1938 | "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" 1939 | }, 1940 | "once": { 1941 | "version": "1.4.0", 1942 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1943 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1944 | "requires": { 1945 | "wrappy": "1" 1946 | } 1947 | }, 1948 | "openid-client": { 1949 | "version": "4.9.1", 1950 | "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-4.9.1.tgz", 1951 | "integrity": "sha512-DYUF07AHjI3QDKqKbn2F7RqozT4hyi4JvmpodLrq0HHoNP7t/AjeG/uqiBK1/N2PZSAQEThVjDLHSmJN4iqu/w==", 1952 | "requires": { 1953 | "aggregate-error": "^3.1.0", 1954 | "got": "^11.8.0", 1955 | "jose": "^2.0.5", 1956 | "lru-cache": "^6.0.0", 1957 | "make-error": "^1.3.6", 1958 | "object-hash": "^2.0.1", 1959 | "oidc-token-hash": "^5.0.1" 1960 | } 1961 | }, 1962 | "optionator": { 1963 | "version": "0.9.1", 1964 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 1965 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 1966 | "dev": true, 1967 | "requires": { 1968 | "deep-is": "^0.1.3", 1969 | "fast-levenshtein": "^2.0.6", 1970 | "levn": "^0.4.1", 1971 | "prelude-ls": "^1.2.1", 1972 | "type-check": "^0.4.0", 1973 | "word-wrap": "^1.2.3" 1974 | } 1975 | }, 1976 | "p-cancelable": { 1977 | "version": "2.1.1", 1978 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", 1979 | "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" 1980 | }, 1981 | "p-limit": { 1982 | "version": "1.3.0", 1983 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", 1984 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", 1985 | "dev": true, 1986 | "requires": { 1987 | "p-try": "^1.0.0" 1988 | } 1989 | }, 1990 | "p-locate": { 1991 | "version": "2.0.0", 1992 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 1993 | "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", 1994 | "dev": true, 1995 | "requires": { 1996 | "p-limit": "^1.1.0" 1997 | } 1998 | }, 1999 | "p-try": { 2000 | "version": "1.0.0", 2001 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", 2002 | "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", 2003 | "dev": true 2004 | }, 2005 | "parent-module": { 2006 | "version": "1.0.1", 2007 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 2008 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 2009 | "dev": true, 2010 | "requires": { 2011 | "callsites": "^3.0.0" 2012 | } 2013 | }, 2014 | "path-exists": { 2015 | "version": "3.0.0", 2016 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 2017 | "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", 2018 | "dev": true 2019 | }, 2020 | "path-is-absolute": { 2021 | "version": "1.0.1", 2022 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2023 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 2024 | "dev": true 2025 | }, 2026 | "path-key": { 2027 | "version": "3.1.1", 2028 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 2029 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 2030 | "dev": true 2031 | }, 2032 | "path-parse": { 2033 | "version": "1.0.7", 2034 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2035 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 2036 | "dev": true 2037 | }, 2038 | "path-type": { 2039 | "version": "4.0.0", 2040 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 2041 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 2042 | "dev": true 2043 | }, 2044 | "picocolors": { 2045 | "version": "1.0.0", 2046 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2047 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 2048 | }, 2049 | "picomatch": { 2050 | "version": "2.3.1", 2051 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2052 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2053 | "dev": true 2054 | }, 2055 | "postcss": { 2056 | "version": "8.4.5", 2057 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", 2058 | "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", 2059 | "requires": { 2060 | "nanoid": "^3.1.30", 2061 | "picocolors": "^1.0.0", 2062 | "source-map-js": "^1.0.1" 2063 | } 2064 | }, 2065 | "prelude-ls": { 2066 | "version": "1.2.1", 2067 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 2068 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 2069 | "dev": true 2070 | }, 2071 | "prop-types": { 2072 | "version": "15.8.1", 2073 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 2074 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 2075 | "dev": true, 2076 | "requires": { 2077 | "loose-envify": "^1.4.0", 2078 | "object-assign": "^4.1.1", 2079 | "react-is": "^16.13.1" 2080 | } 2081 | }, 2082 | "pump": { 2083 | "version": "3.0.0", 2084 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 2085 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 2086 | "requires": { 2087 | "end-of-stream": "^1.1.0", 2088 | "once": "^1.3.1" 2089 | } 2090 | }, 2091 | "punycode": { 2092 | "version": "2.1.1", 2093 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 2094 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 2095 | "dev": true 2096 | }, 2097 | "qs": { 2098 | "version": "6.11.0", 2099 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", 2100 | "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", 2101 | "requires": { 2102 | "side-channel": "^1.0.4" 2103 | } 2104 | }, 2105 | "queue-microtask": { 2106 | "version": "1.2.3", 2107 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 2108 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 2109 | "dev": true 2110 | }, 2111 | "quick-lru": { 2112 | "version": "5.1.1", 2113 | "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", 2114 | "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" 2115 | }, 2116 | "react": { 2117 | "version": "18.1.0", 2118 | "resolved": "https://registry.npmjs.org/react/-/react-18.1.0.tgz", 2119 | "integrity": "sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==", 2120 | "requires": { 2121 | "loose-envify": "^1.1.0" 2122 | } 2123 | }, 2124 | "react-dom": { 2125 | "version": "18.1.0", 2126 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.1.0.tgz", 2127 | "integrity": "sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==", 2128 | "requires": { 2129 | "loose-envify": "^1.1.0", 2130 | "scheduler": "^0.22.0" 2131 | } 2132 | }, 2133 | "react-is": { 2134 | "version": "16.13.1", 2135 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 2136 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", 2137 | "dev": true 2138 | }, 2139 | "regenerator-runtime": { 2140 | "version": "0.13.9", 2141 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", 2142 | "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", 2143 | "dev": true 2144 | }, 2145 | "regexp.prototype.flags": { 2146 | "version": "1.4.3", 2147 | "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", 2148 | "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", 2149 | "dev": true, 2150 | "requires": { 2151 | "call-bind": "^1.0.2", 2152 | "define-properties": "^1.1.3", 2153 | "functions-have-names": "^1.2.2" 2154 | } 2155 | }, 2156 | "regexpp": { 2157 | "version": "3.2.0", 2158 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 2159 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 2160 | "dev": true 2161 | }, 2162 | "resolve": { 2163 | "version": "1.22.0", 2164 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 2165 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 2166 | "dev": true, 2167 | "requires": { 2168 | "is-core-module": "^2.8.1", 2169 | "path-parse": "^1.0.7", 2170 | "supports-preserve-symlinks-flag": "^1.0.0" 2171 | } 2172 | }, 2173 | "resolve-alpn": { 2174 | "version": "1.2.1", 2175 | "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", 2176 | "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" 2177 | }, 2178 | "resolve-from": { 2179 | "version": "4.0.0", 2180 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 2181 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 2182 | "dev": true 2183 | }, 2184 | "responselike": { 2185 | "version": "2.0.0", 2186 | "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", 2187 | "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", 2188 | "requires": { 2189 | "lowercase-keys": "^2.0.0" 2190 | } 2191 | }, 2192 | "reusify": { 2193 | "version": "1.0.4", 2194 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 2195 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 2196 | "dev": true 2197 | }, 2198 | "rimraf": { 2199 | "version": "3.0.2", 2200 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 2201 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 2202 | "dev": true, 2203 | "requires": { 2204 | "glob": "^7.1.3" 2205 | } 2206 | }, 2207 | "run-parallel": { 2208 | "version": "1.2.0", 2209 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 2210 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 2211 | "dev": true, 2212 | "requires": { 2213 | "queue-microtask": "^1.2.2" 2214 | } 2215 | }, 2216 | "scheduler": { 2217 | "version": "0.22.0", 2218 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.22.0.tgz", 2219 | "integrity": "sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==", 2220 | "requires": { 2221 | "loose-envify": "^1.1.0" 2222 | } 2223 | }, 2224 | "semver": { 2225 | "version": "7.3.7", 2226 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", 2227 | "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", 2228 | "dev": true, 2229 | "requires": { 2230 | "lru-cache": "^6.0.0" 2231 | } 2232 | }, 2233 | "setprototypeof": { 2234 | "version": "1.2.0", 2235 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 2236 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" 2237 | }, 2238 | "shebang-command": { 2239 | "version": "2.0.0", 2240 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 2241 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 2242 | "dev": true, 2243 | "requires": { 2244 | "shebang-regex": "^3.0.0" 2245 | } 2246 | }, 2247 | "shebang-regex": { 2248 | "version": "3.0.0", 2249 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 2250 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 2251 | "dev": true 2252 | }, 2253 | "side-channel": { 2254 | "version": "1.0.4", 2255 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 2256 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 2257 | "requires": { 2258 | "call-bind": "^1.0.0", 2259 | "get-intrinsic": "^1.0.2", 2260 | "object-inspect": "^1.9.0" 2261 | } 2262 | }, 2263 | "slash": { 2264 | "version": "3.0.0", 2265 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 2266 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 2267 | "dev": true 2268 | }, 2269 | "source-map-js": { 2270 | "version": "1.0.2", 2271 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 2272 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 2273 | }, 2274 | "statuses": { 2275 | "version": "1.5.0", 2276 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 2277 | "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" 2278 | }, 2279 | "string.prototype.matchall": { 2280 | "version": "4.0.7", 2281 | "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", 2282 | "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", 2283 | "dev": true, 2284 | "requires": { 2285 | "call-bind": "^1.0.2", 2286 | "define-properties": "^1.1.3", 2287 | "es-abstract": "^1.19.1", 2288 | "get-intrinsic": "^1.1.1", 2289 | "has-symbols": "^1.0.3", 2290 | "internal-slot": "^1.0.3", 2291 | "regexp.prototype.flags": "^1.4.1", 2292 | "side-channel": "^1.0.4" 2293 | } 2294 | }, 2295 | "string.prototype.trimend": { 2296 | "version": "1.0.5", 2297 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", 2298 | "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", 2299 | "dev": true, 2300 | "requires": { 2301 | "call-bind": "^1.0.2", 2302 | "define-properties": "^1.1.4", 2303 | "es-abstract": "^1.19.5" 2304 | } 2305 | }, 2306 | "string.prototype.trimstart": { 2307 | "version": "1.0.5", 2308 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", 2309 | "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", 2310 | "dev": true, 2311 | "requires": { 2312 | "call-bind": "^1.0.2", 2313 | "define-properties": "^1.1.4", 2314 | "es-abstract": "^1.19.5" 2315 | } 2316 | }, 2317 | "strip-ansi": { 2318 | "version": "6.0.1", 2319 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2320 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2321 | "dev": true, 2322 | "requires": { 2323 | "ansi-regex": "^5.0.1" 2324 | } 2325 | }, 2326 | "strip-bom": { 2327 | "version": "3.0.0", 2328 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 2329 | "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", 2330 | "dev": true 2331 | }, 2332 | "strip-json-comments": { 2333 | "version": "3.1.1", 2334 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 2335 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 2336 | "dev": true 2337 | }, 2338 | "styled-jsx": { 2339 | "version": "5.0.2", 2340 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.2.tgz", 2341 | "integrity": "sha512-LqPQrbBh3egD57NBcHET4qcgshPks+yblyhPlH2GY8oaDgKs8SK4C3dBh3oSJjgzJ3G5t1SYEZGHkP+QEpX9EQ==" 2342 | }, 2343 | "supports-color": { 2344 | "version": "7.2.0", 2345 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 2346 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 2347 | "dev": true, 2348 | "requires": { 2349 | "has-flag": "^4.0.0" 2350 | } 2351 | }, 2352 | "supports-preserve-symlinks-flag": { 2353 | "version": "1.0.0", 2354 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 2355 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 2356 | "dev": true 2357 | }, 2358 | "text-table": { 2359 | "version": "0.2.0", 2360 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 2361 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 2362 | "dev": true 2363 | }, 2364 | "to-regex-range": { 2365 | "version": "5.0.1", 2366 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2367 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2368 | "dev": true, 2369 | "requires": { 2370 | "is-number": "^7.0.0" 2371 | } 2372 | }, 2373 | "toidentifier": { 2374 | "version": "1.0.1", 2375 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", 2376 | "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" 2377 | }, 2378 | "tr46": { 2379 | "version": "0.0.3", 2380 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", 2381 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" 2382 | }, 2383 | "tsconfig-paths": { 2384 | "version": "3.14.1", 2385 | "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", 2386 | "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", 2387 | "dev": true, 2388 | "requires": { 2389 | "@types/json5": "^0.0.29", 2390 | "json5": "^1.0.1", 2391 | "minimist": "^1.2.6", 2392 | "strip-bom": "^3.0.0" 2393 | } 2394 | }, 2395 | "tslib": { 2396 | "version": "1.14.1", 2397 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 2398 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", 2399 | "dev": true 2400 | }, 2401 | "tsutils": { 2402 | "version": "3.21.0", 2403 | "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", 2404 | "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", 2405 | "dev": true, 2406 | "requires": { 2407 | "tslib": "^1.8.1" 2408 | } 2409 | }, 2410 | "type-check": { 2411 | "version": "0.4.0", 2412 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 2413 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 2414 | "dev": true, 2415 | "requires": { 2416 | "prelude-ls": "^1.2.1" 2417 | } 2418 | }, 2419 | "type-fest": { 2420 | "version": "0.20.2", 2421 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 2422 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 2423 | "dev": true 2424 | }, 2425 | "typescript": { 2426 | "version": "4.7.3", 2427 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz", 2428 | "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==", 2429 | "dev": true 2430 | }, 2431 | "unbox-primitive": { 2432 | "version": "1.0.2", 2433 | "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", 2434 | "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", 2435 | "dev": true, 2436 | "requires": { 2437 | "call-bind": "^1.0.2", 2438 | "has-bigints": "^1.0.2", 2439 | "has-symbols": "^1.0.3", 2440 | "which-boxed-primitive": "^1.0.2" 2441 | } 2442 | }, 2443 | "uri-js": { 2444 | "version": "4.4.1", 2445 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 2446 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 2447 | "dev": true, 2448 | "requires": { 2449 | "punycode": "^2.1.0" 2450 | } 2451 | }, 2452 | "url-join": { 2453 | "version": "4.0.1", 2454 | "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", 2455 | "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==" 2456 | }, 2457 | "v8-compile-cache": { 2458 | "version": "2.3.0", 2459 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", 2460 | "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", 2461 | "dev": true 2462 | }, 2463 | "webidl-conversions": { 2464 | "version": "3.0.1", 2465 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", 2466 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" 2467 | }, 2468 | "whatwg-url": { 2469 | "version": "5.0.0", 2470 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", 2471 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", 2472 | "requires": { 2473 | "tr46": "~0.0.3", 2474 | "webidl-conversions": "^3.0.0" 2475 | } 2476 | }, 2477 | "which": { 2478 | "version": "2.0.2", 2479 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2480 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2481 | "dev": true, 2482 | "requires": { 2483 | "isexe": "^2.0.0" 2484 | } 2485 | }, 2486 | "which-boxed-primitive": { 2487 | "version": "1.0.2", 2488 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", 2489 | "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", 2490 | "dev": true, 2491 | "requires": { 2492 | "is-bigint": "^1.0.1", 2493 | "is-boolean-object": "^1.1.0", 2494 | "is-number-object": "^1.0.4", 2495 | "is-string": "^1.0.5", 2496 | "is-symbol": "^1.0.3" 2497 | } 2498 | }, 2499 | "word-wrap": { 2500 | "version": "1.2.3", 2501 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 2502 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 2503 | "dev": true 2504 | }, 2505 | "wrappy": { 2506 | "version": "1.0.2", 2507 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2508 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" 2509 | }, 2510 | "yallist": { 2511 | "version": "4.0.0", 2512 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 2513 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 2514 | } 2515 | } 2516 | } 2517 | -------------------------------------------------------------------------------- /membership-media/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample-membership", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "@auth0/nextjs-auth0": "^1.9.0", 13 | "microcms-js-sdk": "^2.0.0", 14 | "next": "12.1.6", 15 | "react": "18.1.0", 16 | "react-dom": "18.1.0" 17 | }, 18 | "devDependencies": { 19 | "@types/node": "17.0.42", 20 | "@types/react": "18.0.12", 21 | "@types/react-dom": "18.0.5", 22 | "eslint": "8.17.0", 23 | "eslint-config-next": "12.1.6", 24 | "typescript": "4.7.3" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /membership-media/pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import '../styles/globals.css'; 2 | import type { AppProps } from 'next/app'; 3 | import { UserProvider } from '@auth0/nextjs-auth0'; 4 | import Header from '../components/Header'; 5 | 6 | function MyApp({ Component, pageProps }: AppProps) { 7 | const { user } = pageProps; 8 | 9 | return ( 10 | 11 |
12 | 13 | 14 | ); 15 | } 16 | 17 | export default MyApp; 18 | -------------------------------------------------------------------------------- /membership-media/pages/api/auth/[...auth0].ts: -------------------------------------------------------------------------------- 1 | import { handleAuth } from '@auth0/nextjs-auth0'; 2 | export default handleAuth(); -------------------------------------------------------------------------------- /membership-media/pages/api/hello.ts: -------------------------------------------------------------------------------- 1 | // Next.js API route support: https://nextjs.org/docs/api-routes/introduction 2 | import type { NextApiRequest, NextApiResponse } from 'next' 3 | 4 | type Data = { 5 | name: string 6 | } 7 | 8 | export default function handler( 9 | req: NextApiRequest, 10 | res: NextApiResponse 11 | ) { 12 | res.status(200).json({ name: 'John Doe' }) 13 | } 14 | -------------------------------------------------------------------------------- /membership-media/pages/index.tsx: -------------------------------------------------------------------------------- 1 | import type { NextPage, GetStaticProps } from 'next'; 2 | import Link from 'next/link'; 3 | import { client } from '../libs/client'; 4 | import type { Article, ArticleList } from '../types'; 5 | 6 | export const getStaticProps: GetStaticProps = async () => { 7 | const data = await client.getList
({ 8 | endpoint: 'articles', 9 | queries: { 10 | fields: ['id', 'private', 'title'], 11 | }, 12 | }); 13 | 14 | return { 15 | props: { 16 | data, 17 | }, 18 | revalidate: 60, 19 | }; 20 | }; 21 | 22 | type Props = { 23 | data: ArticleList; 24 | }; 25 | 26 | const Index: NextPage = ({ data }) => { 27 | const { contents } = data; 28 | return ( 29 |
30 |
    31 | {contents.map((content) => ( 32 |
  • 33 | 34 | {content.title} 35 | 36 |
  • 37 | ))} 38 |
39 |
40 | ); 41 | }; 42 | 43 | export default Index; 44 | -------------------------------------------------------------------------------- /membership-media/pages/private/[id].tsx: -------------------------------------------------------------------------------- 1 | import { getSession, Claims, getServerSidePropsWrapper } from '@auth0/nextjs-auth0'; 2 | import type { NextPage, GetServerSideProps } from 'next'; 3 | import Article from '../../components/Article'; 4 | import { client } from '../../libs/client'; 5 | import { Article as ArticleType, ArticleListDetail } from '../../types'; 6 | import styles from '../../styles/Home.module.css'; 7 | 8 | export const getServerSideProps: GetServerSideProps = getServerSidePropsWrapper(async (context) => { 9 | const { req, res } = context; 10 | const id = context?.params?.id as string; 11 | const session = await getSession(req, res); 12 | 13 | const data = await client.getListDetail({ 14 | endpoint: 'articles', 15 | contentId: id, 16 | }); 17 | 18 | if (!session) { 19 | return { 20 | props: { 21 | data: { 22 | title: data.title, 23 | description: data.description, 24 | thumbnail: data.thumbnail, 25 | } 26 | } 27 | }; 28 | } 29 | 30 | return { 31 | props: { 32 | data, 33 | user: session.user, 34 | }, 35 | }; 36 | }); 37 | 38 | type Props = { 39 | data?: ArticleListDetail; 40 | user?: Claims; 41 | }; 42 | 43 | const PrivateId: NextPage = ({ data, user }) => { 44 | if (!data) { 45 | return null; 46 | } 47 | if (!user) { 48 | return ( 49 |
50 |
51 |
52 |

残り2200文字

53 |

続きを読むには会員登録が必要です

54 |
55 | 56 |
57 |
58 | ); 59 | } 60 | return
; 61 | }; 62 | 63 | export default PrivateId; 64 | -------------------------------------------------------------------------------- /membership-media/pages/public/[id].tsx: -------------------------------------------------------------------------------- 1 | import type { NextPage, GetStaticProps } from 'next'; 2 | import { client } from '../../libs/client'; 3 | import Article from '../../components/Article'; 4 | import type { Article as ArticleType, ArticleListDetail } from '../../types'; 5 | 6 | export const getStaticPaths = async () => { 7 | const data = await client.getList({ 8 | endpoint: 'articles', 9 | queries: { 10 | filters: 'private[equals]false', 11 | }, 12 | }); 13 | 14 | const paths = data.contents.map((content) => `/public/${content.id}`); 15 | return { paths, fallback: 'blocking' }; 16 | }; 17 | 18 | export const getStaticProps: GetStaticProps = async (context) => { 19 | const id = context?.params?.id as string; 20 | const data = await client.getListDetail({ 21 | endpoint: 'articles', 22 | contentId: id, 23 | }); 24 | 25 | return { 26 | props: { 27 | data, 28 | }, 29 | revalidate: 60, 30 | }; 31 | }; 32 | 33 | type Props = { 34 | data: ArticleListDetail; 35 | }; 36 | 37 | const PublicId: NextPage = ({ data }) => { 38 | return
; 39 | }; 40 | 41 | export default PublicId; 42 | -------------------------------------------------------------------------------- /membership-media/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microcmsio/microcms-sample/0570b1dce7cdbaf0da050a4e25fc194e929f052c/membership-media/public/favicon.ico -------------------------------------------------------------------------------- /membership-media/public/vercel.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /membership-media/styles/Home.module.css: -------------------------------------------------------------------------------- 1 | .wrapper { 2 | width: 600px; 3 | margin: 0 auto; 4 | } 5 | 6 | .appeal { 7 | background-color: #eee; 8 | border-radius: 5px; 9 | padding: 40px; 10 | text-align: center; 11 | } 12 | 13 | .count { 14 | color: #999; 15 | } 16 | 17 | .button { 18 | border: none; 19 | background-color: #563BC8; 20 | color: #fff; 21 | font-weight: bold; 22 | padding: 10px 20px; 23 | border-radius: 5px; 24 | margin-top: 20px; 25 | } 26 | 27 | .textButton { 28 | border: none; 29 | color: #563BC8; 30 | font-weight: bold; 31 | margin-top: 20px; 32 | } -------------------------------------------------------------------------------- /membership-media/styles/globals.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | padding: 0; 4 | margin: 0; 5 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 6 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 7 | } 8 | 9 | a { 10 | color: inherit; 11 | text-decoration: none; 12 | } 13 | 14 | * { 15 | box-sizing: border-box; 16 | } 17 | -------------------------------------------------------------------------------- /membership-media/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "forceConsistentCasingInFileNames": true, 9 | "noEmit": true, 10 | "esModuleInterop": true, 11 | "module": "esnext", 12 | "moduleResolution": "node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "jsx": "preserve", 16 | "incremental": true 17 | }, 18 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], 19 | "exclude": ["node_modules"] 20 | } 21 | -------------------------------------------------------------------------------- /membership-media/types/index.ts: -------------------------------------------------------------------------------- 1 | import { 2 | MicroCMSListResponse, 3 | MicroCMSImage, 4 | MicroCMSListContent, 5 | } from 'microcms-js-sdk'; 6 | 7 | export type Article = { 8 | title?: string; 9 | description?: string; 10 | body?: string; 11 | thumbnail?: MicroCMSImage; 12 | private: boolean; 13 | }; 14 | 15 | export type ArticleList = MicroCMSListResponse
; 16 | export type ArticleListDetail = Article & MicroCMSListContent; 17 | -------------------------------------------------------------------------------- /microcms-next-jamstack-blog/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env.local 29 | .env.development.local 30 | .env.test.local 31 | .env.production.local 32 | 33 | # vercel 34 | .vercel 35 | -------------------------------------------------------------------------------- /microcms-next-jamstack-blog/README.md: -------------------------------------------------------------------------------- 1 | # Next.js + microCMS を使ったブログのサンプル 2 | 3 | このリポジトリはJamstack ワークショップで行った Next.js + microCMS の Jamstack ブログです。 4 | 5 | 参考記事: https://microcms.io/blog/microcms-next-jamstack-blog 6 | -------------------------------------------------------------------------------- /microcms-next-jamstack-blog/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "microcms-next-jamstack-blog", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start" 9 | }, 10 | "dependencies": { 11 | "next": "9.5.4", 12 | "react": "16.13.1", 13 | "react-dom": "16.13.1", 14 | "sass": "^1.27.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /microcms-next-jamstack-blog/pages/404.js: -------------------------------------------------------------------------------- 1 | export default function Custom404() { 2 | return ( 3 |
4 |

ページがありません。

5 |
6 | ); 7 | } 8 | -------------------------------------------------------------------------------- /microcms-next-jamstack-blog/pages/_app.js: -------------------------------------------------------------------------------- 1 | import '../styles/globals.css' 2 | 3 | function MyApp({ Component, pageProps }) { 4 | return 5 | } 6 | 7 | export default MyApp 8 | -------------------------------------------------------------------------------- /microcms-next-jamstack-blog/pages/api/hello.js: -------------------------------------------------------------------------------- 1 | // Next.js API route support: https://nextjs.org/docs/api-routes/introduction 2 | 3 | export default (req, res) => { 4 | res.statusCode = 200 5 | res.json({ name: 'John Doe' }) 6 | } 7 | -------------------------------------------------------------------------------- /microcms-next-jamstack-blog/pages/blog/[id].js: -------------------------------------------------------------------------------- 1 | import styles from '../../styles/Home.module.scss' 2 | 3 | export default function BlogId({blog}) { 4 | return ( 5 |
6 |

{blog.title}

7 |

{blog.publishedAt}

8 |

{blog.category && `${blog.category.name}`}

9 |
15 |
16 | ); 17 | } 18 | 19 | export const getStaticPaths = async () => { 20 | const key = { 21 | headers: {'X-API-KEY': process.env.API_KEY}, 22 | }; 23 | 24 | const res = await fetch('https://your-service.microcms.io/api/v1/blog', key); 25 | const repos = await res.json(); 26 | 27 | const paths = repos.contents.map(repo => `/blog/${repo.id}`); 28 | return {paths, fallback: false}; 29 | }; 30 | 31 | export const getStaticProps = async context => { 32 | const id = context.params.id; 33 | 34 | const key = { 35 | headers: {'X-API-KEY': process.env.API_KEY}, 36 | }; 37 | 38 | const res = await fetch( 39 | 'https://your-service.microcms.io/api/v1/blog/' + id, 40 | key, 41 | ); 42 | 43 | const data = await res.json(); 44 | 45 | return { 46 | props: { 47 | blog: data, 48 | }, 49 | }; 50 | }; 51 | -------------------------------------------------------------------------------- /microcms-next-jamstack-blog/pages/index.js: -------------------------------------------------------------------------------- 1 | import Link from 'next/link'; 2 | 3 | export default function Home({blog}) { 4 | return ( 5 |
6 | {blog.map(blog => ( 7 | 14 | ))} 15 |
16 | ); 17 | } 18 | 19 | 20 | export const getStaticProps = async () => { 21 | const key = { 22 | headers: {'X-API-KEY': process.env.API_KEY}, 23 | }; 24 | 25 | const res = await fetch('https://your-service.microcms.io/api/v1/blog', key); 26 | 27 | const data = await res.json(); 28 | 29 | return { 30 | props: { 31 | blog: data.contents, 32 | }, 33 | }; 34 | }; 35 | -------------------------------------------------------------------------------- /microcms-next-jamstack-blog/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microcmsio/microcms-sample/0570b1dce7cdbaf0da050a4e25fc194e929f052c/microcms-next-jamstack-blog/public/favicon.ico -------------------------------------------------------------------------------- /microcms-next-jamstack-blog/public/vercel.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /microcms-next-jamstack-blog/styles/Home.module.scss: -------------------------------------------------------------------------------- 1 | .main { 2 | width: 960px; 3 | margin: 0 auto; 4 | } 5 | 6 | .title { 7 | margin-bottom: 20px; 8 | } 9 | 10 | .publishedAt { 11 | margin-bottom: 40px; 12 | } 13 | 14 | .post { 15 | & > h1 { 16 | font-size: 30px; 17 | font-weight: bold; 18 | margin: 40px 0 20px; 19 | background-color: #eee; 20 | padding: 10px 20px; 21 | border-radius: 5px; 22 | } 23 | 24 | & > h2 { 25 | font-size: 24px; 26 | font-weight: bold; 27 | margin: 40px 0 16px; 28 | border-bottom: 1px solid #ddd; 29 | } 30 | 31 | & > p { 32 | line-height: 1.8; 33 | letter-spacing: 0.2px; 34 | } 35 | 36 | & > ol { 37 | list-style-type: decimal; 38 | list-style-position: inside; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /microcms-next-jamstack-blog/styles/globals.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | padding: 0; 4 | margin: 0; 5 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 6 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 7 | } 8 | 9 | a { 10 | color: inherit; 11 | text-decoration: none; 12 | } 13 | 14 | * { 15 | box-sizing: border-box; 16 | } 17 | -------------------------------------------------------------------------------- /microcms-svelte-jamstack-blog/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /node_modules/ 3 | /src/node_modules/@sapper/ 4 | yarn-error.log 5 | /__sapper__/ 6 | .env 7 | -------------------------------------------------------------------------------- /microcms-svelte-jamstack-blog/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | {"recommendations": ["svelte.svelte-vscode"]} -------------------------------------------------------------------------------- /microcms-svelte-jamstack-blog/README.md: -------------------------------------------------------------------------------- 1 | # microCMS + Svelte + Sapper + TypeScript を使ったブログのサンプル 2 | 3 | 詳しくはこちらの[チュートリアル記事](https://microcms.io/blog/microcms-svelte-sapper-jamstack-blog)を参考にしてください。 4 | -------------------------------------------------------------------------------- /microcms-svelte-jamstack-blog/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TODO", 3 | "description": "TODO", 4 | "version": "0.0.1", 5 | "scripts": { 6 | "dev": "sapper dev", 7 | "build": "sapper build --legacy", 8 | "export": "sapper export --legacy", 9 | "start": "node __sapper__/build", 10 | "validate": "svelte-check --ignore src/node_modules/@sapper" 11 | }, 12 | "dependencies": { 13 | "compression": "^1.7.1", 14 | "isomorphic-unfetch": "^3.1.0", 15 | "polka": "next", 16 | "sirv": "^1.0.0" 17 | }, 18 | "devDependencies": { 19 | "@babel/core": "^7.0.0", 20 | "@babel/plugin-syntax-dynamic-import": "^7.0.0", 21 | "@babel/plugin-transform-runtime": "^7.0.0", 22 | "@babel/preset-env": "^7.0.0", 23 | "@babel/runtime": "^7.0.0", 24 | "@rollup/plugin-babel": "^5.0.0", 25 | "@rollup/plugin-commonjs": "^14.0.0", 26 | "@rollup/plugin-node-resolve": "^8.0.0", 27 | "@rollup/plugin-replace": "^2.2.0", 28 | "@rollup/plugin-typescript": "^6.0.0", 29 | "@rollup/plugin-url": "^5.0.0", 30 | "@tsconfig/svelte": "^1.0.10", 31 | "@types/compression": "^1.7.0", 32 | "@types/node": "^14.11.1", 33 | "@types/polka": "^0.5.1", 34 | "autoprefixer": "^10.2.1", 35 | "dotenv": "^8.2.0", 36 | "node-sass": "^5.0.0", 37 | "postcss": "^8.2.4", 38 | "rollup": "^2.3.4", 39 | "rollup-plugin-svelte": "^7.0.0", 40 | "rollup-plugin-terser": "^7.0.0", 41 | "sapper": "^0.28.0", 42 | "svelte": "^3.17.3", 43 | "svelte-check": "^1.0.46", 44 | "svelte-preprocess": "^4.6.1", 45 | "tslib": "^2.0.1", 46 | "typescript": "^4.0.3" 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /microcms-svelte-jamstack-blog/rollup.config.js: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import dotenv from 'dotenv'; 3 | import resolve from '@rollup/plugin-node-resolve'; 4 | import replace from '@rollup/plugin-replace'; 5 | import commonjs from '@rollup/plugin-commonjs'; 6 | import url from '@rollup/plugin-url'; 7 | import svelte from 'rollup-plugin-svelte'; 8 | import babel from '@rollup/plugin-babel'; 9 | import { terser } from 'rollup-plugin-terser'; 10 | import sveltePreprocess from 'svelte-preprocess'; 11 | import typescript from '@rollup/plugin-typescript'; 12 | import config from 'sapper/config/rollup.js'; 13 | import pkg from './package.json'; 14 | 15 | const mode = process.env.NODE_ENV; 16 | const dev = mode === 'development'; 17 | const legacy = !!process.env.SAPPER_LEGACY_BUILD; 18 | 19 | const onwarn = (warning, onwarn) => 20 | (warning.code === 'MISSING_EXPORT' && /'preload'/.test(warning.message)) || 21 | (warning.code === 'CIRCULAR_DEPENDENCY' && /[/\\]@sapper[/\\]/.test(warning.message)) || 22 | (warning.code === 'THIS_IS_UNDEFINED') || 23 | onwarn(warning); 24 | 25 | dotenv.config(); 26 | const apiKey = process.env.API_KEY; 27 | 28 | const preprocess = sveltePreprocess({ 29 | scss: { 30 | includePaths: ['src'], 31 | }, 32 | postcss: { 33 | plugins: [require('autoprefixer')], 34 | }, 35 | }); 36 | 37 | export default { 38 | client: { 39 | input: config.client.input().replace(/\.js$/, '.ts'), 40 | output: config.client.output(), 41 | plugins: [ 42 | replace({ 43 | 'process.browser': true, 44 | 'process.env.NODE_ENV': JSON.stringify(mode), 45 | 'process.env.API_KEY': JSON.stringify(apiKey) 46 | }), 47 | svelte({ 48 | preprocess, 49 | compilerOptions: { 50 | dev, 51 | hydratable: true 52 | } 53 | }), 54 | url({ 55 | sourceDir: path.resolve(__dirname, 'src/node_modules/images'), 56 | publicPath: '/client/' 57 | }), 58 | resolve({ 59 | browser: true, 60 | dedupe: ['svelte'] 61 | }), 62 | commonjs(), 63 | typescript({ sourceMap: dev }), 64 | 65 | legacy && babel({ 66 | extensions: ['.js', '.mjs', '.html', '.svelte'], 67 | babelHelpers: 'runtime', 68 | exclude: ['node_modules/@babel/**'], 69 | presets: [ 70 | ['@babel/preset-env', { 71 | targets: '> 0.25%, not dead' 72 | }] 73 | ], 74 | plugins: [ 75 | '@babel/plugin-syntax-dynamic-import', 76 | ['@babel/plugin-transform-runtime', { 77 | useESModules: true 78 | }] 79 | ] 80 | }), 81 | 82 | !dev && terser({ 83 | module: true 84 | }) 85 | ], 86 | 87 | preserveEntrySignatures: false, 88 | onwarn, 89 | }, 90 | 91 | server: { 92 | input: { server: config.server.input().server.replace(/\.js$/, ".ts") }, 93 | output: config.server.output(), 94 | plugins: [ 95 | replace({ 96 | 'process.browser': false, 97 | 'process.env.NODE_ENV': JSON.stringify(mode), 98 | 'process.env.API_KEY': JSON.stringify(apiKey) 99 | }), 100 | svelte({ 101 | preprocess, 102 | compilerOptions: { 103 | dev, 104 | generate: 'ssr', 105 | hydratable: true 106 | }, 107 | emitCss: false 108 | }), 109 | url({ 110 | sourceDir: path.resolve(__dirname, 'src/node_modules/images'), 111 | publicPath: '/client/', 112 | emitFiles: false // already emitted by client build 113 | }), 114 | resolve({ 115 | dedupe: ['svelte'] 116 | }), 117 | commonjs(), 118 | typescript({ sourceMap: dev }) 119 | ], 120 | external: Object.keys(pkg.dependencies).concat(require('module').builtinModules), 121 | 122 | preserveEntrySignatures: 'strict', 123 | onwarn, 124 | }, 125 | 126 | serviceworker: { 127 | input: config.serviceworker.input().replace(/\.js$/, '.ts'), 128 | output: config.serviceworker.output(), 129 | plugins: [ 130 | resolve(), 131 | replace({ 132 | 'process.browser': true, 133 | 'process.env.NODE_ENV': JSON.stringify(mode) 134 | }), 135 | commonjs(), 136 | typescript({ sourceMap: dev }), 137 | !dev && terser() 138 | ], 139 | 140 | preserveEntrySignatures: false, 141 | onwarn, 142 | } 143 | }; 144 | -------------------------------------------------------------------------------- /microcms-svelte-jamstack-blog/src/ambient.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * These declarations tell TypeScript that we allow import of images, e.g. 3 | * ``` 4 | 7 | 8 | 9 | ``` 10 | */ 11 | declare module "*.gif" { 12 | const value: string; 13 | export = value; 14 | } 15 | 16 | declare module "*.jpg" { 17 | const value: string; 18 | export = value; 19 | } 20 | 21 | declare module "*.jpeg" { 22 | const value: string; 23 | export = value; 24 | } 25 | 26 | declare module "*.png" { 27 | const value: string; 28 | export = value; 29 | } 30 | 31 | declare module "*.svg" { 32 | const value: string; 33 | export = value; 34 | } 35 | 36 | declare module "*.webp" { 37 | const value: string; 38 | export = value; 39 | } 40 | -------------------------------------------------------------------------------- /microcms-svelte-jamstack-blog/src/client.ts: -------------------------------------------------------------------------------- 1 | import * as sapper from '@sapper/app'; 2 | 3 | sapper.start({ 4 | target: document.querySelector('#sapper') 5 | }); -------------------------------------------------------------------------------- /microcms-svelte-jamstack-blog/src/components/Nav.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 | 50 | 51 | 61 | -------------------------------------------------------------------------------- /microcms-svelte-jamstack-blog/src/node_modules/images/successkid.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microcmsio/microcms-sample/0570b1dce7cdbaf0da050a4e25fc194e929f052c/microcms-svelte-jamstack-blog/src/node_modules/images/successkid.jpg -------------------------------------------------------------------------------- /microcms-svelte-jamstack-blog/src/routes/_error.svelte: -------------------------------------------------------------------------------- 1 | 7 | 8 | 29 | 30 | 31 | {status} 32 | 33 | 34 |

{status}

35 | 36 |

{error.message}

37 | 38 | {#if dev && error.stack} 39 |
{error.stack}
40 | {/if} 41 | -------------------------------------------------------------------------------- /microcms-svelte-jamstack-blog/src/routes/_layout.svelte: -------------------------------------------------------------------------------- 1 | 6 | 7 | 17 | 18 |