├── .gitignore
├── README.md
├── main-app
├── README.md
├── components
│ ├── Footer.js
│ └── Nav.js
├── next.config.js
├── package-lock.json
├── package.json
├── pages
│ ├── _app.js
│ ├── api
│ │ └── hello.js
│ ├── catalogOnMain.js
│ └── index.js
├── public
│ ├── favicon.ico
│ └── vercel.svg
└── styles
│ ├── Home.module.css
│ └── globals.css
├── screenshot
└── Micro-frontend-architecture-cover.jpg
└── shop-app
├── README.md
├── components
└── Catalog.js
├── next.config.js
├── package-lock.json
├── package.json
├── pages
├── _app.js
├── api
│ └── hello.js
├── catalog.js
└── index.js
├── public
├── favicon.ico
└── vercel.svg
└── styles
├── Home.module.css
└── globals.css
/.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 | next-env.d.ts
37 | *.DS_Store
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Module Federation Tutorial
2 |
3 | [VIDEO DEMO](https://youtu.be/wMdt5W8sD54)
4 |
5 | 
6 |
7 | ## Learn More
8 |
9 | - [Tutorial](https://vsantos.info/micro-frontend-architecture/) - Transcripts.
10 |
11 |
--------------------------------------------------------------------------------
/main-app/README.md:
--------------------------------------------------------------------------------
1 | This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
2 |
3 | ## Getting Started
4 |
5 | First, run the development server:
6 |
7 | ```bash
8 | npm run dev
9 | # or
10 | yarn dev
11 | ```
12 |
13 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
14 |
15 | You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.
16 |
17 | [API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.
18 |
19 | The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
20 |
21 | ## Learn More
22 |
23 | To learn more about Next.js, take a look at the following resources:
24 |
25 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
26 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
27 |
28 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
29 |
30 | ## Deploy on Vercel
31 |
32 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
33 |
34 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
35 |
--------------------------------------------------------------------------------
/main-app/components/Footer.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import styles from '../styles/Home.module.css'
3 | import Image from 'next/image'
4 | const Footer = () => {
5 |
6 | return ()
18 | }
19 |
20 | export default Footer;
--------------------------------------------------------------------------------
/main-app/components/Nav.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import styles from '../styles/Home.module.css'
3 |
4 | export const Nav = ({children}) => {
5 | return (
6 |
9 | )
10 | }
11 |
12 | export default Nav;
--------------------------------------------------------------------------------
/main-app/next.config.js:
--------------------------------------------------------------------------------
1 | const { NextFederationPlugin } = require('@module-federation/nextjs-mf');
2 | /** @type {import('next').NextConfig} */
3 | const nextConfig = {
4 | reactStrictMode: true,
5 | webpack: (config, options) => {
6 | const { isServer } = options;
7 | config.experiments = { topLevelAwait: true };
8 | config.plugins.push(
9 | new NextFederationPlugin({
10 | name: 'main',
11 | remotes: {
12 | shop: `shop@http://localhost:3001/_next/static/${isServer ? 'ssr' : 'chunks'}/remoteEntry.js`,
13 | },
14 | filename: 'static/chunks/remoteEntry.js',
15 | exposes: {
16 | './footer': './components/Footer.js',
17 | './nav': './components/Nav.js'
18 | }
19 | })
20 | );
21 | return config;
22 | }
23 | }
24 |
25 | module.exports = nextConfig
26 |
--------------------------------------------------------------------------------
/main-app/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "main-app",
3 | "version": "0.1.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@jridgewell/gen-mapping": {
8 | "version": "0.3.2",
9 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
10 | "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
11 | "requires": {
12 | "@jridgewell/set-array": "^1.0.1",
13 | "@jridgewell/sourcemap-codec": "^1.4.10",
14 | "@jridgewell/trace-mapping": "^0.3.9"
15 | }
16 | },
17 | "@jridgewell/resolve-uri": {
18 | "version": "3.1.0",
19 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
20 | "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="
21 | },
22 | "@jridgewell/set-array": {
23 | "version": "1.1.2",
24 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
25 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw=="
26 | },
27 | "@jridgewell/source-map": {
28 | "version": "0.3.2",
29 | "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
30 | "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
31 | "requires": {
32 | "@jridgewell/gen-mapping": "^0.3.0",
33 | "@jridgewell/trace-mapping": "^0.3.9"
34 | }
35 | },
36 | "@jridgewell/sourcemap-codec": {
37 | "version": "1.4.14",
38 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
39 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
40 | },
41 | "@jridgewell/trace-mapping": {
42 | "version": "0.3.17",
43 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
44 | "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
45 | "requires": {
46 | "@jridgewell/resolve-uri": "3.1.0",
47 | "@jridgewell/sourcemap-codec": "1.4.14"
48 | }
49 | },
50 | "@module-federation/nextjs-mf": {
51 | "version": "6.0.4",
52 | "resolved": "https://registry.npmjs.org/@module-federation/nextjs-mf/-/nextjs-mf-6.0.4.tgz",
53 | "integrity": "sha512-86A1bH8PtsObzdwrDOboEgMvnP+zHl0KVkDZ7WWQzowTJ6Up+hEqN0uIGELDYxsUSKlwnzdtA+vzmkYWWacAtw==",
54 | "requires": {
55 | "@module-federation/node": "0.10.1",
56 | "@module-federation/utilities": "1.1.1",
57 | "@swc/core": "1.3.3",
58 | "eventemitter3": "^4.0.7",
59 | "fast-glob": "^3.2.11",
60 | "node-fetch": "2.6.7",
61 | "styled-jsx": "5.1.0",
62 | "tslib": "2.4.0",
63 | "webpack-sources": "^3.2.3"
64 | },
65 | "dependencies": {
66 | "styled-jsx": {
67 | "version": "5.1.0",
68 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.0.tgz",
69 | "integrity": "sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==",
70 | "requires": {
71 | "client-only": "0.0.1"
72 | }
73 | },
74 | "tslib": {
75 | "version": "2.4.0",
76 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
77 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
78 | }
79 | }
80 | },
81 | "@module-federation/node": {
82 | "version": "0.10.1",
83 | "resolved": "https://registry.npmjs.org/@module-federation/node/-/node-0.10.1.tgz",
84 | "integrity": "sha512-/+9aMQ51ZZl4Z7guVxMNynEU72sOd9evlYvZ2g3JC3tHRusf6m5KfEEDwS/A33oF23ECnYLB0W34UljS1QCofA==",
85 | "requires": {
86 | "@module-federation/utilities": "1.1.1",
87 | "encoding": "^0.1.13",
88 | "next": "^12 || ^13",
89 | "node-fetch": "^2.6.7",
90 | "react": "^17 || ^18",
91 | "tslib": "2.4.0"
92 | },
93 | "dependencies": {
94 | "tslib": {
95 | "version": "2.4.0",
96 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
97 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
98 | }
99 | }
100 | },
101 | "@module-federation/utilities": {
102 | "version": "1.1.1",
103 | "resolved": "https://registry.npmjs.org/@module-federation/utilities/-/utilities-1.1.1.tgz",
104 | "integrity": "sha512-OD74llw8bRiNiDub8dJ619z68Ph9Dx8Pjnsfhy2gs22l5g+2HHkSmdOFcz2jBjyKl/IfcK/sH7u4plPAvnZTrQ==",
105 | "requires": {
106 | "next": "^12 || ^13",
107 | "react": "^17 || ^18",
108 | "tslib": "2.4.0"
109 | },
110 | "dependencies": {
111 | "tslib": {
112 | "version": "2.4.0",
113 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
114 | "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
115 | }
116 | }
117 | },
118 | "@next/env": {
119 | "version": "13.1.1",
120 | "resolved": "https://registry.npmjs.org/@next/env/-/env-13.1.1.tgz",
121 | "integrity": "sha512-vFMyXtPjSAiOXOywMojxfKIqE3VWN5RCAx+tT3AS3pcKjMLFTCJFUWsKv8hC+87Z1F4W3r68qTwDFZIFmd5Xkw=="
122 | },
123 | "@next/swc-android-arm-eabi": {
124 | "version": "13.1.1",
125 | "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.1.1.tgz",
126 | "integrity": "sha512-qnFCx1kT3JTWhWve4VkeWuZiyjG0b5T6J2iWuin74lORCupdrNukxkq9Pm+Z7PsatxuwVJMhjUoYz7H4cWzx2A==",
127 | "optional": true
128 | },
129 | "@next/swc-android-arm64": {
130 | "version": "13.1.1",
131 | "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.1.1.tgz",
132 | "integrity": "sha512-eCiZhTzjySubNqUnNkQCjU3Fh+ep3C6b5DCM5FKzsTH/3Gr/4Y7EiaPZKILbvnXmhWtKPIdcY6Zjx51t4VeTfA==",
133 | "optional": true
134 | },
135 | "@next/swc-darwin-arm64": {
136 | "version": "13.1.1",
137 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.1.1.tgz",
138 | "integrity": "sha512-9zRJSSIwER5tu9ADDkPw5rIZ+Np44HTXpYMr0rkM656IvssowPxmhK0rTreC1gpUCYwFsRbxarUJnJsTWiutPg==",
139 | "optional": true
140 | },
141 | "@next/swc-darwin-x64": {
142 | "version": "13.1.1",
143 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.1.1.tgz",
144 | "integrity": "sha512-qWr9qEn5nrnlhB0rtjSdR00RRZEtxg4EGvicIipqZWEyayPxhUu6NwKiG8wZiYZCLfJ5KWr66PGSNeDMGlNaiA==",
145 | "optional": true
146 | },
147 | "@next/swc-freebsd-x64": {
148 | "version": "13.1.1",
149 | "resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.1.1.tgz",
150 | "integrity": "sha512-UwP4w/NcQ7V/VJEj3tGVszgb4pyUCt3lzJfUhjDMUmQbzG9LDvgiZgAGMYH6L21MoyAATJQPDGiAMWAPKsmumA==",
151 | "optional": true
152 | },
153 | "@next/swc-linux-arm-gnueabihf": {
154 | "version": "13.1.1",
155 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.1.1.tgz",
156 | "integrity": "sha512-CnsxmKHco9sosBs1XcvCXP845Db+Wx1G0qouV5+Gr+HT/ZlDYEWKoHVDgnJXLVEQzq4FmHddBNGbXvgqM1Gfkg==",
157 | "optional": true
158 | },
159 | "@next/swc-linux-arm64-gnu": {
160 | "version": "13.1.1",
161 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.1.1.tgz",
162 | "integrity": "sha512-JfDq1eri5Dif+VDpTkONRd083780nsMCOKoFG87wA0sa4xL8LGcXIBAkUGIC1uVy9SMsr2scA9CySLD/i+Oqiw==",
163 | "optional": true
164 | },
165 | "@next/swc-linux-arm64-musl": {
166 | "version": "13.1.1",
167 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.1.1.tgz",
168 | "integrity": "sha512-GA67ZbDq2AW0CY07zzGt07M5b5Yaq5qUpFIoW3UFfjOPgb0Sqf3DAW7GtFMK1sF4ROHsRDMGQ9rnT0VM2dVfKA==",
169 | "optional": true
170 | },
171 | "@next/swc-linux-x64-gnu": {
172 | "version": "13.1.1",
173 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.1.1.tgz",
174 | "integrity": "sha512-nnjuBrbzvqaOJaV+XgT8/+lmXrSCOt1YYZn/irbDb2fR2QprL6Q7WJNgwsZNxiLSfLdv+2RJGGegBx9sLBEzGA==",
175 | "optional": true
176 | },
177 | "@next/swc-linux-x64-musl": {
178 | "version": "13.1.1",
179 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.1.1.tgz",
180 | "integrity": "sha512-CM9xnAQNIZ8zf/igbIT/i3xWbQZYaF397H+JroF5VMOCUleElaMdQLL5riJml8wUfPoN3dtfn2s4peSr3azz/g==",
181 | "optional": true
182 | },
183 | "@next/swc-win32-arm64-msvc": {
184 | "version": "13.1.1",
185 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.1.1.tgz",
186 | "integrity": "sha512-pzUHOGrbgfGgPlOMx9xk3QdPJoRPU+om84hqVoe6u+E0RdwOG0Ho/2UxCgDqmvpUrMab1Deltlt6RqcXFpnigQ==",
187 | "optional": true
188 | },
189 | "@next/swc-win32-ia32-msvc": {
190 | "version": "13.1.1",
191 | "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.1.1.tgz",
192 | "integrity": "sha512-WeX8kVS46aobM9a7Xr/kEPcrTyiwJqQv/tbw6nhJ4fH9xNZ+cEcyPoQkwPo570dCOLz3Zo9S2q0E6lJ/EAUOBg==",
193 | "optional": true
194 | },
195 | "@next/swc-win32-x64-msvc": {
196 | "version": "13.1.1",
197 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.1.1.tgz",
198 | "integrity": "sha512-mVF0/3/5QAc5EGVnb8ll31nNvf3BWpPY4pBb84tk+BfQglWLqc5AC9q1Ht/YMWiEgs8ALNKEQ3GQnbY0bJF2Gg==",
199 | "optional": true
200 | },
201 | "@nodelib/fs.scandir": {
202 | "version": "2.1.5",
203 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
204 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
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 | },
215 | "@nodelib/fs.walk": {
216 | "version": "1.2.8",
217 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
218 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
219 | "requires": {
220 | "@nodelib/fs.scandir": "2.1.5",
221 | "fastq": "^1.6.0"
222 | }
223 | },
224 | "@swc/core": {
225 | "version": "1.3.3",
226 | "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.3.tgz",
227 | "integrity": "sha512-OGx3Qpw+czNSaea1ojP2X2wxrGtYicQxH1QnzX4F3rXGEcSUFIllmrae6iJHW91zS4SNcOocnQoRz1IYnrILYw==",
228 | "requires": {
229 | "@swc/core-android-arm-eabi": "1.3.3",
230 | "@swc/core-android-arm64": "1.3.3",
231 | "@swc/core-darwin-arm64": "1.3.3",
232 | "@swc/core-darwin-x64": "1.3.3",
233 | "@swc/core-freebsd-x64": "1.3.3",
234 | "@swc/core-linux-arm-gnueabihf": "1.3.3",
235 | "@swc/core-linux-arm64-gnu": "1.3.3",
236 | "@swc/core-linux-arm64-musl": "1.3.3",
237 | "@swc/core-linux-x64-gnu": "1.3.3",
238 | "@swc/core-linux-x64-musl": "1.3.3",
239 | "@swc/core-win32-arm64-msvc": "1.3.3",
240 | "@swc/core-win32-ia32-msvc": "1.3.3",
241 | "@swc/core-win32-x64-msvc": "1.3.3"
242 | }
243 | },
244 | "@swc/core-android-arm-eabi": {
245 | "version": "1.3.3",
246 | "resolved": "https://registry.npmjs.org/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.3.3.tgz",
247 | "integrity": "sha512-R6MpKXvNx/T/8a0wUTiX1THxfRbURSCmYlSi/JnUaqLYUclQK1N8aCMWz7EYSz6FE0VZBREJYDJcdnfP88E/1Q==",
248 | "optional": true,
249 | "requires": {
250 | "@swc/wasm": "1.2.122"
251 | }
252 | },
253 | "@swc/core-android-arm64": {
254 | "version": "1.3.3",
255 | "resolved": "https://registry.npmjs.org/@swc/core-android-arm64/-/core-android-arm64-1.3.3.tgz",
256 | "integrity": "sha512-yZlku4ypVKykwHTS8CETxw2PH23UBeM6VhNB8efF4A4gVWtRZjv1PfjsSqh/X0vjgVTrs2zSaQ+eF6GLVbWrgA==",
257 | "optional": true,
258 | "requires": {
259 | "@swc/wasm": "1.2.130"
260 | },
261 | "dependencies": {
262 | "@swc/wasm": {
263 | "version": "1.2.130",
264 | "resolved": "https://registry.npmjs.org/@swc/wasm/-/wasm-1.2.130.tgz",
265 | "integrity": "sha512-rNcJsBxS70+pv8YUWwf5fRlWX6JoY/HJc25HD/F8m6Kv7XhJdqPPMhyX6TKkUBPAG7TWlZYoxa+rHAjPy4Cj3Q==",
266 | "optional": true
267 | }
268 | }
269 | },
270 | "@swc/core-darwin-arm64": {
271 | "version": "1.3.3",
272 | "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.3.tgz",
273 | "integrity": "sha512-/T8vyikY7t/be6bHd1D9J/bmXYMDMkBo9NA3auDT/hmouzawhJ6E7OqRE4HLuLTflnRw8WmEWgpeRIzMHvNjBQ==",
274 | "optional": true
275 | },
276 | "@swc/core-darwin-x64": {
277 | "version": "1.3.3",
278 | "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.3.tgz",
279 | "integrity": "sha512-hw4o1If986In5m3y3/OimgiBKJh49kbTG9MRWo8msqTic2aBlrtfHjSecMn1g+oP7pdaUUCTkovmT7OpvvQ/Tw==",
280 | "optional": true
281 | },
282 | "@swc/core-freebsd-x64": {
283 | "version": "1.3.3",
284 | "resolved": "https://registry.npmjs.org/@swc/core-freebsd-x64/-/core-freebsd-x64-1.3.3.tgz",
285 | "integrity": "sha512-JFDu3uLa0WMw77o+QNR5D1uErQ5s18HmEwJr5ndOQoDlS+XO2qUG6AxU5LdwLEl5qMf2C99t7gkfzcCZG1PRsw==",
286 | "optional": true,
287 | "requires": {
288 | "@swc/wasm": "1.2.130"
289 | },
290 | "dependencies": {
291 | "@swc/wasm": {
292 | "version": "1.2.130",
293 | "resolved": "https://registry.npmjs.org/@swc/wasm/-/wasm-1.2.130.tgz",
294 | "integrity": "sha512-rNcJsBxS70+pv8YUWwf5fRlWX6JoY/HJc25HD/F8m6Kv7XhJdqPPMhyX6TKkUBPAG7TWlZYoxa+rHAjPy4Cj3Q==",
295 | "optional": true
296 | }
297 | }
298 | },
299 | "@swc/core-linux-arm-gnueabihf": {
300 | "version": "1.3.3",
301 | "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.3.tgz",
302 | "integrity": "sha512-kJoyNP/ury9KmZnjhpj0QApY6VxC9S4hkgsycm8yTJ23O8WrUbgeDOlgAgFJNyHszhR5CnlssDv7ErCwMZtkgw==",
303 | "optional": true,
304 | "requires": {
305 | "@swc/wasm": "1.2.130"
306 | },
307 | "dependencies": {
308 | "@swc/wasm": {
309 | "version": "1.2.130",
310 | "resolved": "https://registry.npmjs.org/@swc/wasm/-/wasm-1.2.130.tgz",
311 | "integrity": "sha512-rNcJsBxS70+pv8YUWwf5fRlWX6JoY/HJc25HD/F8m6Kv7XhJdqPPMhyX6TKkUBPAG7TWlZYoxa+rHAjPy4Cj3Q==",
312 | "optional": true
313 | }
314 | }
315 | },
316 | "@swc/core-linux-arm64-gnu": {
317 | "version": "1.3.3",
318 | "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.3.tgz",
319 | "integrity": "sha512-Y+10o78O2snKnrNTbasT9S3Out0wlOyAkLZvq5zqzW1cz2K2Yzm04zQdKQOCRHlfTF0XSmZ++qRWVNol49WsNA==",
320 | "optional": true
321 | },
322 | "@swc/core-linux-arm64-musl": {
323 | "version": "1.3.3",
324 | "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.3.tgz",
325 | "integrity": "sha512-y6ErPP6Sk0f8exoanUxXeFALvPraTjyoVr8pitpfTqoUd9YcxwOTpPbR5WXI3FWnQ7GS86iH0LvaFDCgHQ1fjg==",
326 | "optional": true
327 | },
328 | "@swc/core-linux-x64-gnu": {
329 | "version": "1.3.3",
330 | "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.3.tgz",
331 | "integrity": "sha512-sqyvNJkPHKHlK/XLIoMNLiux8YxsCJpAk3UreS0NO+sRNRru2AMyrRwX6wxmnJybhEek9SPKF0pXi+GfcaFKYA==",
332 | "optional": true
333 | },
334 | "@swc/core-linux-x64-musl": {
335 | "version": "1.3.3",
336 | "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.3.tgz",
337 | "integrity": "sha512-5fjwHdMv+DOgEp7sdNVmvS4Hr2rDaewa0BpDW8RefcjHoJnDpFVButLDMkwv/Yd+v4YN+99kyX/lOI+/OTD99w==",
338 | "optional": true
339 | },
340 | "@swc/core-win32-arm64-msvc": {
341 | "version": "1.3.3",
342 | "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.3.tgz",
343 | "integrity": "sha512-JxcfG89GieqCFXkRl/mtFds/ME6ncEtLRIQ0+RBIREIGisA9ZgJ8EryBzGZyPu5+7kE0vXGVB6A2cfrv4SNW4A==",
344 | "optional": true,
345 | "requires": {
346 | "@swc/wasm": "1.2.130"
347 | },
348 | "dependencies": {
349 | "@swc/wasm": {
350 | "version": "1.2.130",
351 | "resolved": "https://registry.npmjs.org/@swc/wasm/-/wasm-1.2.130.tgz",
352 | "integrity": "sha512-rNcJsBxS70+pv8YUWwf5fRlWX6JoY/HJc25HD/F8m6Kv7XhJdqPPMhyX6TKkUBPAG7TWlZYoxa+rHAjPy4Cj3Q==",
353 | "optional": true
354 | }
355 | }
356 | },
357 | "@swc/core-win32-ia32-msvc": {
358 | "version": "1.3.3",
359 | "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.3.tgz",
360 | "integrity": "sha512-yqZjTn5V7wYCxMCC5Rg8u87SmGeRSlqYAafHL3IgiFe8hSxOykc2dR1MYNc4WZumYiMlU15VSa6mW8A0pj37FA==",
361 | "optional": true,
362 | "requires": {
363 | "@swc/wasm": "1.2.130"
364 | },
365 | "dependencies": {
366 | "@swc/wasm": {
367 | "version": "1.2.130",
368 | "resolved": "https://registry.npmjs.org/@swc/wasm/-/wasm-1.2.130.tgz",
369 | "integrity": "sha512-rNcJsBxS70+pv8YUWwf5fRlWX6JoY/HJc25HD/F8m6Kv7XhJdqPPMhyX6TKkUBPAG7TWlZYoxa+rHAjPy4Cj3Q==",
370 | "optional": true
371 | }
372 | }
373 | },
374 | "@swc/core-win32-x64-msvc": {
375 | "version": "1.3.3",
376 | "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.3.tgz",
377 | "integrity": "sha512-CIuxz9wiHkgG7m3kjgptgO3iHOmrybvLf0rUNGbVTTHwTcrpjznAnS/MnMPiaIQPlxz70KSXAR2QJjw7fGtfbA==",
378 | "optional": true
379 | },
380 | "@swc/helpers": {
381 | "version": "0.4.14",
382 | "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
383 | "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==",
384 | "requires": {
385 | "tslib": "^2.4.0"
386 | }
387 | },
388 | "@swc/wasm": {
389 | "version": "1.2.122",
390 | "resolved": "https://registry.npmjs.org/@swc/wasm/-/wasm-1.2.122.tgz",
391 | "integrity": "sha512-sM1VCWQxmNhFtdxME+8UXNyPNhxNu7zdb6ikWpz0YKAQQFRGT5ThZgJrubEpah335SUToNg8pkdDF7ibVCjxbQ==",
392 | "optional": true
393 | },
394 | "@types/eslint": {
395 | "version": "8.4.10",
396 | "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz",
397 | "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==",
398 | "requires": {
399 | "@types/estree": "*",
400 | "@types/json-schema": "*"
401 | }
402 | },
403 | "@types/eslint-scope": {
404 | "version": "3.7.4",
405 | "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
406 | "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
407 | "requires": {
408 | "@types/eslint": "*",
409 | "@types/estree": "*"
410 | }
411 | },
412 | "@types/estree": {
413 | "version": "0.0.51",
414 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
415 | "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
416 | },
417 | "@types/json-schema": {
418 | "version": "7.0.11",
419 | "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
420 | "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
421 | },
422 | "@types/node": {
423 | "version": "18.11.9",
424 | "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz",
425 | "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg=="
426 | },
427 | "@webassemblyjs/ast": {
428 | "version": "1.11.1",
429 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
430 | "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
431 | "requires": {
432 | "@webassemblyjs/helper-numbers": "1.11.1",
433 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
434 | }
435 | },
436 | "@webassemblyjs/floating-point-hex-parser": {
437 | "version": "1.11.1",
438 | "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
439 | "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ=="
440 | },
441 | "@webassemblyjs/helper-api-error": {
442 | "version": "1.11.1",
443 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
444 | "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg=="
445 | },
446 | "@webassemblyjs/helper-buffer": {
447 | "version": "1.11.1",
448 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
449 | "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA=="
450 | },
451 | "@webassemblyjs/helper-numbers": {
452 | "version": "1.11.1",
453 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
454 | "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
455 | "requires": {
456 | "@webassemblyjs/floating-point-hex-parser": "1.11.1",
457 | "@webassemblyjs/helper-api-error": "1.11.1",
458 | "@xtuc/long": "4.2.2"
459 | }
460 | },
461 | "@webassemblyjs/helper-wasm-bytecode": {
462 | "version": "1.11.1",
463 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
464 | "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q=="
465 | },
466 | "@webassemblyjs/helper-wasm-section": {
467 | "version": "1.11.1",
468 | "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
469 | "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
470 | "requires": {
471 | "@webassemblyjs/ast": "1.11.1",
472 | "@webassemblyjs/helper-buffer": "1.11.1",
473 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
474 | "@webassemblyjs/wasm-gen": "1.11.1"
475 | }
476 | },
477 | "@webassemblyjs/ieee754": {
478 | "version": "1.11.1",
479 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
480 | "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
481 | "requires": {
482 | "@xtuc/ieee754": "^1.2.0"
483 | }
484 | },
485 | "@webassemblyjs/leb128": {
486 | "version": "1.11.1",
487 | "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
488 | "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
489 | "requires": {
490 | "@xtuc/long": "4.2.2"
491 | }
492 | },
493 | "@webassemblyjs/utf8": {
494 | "version": "1.11.1",
495 | "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
496 | "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ=="
497 | },
498 | "@webassemblyjs/wasm-edit": {
499 | "version": "1.11.1",
500 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
501 | "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
502 | "requires": {
503 | "@webassemblyjs/ast": "1.11.1",
504 | "@webassemblyjs/helper-buffer": "1.11.1",
505 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
506 | "@webassemblyjs/helper-wasm-section": "1.11.1",
507 | "@webassemblyjs/wasm-gen": "1.11.1",
508 | "@webassemblyjs/wasm-opt": "1.11.1",
509 | "@webassemblyjs/wasm-parser": "1.11.1",
510 | "@webassemblyjs/wast-printer": "1.11.1"
511 | }
512 | },
513 | "@webassemblyjs/wasm-gen": {
514 | "version": "1.11.1",
515 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
516 | "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
517 | "requires": {
518 | "@webassemblyjs/ast": "1.11.1",
519 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
520 | "@webassemblyjs/ieee754": "1.11.1",
521 | "@webassemblyjs/leb128": "1.11.1",
522 | "@webassemblyjs/utf8": "1.11.1"
523 | }
524 | },
525 | "@webassemblyjs/wasm-opt": {
526 | "version": "1.11.1",
527 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
528 | "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
529 | "requires": {
530 | "@webassemblyjs/ast": "1.11.1",
531 | "@webassemblyjs/helper-buffer": "1.11.1",
532 | "@webassemblyjs/wasm-gen": "1.11.1",
533 | "@webassemblyjs/wasm-parser": "1.11.1"
534 | }
535 | },
536 | "@webassemblyjs/wasm-parser": {
537 | "version": "1.11.1",
538 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
539 | "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
540 | "requires": {
541 | "@webassemblyjs/ast": "1.11.1",
542 | "@webassemblyjs/helper-api-error": "1.11.1",
543 | "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
544 | "@webassemblyjs/ieee754": "1.11.1",
545 | "@webassemblyjs/leb128": "1.11.1",
546 | "@webassemblyjs/utf8": "1.11.1"
547 | }
548 | },
549 | "@webassemblyjs/wast-printer": {
550 | "version": "1.11.1",
551 | "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
552 | "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
553 | "requires": {
554 | "@webassemblyjs/ast": "1.11.1",
555 | "@xtuc/long": "4.2.2"
556 | }
557 | },
558 | "@xtuc/ieee754": {
559 | "version": "1.2.0",
560 | "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
561 | "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="
562 | },
563 | "@xtuc/long": {
564 | "version": "4.2.2",
565 | "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
566 | "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
567 | },
568 | "acorn": {
569 | "version": "8.8.1",
570 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
571 | "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA=="
572 | },
573 | "acorn-import-assertions": {
574 | "version": "1.8.0",
575 | "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
576 | "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw=="
577 | },
578 | "ajv": {
579 | "version": "6.12.6",
580 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
581 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
582 | "requires": {
583 | "fast-deep-equal": "^3.1.1",
584 | "fast-json-stable-stringify": "^2.0.0",
585 | "json-schema-traverse": "^0.4.1",
586 | "uri-js": "^4.2.2"
587 | }
588 | },
589 | "ajv-keywords": {
590 | "version": "3.5.2",
591 | "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
592 | "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="
593 | },
594 | "braces": {
595 | "version": "3.0.2",
596 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
597 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
598 | "requires": {
599 | "fill-range": "^7.0.1"
600 | }
601 | },
602 | "browserslist": {
603 | "version": "4.21.4",
604 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
605 | "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
606 | "requires": {
607 | "caniuse-lite": "^1.0.30001400",
608 | "electron-to-chromium": "^1.4.251",
609 | "node-releases": "^2.0.6",
610 | "update-browserslist-db": "^1.0.9"
611 | }
612 | },
613 | "buffer-from": {
614 | "version": "1.1.2",
615 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
616 | "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
617 | },
618 | "caniuse-lite": {
619 | "version": "1.0.30001431",
620 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz",
621 | "integrity": "sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ=="
622 | },
623 | "chrome-trace-event": {
624 | "version": "1.0.3",
625 | "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
626 | "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg=="
627 | },
628 | "client-only": {
629 | "version": "0.0.1",
630 | "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
631 | "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
632 | },
633 | "commander": {
634 | "version": "2.20.3",
635 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
636 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
637 | },
638 | "electron-to-chromium": {
639 | "version": "1.4.284",
640 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
641 | "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA=="
642 | },
643 | "encoding": {
644 | "version": "0.1.13",
645 | "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
646 | "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
647 | "requires": {
648 | "iconv-lite": "^0.6.2"
649 | }
650 | },
651 | "enhanced-resolve": {
652 | "version": "5.10.0",
653 | "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
654 | "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==",
655 | "requires": {
656 | "graceful-fs": "^4.2.4",
657 | "tapable": "^2.2.0"
658 | }
659 | },
660 | "es-module-lexer": {
661 | "version": "0.9.3",
662 | "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
663 | "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ=="
664 | },
665 | "escalade": {
666 | "version": "3.1.1",
667 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
668 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
669 | },
670 | "eslint-scope": {
671 | "version": "5.1.1",
672 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
673 | "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
674 | "requires": {
675 | "esrecurse": "^4.3.0",
676 | "estraverse": "^4.1.1"
677 | }
678 | },
679 | "esrecurse": {
680 | "version": "4.3.0",
681 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
682 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
683 | "requires": {
684 | "estraverse": "^5.2.0"
685 | },
686 | "dependencies": {
687 | "estraverse": {
688 | "version": "5.3.0",
689 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
690 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
691 | }
692 | }
693 | },
694 | "estraverse": {
695 | "version": "4.3.0",
696 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
697 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
698 | },
699 | "eventemitter3": {
700 | "version": "4.0.7",
701 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
702 | "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
703 | },
704 | "events": {
705 | "version": "3.3.0",
706 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
707 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
708 | },
709 | "fast-deep-equal": {
710 | "version": "3.1.3",
711 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
712 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
713 | },
714 | "fast-glob": {
715 | "version": "3.2.12",
716 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
717 | "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
718 | "requires": {
719 | "@nodelib/fs.stat": "^2.0.2",
720 | "@nodelib/fs.walk": "^1.2.3",
721 | "glob-parent": "^5.1.2",
722 | "merge2": "^1.3.0",
723 | "micromatch": "^4.0.4"
724 | }
725 | },
726 | "fast-json-stable-stringify": {
727 | "version": "2.1.0",
728 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
729 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
730 | },
731 | "fastq": {
732 | "version": "1.15.0",
733 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
734 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
735 | "requires": {
736 | "reusify": "^1.0.4"
737 | }
738 | },
739 | "fill-range": {
740 | "version": "7.0.1",
741 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
742 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
743 | "requires": {
744 | "to-regex-range": "^5.0.1"
745 | }
746 | },
747 | "glob-parent": {
748 | "version": "5.1.2",
749 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
750 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
751 | "requires": {
752 | "is-glob": "^4.0.1"
753 | }
754 | },
755 | "glob-to-regexp": {
756 | "version": "0.4.1",
757 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
758 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
759 | },
760 | "graceful-fs": {
761 | "version": "4.2.10",
762 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
763 | "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA=="
764 | },
765 | "has-flag": {
766 | "version": "4.0.0",
767 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
768 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
769 | },
770 | "iconv-lite": {
771 | "version": "0.6.3",
772 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
773 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
774 | "requires": {
775 | "safer-buffer": ">= 2.1.2 < 3.0.0"
776 | }
777 | },
778 | "is-extglob": {
779 | "version": "2.1.1",
780 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
781 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
782 | },
783 | "is-glob": {
784 | "version": "4.0.3",
785 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
786 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
787 | "requires": {
788 | "is-extglob": "^2.1.1"
789 | }
790 | },
791 | "is-number": {
792 | "version": "7.0.0",
793 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
794 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
795 | },
796 | "jest-worker": {
797 | "version": "27.5.1",
798 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
799 | "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
800 | "requires": {
801 | "@types/node": "*",
802 | "merge-stream": "^2.0.0",
803 | "supports-color": "^8.0.0"
804 | }
805 | },
806 | "js-tokens": {
807 | "version": "4.0.0",
808 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
809 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
810 | },
811 | "json-parse-even-better-errors": {
812 | "version": "2.3.1",
813 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
814 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
815 | },
816 | "json-schema-traverse": {
817 | "version": "0.4.1",
818 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
819 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
820 | },
821 | "loader-runner": {
822 | "version": "4.3.0",
823 | "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
824 | "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg=="
825 | },
826 | "loose-envify": {
827 | "version": "1.4.0",
828 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
829 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
830 | "requires": {
831 | "js-tokens": "^3.0.0 || ^4.0.0"
832 | }
833 | },
834 | "merge-stream": {
835 | "version": "2.0.0",
836 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
837 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
838 | },
839 | "merge2": {
840 | "version": "1.4.1",
841 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
842 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
843 | },
844 | "micromatch": {
845 | "version": "4.0.5",
846 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
847 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
848 | "requires": {
849 | "braces": "^3.0.2",
850 | "picomatch": "^2.3.1"
851 | }
852 | },
853 | "mime-db": {
854 | "version": "1.52.0",
855 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
856 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
857 | },
858 | "mime-types": {
859 | "version": "2.1.35",
860 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
861 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
862 | "requires": {
863 | "mime-db": "1.52.0"
864 | }
865 | },
866 | "nanoid": {
867 | "version": "3.3.4",
868 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
869 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
870 | },
871 | "neo-async": {
872 | "version": "2.6.2",
873 | "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
874 | "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
875 | },
876 | "next": {
877 | "version": "13.1.1",
878 | "resolved": "https://registry.npmjs.org/next/-/next-13.1.1.tgz",
879 | "integrity": "sha512-R5eBAaIa3X7LJeYvv1bMdGnAVF4fVToEjim7MkflceFPuANY3YyvFxXee/A+acrSYwYPvOvf7f6v/BM/48ea5w==",
880 | "requires": {
881 | "@next/env": "13.1.1",
882 | "@next/swc-android-arm-eabi": "13.1.1",
883 | "@next/swc-android-arm64": "13.1.1",
884 | "@next/swc-darwin-arm64": "13.1.1",
885 | "@next/swc-darwin-x64": "13.1.1",
886 | "@next/swc-freebsd-x64": "13.1.1",
887 | "@next/swc-linux-arm-gnueabihf": "13.1.1",
888 | "@next/swc-linux-arm64-gnu": "13.1.1",
889 | "@next/swc-linux-arm64-musl": "13.1.1",
890 | "@next/swc-linux-x64-gnu": "13.1.1",
891 | "@next/swc-linux-x64-musl": "13.1.1",
892 | "@next/swc-win32-arm64-msvc": "13.1.1",
893 | "@next/swc-win32-ia32-msvc": "13.1.1",
894 | "@next/swc-win32-x64-msvc": "13.1.1",
895 | "@swc/helpers": "0.4.14",
896 | "caniuse-lite": "^1.0.30001406",
897 | "postcss": "8.4.14",
898 | "styled-jsx": "5.1.1"
899 | }
900 | },
901 | "node-fetch": {
902 | "version": "2.6.7",
903 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
904 | "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
905 | "requires": {
906 | "whatwg-url": "^5.0.0"
907 | }
908 | },
909 | "node-releases": {
910 | "version": "2.0.6",
911 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
912 | "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg=="
913 | },
914 | "picocolors": {
915 | "version": "1.0.0",
916 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
917 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
918 | },
919 | "picomatch": {
920 | "version": "2.3.1",
921 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
922 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
923 | },
924 | "postcss": {
925 | "version": "8.4.14",
926 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
927 | "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
928 | "requires": {
929 | "nanoid": "^3.3.4",
930 | "picocolors": "^1.0.0",
931 | "source-map-js": "^1.0.2"
932 | }
933 | },
934 | "punycode": {
935 | "version": "2.1.1",
936 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
937 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
938 | },
939 | "queue-microtask": {
940 | "version": "1.2.3",
941 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
942 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
943 | },
944 | "randombytes": {
945 | "version": "2.1.0",
946 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
947 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
948 | "requires": {
949 | "safe-buffer": "^5.1.0"
950 | }
951 | },
952 | "react": {
953 | "version": "18.2.0",
954 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
955 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
956 | "requires": {
957 | "loose-envify": "^1.1.0"
958 | }
959 | },
960 | "react-dom": {
961 | "version": "18.2.0",
962 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
963 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
964 | "requires": {
965 | "loose-envify": "^1.1.0",
966 | "scheduler": "^0.23.0"
967 | }
968 | },
969 | "reusify": {
970 | "version": "1.0.4",
971 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
972 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
973 | },
974 | "run-parallel": {
975 | "version": "1.2.0",
976 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
977 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
978 | "requires": {
979 | "queue-microtask": "^1.2.2"
980 | }
981 | },
982 | "safe-buffer": {
983 | "version": "5.2.1",
984 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
985 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
986 | },
987 | "safer-buffer": {
988 | "version": "2.1.2",
989 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
990 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
991 | },
992 | "scheduler": {
993 | "version": "0.23.0",
994 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
995 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
996 | "requires": {
997 | "loose-envify": "^1.1.0"
998 | }
999 | },
1000 | "schema-utils": {
1001 | "version": "3.1.1",
1002 | "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
1003 | "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
1004 | "requires": {
1005 | "@types/json-schema": "^7.0.8",
1006 | "ajv": "^6.12.5",
1007 | "ajv-keywords": "^3.5.2"
1008 | }
1009 | },
1010 | "serialize-javascript": {
1011 | "version": "6.0.0",
1012 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
1013 | "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
1014 | "requires": {
1015 | "randombytes": "^2.1.0"
1016 | }
1017 | },
1018 | "source-map": {
1019 | "version": "0.6.1",
1020 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1021 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
1022 | },
1023 | "source-map-js": {
1024 | "version": "1.0.2",
1025 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1026 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
1027 | },
1028 | "source-map-support": {
1029 | "version": "0.5.21",
1030 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
1031 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
1032 | "requires": {
1033 | "buffer-from": "^1.0.0",
1034 | "source-map": "^0.6.0"
1035 | }
1036 | },
1037 | "styled-jsx": {
1038 | "version": "5.1.1",
1039 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz",
1040 | "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==",
1041 | "requires": {
1042 | "client-only": "0.0.1"
1043 | }
1044 | },
1045 | "supports-color": {
1046 | "version": "8.1.1",
1047 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
1048 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
1049 | "requires": {
1050 | "has-flag": "^4.0.0"
1051 | }
1052 | },
1053 | "tapable": {
1054 | "version": "2.2.1",
1055 | "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
1056 | "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="
1057 | },
1058 | "terser": {
1059 | "version": "5.15.1",
1060 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz",
1061 | "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==",
1062 | "requires": {
1063 | "@jridgewell/source-map": "^0.3.2",
1064 | "acorn": "^8.5.0",
1065 | "commander": "^2.20.0",
1066 | "source-map-support": "~0.5.20"
1067 | }
1068 | },
1069 | "terser-webpack-plugin": {
1070 | "version": "5.3.6",
1071 | "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz",
1072 | "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==",
1073 | "requires": {
1074 | "@jridgewell/trace-mapping": "^0.3.14",
1075 | "jest-worker": "^27.4.5",
1076 | "schema-utils": "^3.1.1",
1077 | "serialize-javascript": "^6.0.0",
1078 | "terser": "^5.14.1"
1079 | }
1080 | },
1081 | "to-regex-range": {
1082 | "version": "5.0.1",
1083 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1084 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1085 | "requires": {
1086 | "is-number": "^7.0.0"
1087 | }
1088 | },
1089 | "tr46": {
1090 | "version": "0.0.3",
1091 | "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
1092 | "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
1093 | },
1094 | "tslib": {
1095 | "version": "2.4.1",
1096 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
1097 | "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA=="
1098 | },
1099 | "update-browserslist-db": {
1100 | "version": "1.0.10",
1101 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
1102 | "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
1103 | "requires": {
1104 | "escalade": "^3.1.1",
1105 | "picocolors": "^1.0.0"
1106 | }
1107 | },
1108 | "uri-js": {
1109 | "version": "4.4.1",
1110 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
1111 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
1112 | "requires": {
1113 | "punycode": "^2.1.0"
1114 | }
1115 | },
1116 | "watchpack": {
1117 | "version": "2.4.0",
1118 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
1119 | "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
1120 | "requires": {
1121 | "glob-to-regexp": "^0.4.1",
1122 | "graceful-fs": "^4.1.2"
1123 | }
1124 | },
1125 | "webidl-conversions": {
1126 | "version": "3.0.1",
1127 | "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
1128 | "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
1129 | },
1130 | "webpack": {
1131 | "version": "5.75.0",
1132 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.75.0.tgz",
1133 | "integrity": "sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==",
1134 | "requires": {
1135 | "@types/eslint-scope": "^3.7.3",
1136 | "@types/estree": "^0.0.51",
1137 | "@webassemblyjs/ast": "1.11.1",
1138 | "@webassemblyjs/wasm-edit": "1.11.1",
1139 | "@webassemblyjs/wasm-parser": "1.11.1",
1140 | "acorn": "^8.7.1",
1141 | "acorn-import-assertions": "^1.7.6",
1142 | "browserslist": "^4.14.5",
1143 | "chrome-trace-event": "^1.0.2",
1144 | "enhanced-resolve": "^5.10.0",
1145 | "es-module-lexer": "^0.9.0",
1146 | "eslint-scope": "5.1.1",
1147 | "events": "^3.2.0",
1148 | "glob-to-regexp": "^0.4.1",
1149 | "graceful-fs": "^4.2.9",
1150 | "json-parse-even-better-errors": "^2.3.1",
1151 | "loader-runner": "^4.2.0",
1152 | "mime-types": "^2.1.27",
1153 | "neo-async": "^2.6.2",
1154 | "schema-utils": "^3.1.0",
1155 | "tapable": "^2.1.1",
1156 | "terser-webpack-plugin": "^5.1.3",
1157 | "watchpack": "^2.4.0",
1158 | "webpack-sources": "^3.2.3"
1159 | }
1160 | },
1161 | "webpack-sources": {
1162 | "version": "3.2.3",
1163 | "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
1164 | "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w=="
1165 | },
1166 | "whatwg-url": {
1167 | "version": "5.0.0",
1168 | "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
1169 | "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
1170 | "requires": {
1171 | "tr46": "~0.0.3",
1172 | "webidl-conversions": "^3.0.0"
1173 | }
1174 | }
1175 | }
1176 | }
1177 |
--------------------------------------------------------------------------------
/main-app/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "main-app",
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 | "@module-federation/nextjs-mf": "^6.0.4",
13 | "next": "^13.1.1",
14 | "react": "18.2.0",
15 | "react-dom": "18.2.0",
16 | "webpack": "^5.75.0"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/main-app/pages/_app.js:
--------------------------------------------------------------------------------
1 | import '../styles/globals.css'
2 |
3 | function MyApp({ Component, pageProps }) {
4 | return
{d.title}
29 |