├── .changeset
├── README.md
└── config.json
├── .github
├── hmr.gif
└── workflows
│ ├── cr.yml
│ ├── e2e.yml
│ ├── release.yml
│ └── vitest.yml
├── .gitignore
├── .prettierrc
├── CHANGELOG.md
├── README.md
├── banner.png
├── cypress.config.ts
├── cypress
├── e2e
│ └── examples.cy.ts
└── support
│ └── e2e.ts
├── examples
├── vite-3
│ ├── index.html
│ ├── package.json
│ ├── src
│ │ ├── App.tsx
│ │ ├── CounterContext.tsx
│ │ └── main.tsx
│ ├── tsconfig.json
│ └── vite.config.ts
├── vite-4
│ ├── index.html
│ ├── package.json
│ ├── src
│ │ ├── App.tsx
│ │ ├── CounterContext.tsx
│ │ └── main.tsx
│ ├── tsconfig.json
│ └── vite.config.ts
├── vite-5
│ ├── index.html
│ ├── package.json
│ ├── src
│ │ ├── App.tsx
│ │ ├── CounterContext.tsx
│ │ └── main.tsx
│ ├── tsconfig.json
│ └── vite.config.ts
└── vite-6
│ ├── index.html
│ ├── package.json
│ ├── src
│ ├── App.tsx
│ ├── CounterContext.tsx
│ └── main.tsx
│ ├── tests
│ ├── App.test.tsx
│ └── tsconfig.json
│ ├── tsconfig.json
│ ├── vite.config.ts
│ └── vitest.config.ts
├── package.json
├── playground
├── assets
│ └── test.txt
├── components
│ └── counter.tsx
├── hello.mdx
├── index.html
├── index.tsx
├── package.json
├── pages
│ ├── about.tsx
│ └── index.tsx
├── pnpm-lock.yaml
├── tsconfig.json
└── vite.config.ts
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
├── rollup.config.js
├── scripts
└── test-examples.ts
├── src
└── index.ts
└── tsconfig.json
/.changeset/README.md:
--------------------------------------------------------------------------------
1 | # Changesets
2 |
3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4 | with multi-package repos, or single-package repos to help you version and publish your code. You can
5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6 |
7 | We have a quick list of common questions to get you started engaging with this project in
8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
9 |
--------------------------------------------------------------------------------
/.changeset/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
3 | "changelog": "@changesets/cli/changelog",
4 | "commit": false,
5 | "fixed": [],
6 | "linked": [],
7 | "access": "public",
8 | "baseBranch": "main",
9 | "updateInternalDependencies": "patch",
10 | "ignore": []
11 | }
12 |
--------------------------------------------------------------------------------
/.github/hmr.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/solidjs/vite-plugin-solid/5b6d8ac271470fdfdad5d4f2a5ce4880bc5f9b93/.github/hmr.gif
--------------------------------------------------------------------------------
/.github/workflows/cr.yml:
--------------------------------------------------------------------------------
1 | name: ⚡️ Continuous Releases
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 | merge_group:
8 | pull_request:
9 |
10 | jobs:
11 | cr:
12 | name: "⚡️ Continuous Releases"
13 |
14 | strategy:
15 | fail-fast: false
16 |
17 | runs-on: ubuntu-latest
18 |
19 | steps:
20 | - uses: actions/checkout@v4
21 |
22 | - uses: pnpm/action-setup@v3
23 | with:
24 | # https://github.com/pnpm/pnpm/issues/8953
25 | version: 9.15.3
26 |
27 | - name: Use Node.js 20
28 | uses: actions/setup-node@v4
29 | with:
30 | node-version: 20
31 | cache: "pnpm"
32 |
33 | - name: Install dependencies
34 | run: pnpm install --frozen-lockfile
35 |
36 | - name: Build start
37 | run: pnpm run build
38 |
39 | - name: Release
40 | run: pnpm dlx pkg-pr-new@0.0 publish --compact
41 |
--------------------------------------------------------------------------------
/.github/workflows/e2e.yml:
--------------------------------------------------------------------------------
1 |
2 | name: ci
3 |
4 | on:
5 | pull_request:
6 | branches: [main]
7 | push:
8 | branches: [main]
9 |
10 | jobs:
11 | e2e-tests:
12 | name: "E2E tests"
13 | strategy:
14 | fail-fast: false
15 |
16 | runs-on: ubuntu-22.04
17 | steps:
18 | - name: Checkout
19 | uses: actions/checkout@v4
20 | - uses: actions/setup-node@v4
21 | with:
22 | node-version: "23"
23 |
24 | - uses: pnpm/action-setup@v4
25 | with:
26 | version: 9.15.3
27 |
28 | - name: Install project dependencies
29 | run: pnpm i
30 |
31 | - name: Build project
32 | run: pnpm run build
33 |
34 | - name: Run tests
35 | run: pnpm run test
36 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: Release
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 |
8 | concurrency: ${{ github.workflow }}-${{ github.ref }}
9 |
10 | jobs:
11 | release:
12 | name: Release
13 | runs-on: ubuntu-latest
14 | steps:
15 | - name: Checkout Repo
16 | uses: actions/checkout@v3
17 |
18 | - uses: pnpm/action-setup@v3
19 | with:
20 | # https://github.com/pnpm/pnpm/issues/8953
21 | version: 9.15.3
22 |
23 | - name: Setup Node.js 20.x
24 | uses: actions/setup-node@v3
25 | with:
26 | node-version: 20.x
27 |
28 | - name: Install Dependencies
29 | run: pnpm i --frozen-lockfile
30 |
31 | - name: Create Release Pull Request or Publish to npm
32 | id: changesets
33 | uses: changesets/action@v1
34 | with:
35 | publish: pnpm run release
36 | env:
37 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
38 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
--------------------------------------------------------------------------------
/.github/workflows/vitest.yml:
--------------------------------------------------------------------------------
1 | name: ci
2 |
3 | on:
4 | pull_request:
5 | branches: [main]
6 | push:
7 | branches: [main]
8 |
9 | jobs:
10 | vitest:
11 | name: 'Vitest'
12 | strategy:
13 | fail-fast: false
14 |
15 | runs-on: ubuntu-22.04
16 | steps:
17 | - name: Checkout
18 | uses: actions/checkout@v4
19 | - uses: actions/setup-node@v4
20 | with:
21 | node-version: '23'
22 |
23 | - uses: pnpm/action-setup@v4
24 | with:
25 | version: 9.15.3
26 |
27 | - name: Install project dependencies
28 | run: pnpm i
29 |
30 | - name: Install playwright browser
31 | working-directory: examples/vite-6
32 | run: pnpm exec playwright install chromium
33 |
34 | - name: Run tests
35 | working-directory: examples/vite-6
36 | run: pnpm run test
37 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "tabWidth": 2,
3 | "trailingComma": "all",
4 | "useTabs": false,
5 | "printWidth": 100,
6 | "semi": true,
7 | "singleQuote": true
8 | }
9 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ## 2.11.6
4 |
5 | ### Patch Changes
6 |
7 | - 14da18d: Fix accessing the wrong user test configuration
8 |
9 | ## 2.11.5
10 |
11 | ### Patch Changes
12 |
13 | - 57cb53a: Update path to type declaration
14 |
15 | ## 2.11.4
16 |
17 | ### Patch Changes
18 |
19 | - ff66baf: Adjust path to type declaration
20 |
21 | ## 2.11.3
22 |
23 | ### Patch Changes
24 |
25 | - d87159b: Fix duplicated test setupFiles in resolved vite config
26 |
27 | ## 2.11.2
28 |
29 | ### Patch Changes
30 |
31 | - 5003976: handle empty query string
32 | - 3da707e: Support query string in tsx/jsx files
33 |
34 | ## 2.11.1
35 |
36 | ### Patch Changes
37 |
38 | - c5ddd03: Fix vite6 environment detection
39 |
40 | ## 2.11.0
41 |
42 | ### Minor Changes
43 |
44 | - 8a6d81e: Add vite 6 compat
45 |
46 | ### Patch Changes
47 |
48 | - 74c75d0: Support Vite 6's `resolve.conditions` breaking change
49 |
50 | ## 2.10.2
51 |
52 | ### Patch Changes
53 |
54 | - e52d554: import solid as external to fix testing with npm
55 | - 7500d78: update option types
56 |
57 | ## 2.10.1
58 |
59 | ### Patch Changes
60 |
61 | - 1552678: emergency temporary revert of solid-refresh
62 |
63 | ## 2.10.0
64 |
65 | ### Minor Changes
66 |
67 | - 6156811: add changesets, update to solid-refresh 0.7
68 |
69 |
70 |
71 | ## 2.3.0 (2022-07-14)
72 |
73 | ### Changed
74 |
75 | - ⬆️ Update playground dependencies [[0438ab4](https://github.com/solidjs/vite-plugin-solid/commit/0438ab4a594d31b6cb15a57caf517060639b6de6)]
76 | - ⬆️ Update dependencies (vite 3) [[17d5aef](https://github.com/solidjs/vite-plugin-solid/commit/17d5aef698836de5a2514056e5d622be3da711a9)]
77 | - ⬆️ Update dependencies [[ac130ae](https://github.com/solidjs/vite-plugin-solid/commit/ac130ae5141591f292fa703573282c4f7286aeb1)]
78 | - ⬆️ Update example folder dependencies [[093f738](https://github.com/solidjs/vite-plugin-solid/commit/093f7380708b22a660f63e3b91c3dd9d27ad5375)]
79 | - ⬆️ Update dependencies [[0259ba6](https://github.com/solidjs/vite-plugin-solid/commit/0259ba6ad5ee9b46890804a900da9f6e71f92d84)]
80 |
81 | ### Removed
82 |
83 | - 🔥 Remove legacy option `alias` [[4a432e8](https://github.com/solidjs/vite-plugin-solid/commit/4a432e80e66f527404db4bd224b689fb59866bf2)]
84 |
85 | ### Miscellaneous
86 |
87 | - Merge pull request [#44](https://github.com/solidjs/vite-plugin-solid/issues/44) from vjoao/patch-1 [[88fd588](https://github.com/solidjs/vite-plugin-solid/commit/88fd5884ea6f509efabcb58c0ecf25d1e8fce628)]
88 | - Add 'universal' to compiler output [[75d66bb](https://github.com/solidjs/vite-plugin-solid/commit/75d66bb484fc3c4f9f282affb3d5258400b53619)]
89 | - Merge pull request [#39](https://github.com/solidjs/vite-plugin-solid/issues/39) from btakita/issues/38 [[dce3536](https://github.com/solidjs/vite-plugin-solid/commit/dce35361935425d30627113c112b25abc5c8fe47)]
90 | - Merge pull request [#37](https://github.com/solidjs/vite-plugin-solid/issues/37) from JoviDeCroock/patch-1 [[6c9c566](https://github.com/solidjs/vite-plugin-solid/commit/6c9c566a0352d9fe68de05b44ce6e70370ec00e3)]
91 | - upgrade babel-preset-solid to 1.4.2 [[91e9511](https://github.com/solidjs/vite-plugin-solid/commit/91e9511429ab3e2e3ba3651819283d187775f0bb)]
92 | - add types discoverability [[820c115](https://github.com/solidjs/vite-plugin-solid/commit/820c11580d8fe7ecb846616c20e395539a7664fc)]
93 | - move "vite" and "solid-js" to peer dependencies [[dfd81c2](https://github.com/solidjs/vite-plugin-solid/commit/dfd81c2ab7b735846096562ea1ced248693b34a9)]
94 | - Merge pull request [#36](https://github.com/solidjs/vite-plugin-solid/issues/36) from g-plane/peer-deps [[f896d4d](https://github.com/solidjs/vite-plugin-solid/commit/f896d4d306ccb20c3793c1ce741339d746d3966c)]
95 | - remove ?. and bump version [[b310f93](https://github.com/solidjs/vite-plugin-solid/commit/b310f938f2a8a7fa7b7e516335dba1ef14c12b8e)]
96 | - 📝 Update changelog [[b57f3e9](https://github.com/solidjs/vite-plugin-solid/commit/b57f3e9ed8c3048afe7d1f33bb85b4daefad2e03)]
97 | - 📝 Update changelog [[55ed4f3](https://github.com/solidjs/vite-plugin-solid/commit/55ed4f3e39f0c15e12c897efdfcb6dc42ad756cc)]
98 |
99 |
100 |
101 | ## 2.2.5 (2022-01-26)
102 |
103 | ### Changed
104 |
105 | - ⬆️ Update dependencies to latest [[0d429c2](https://github.com/solidjs/vite-plugin-solid/commit/0d429c2c59261f4bb23a62e5f9736eed113724bf)]
106 | - 🎨 Rename poorly named variable [[d71ff9e](https://github.com/solidjs/vite-plugin-solid/commit/d71ff9ee486fa08a8a577f888b1b6902265ff826)]
107 |
108 | ### Miscellaneous
109 |
110 | - Merge pull request [#29](https://github.com/solidjs/vite-plugin-solid/issues/29) from bgoscinski/master [[7443f0c](https://github.com/solidjs/vite-plugin-solid/commit/7443f0c5e790c4ba5c9539e0d96600ccf816dfab)]
111 | - Merge branch 'master' into master [[5788cc3](https://github.com/solidjs/vite-plugin-solid/commit/5788cc3098fca7d53a0bb770b516a42d670843b3)]
112 | - Merge pull request [#27](https://github.com/solidjs/vite-plugin-solid/issues/27) from LXSMNSYC/patch-2 [[e7eb9dc](https://github.com/solidjs/vite-plugin-solid/commit/e7eb9dcc2202d93a5fc79d5fac012076a7c6ae69)]
113 | - Update merge-anything to 5.0.0 [[8a5f9b5](https://github.com/solidjs/vite-plugin-solid/commit/8a5f9b51943f189f3147700c24748853a06c22d6)]
114 | - revert temporary fix push people to newer vite with windows fix [[1fd98f6](https://github.com/solidjs/vite-plugin-solid/commit/1fd98f6ca566a54b9bc219f3613a382ee361515c)]
115 | - Revert "fix around vite plugin merging" [[58dcda1](https://github.com/solidjs/vite-plugin-solid/commit/58dcda14c265122eb497d347b4d6429cf9401147)]
116 | - Fix [#26](https://github.com/solidjs/vite-plugin-solid/issues/26) [[408367d](https://github.com/solidjs/vite-plugin-solid/commit/408367d96d4557fe6cac5d4970290a9b8d362372)]
117 | - fix around vite plugin merging [[84c2568](https://github.com/solidjs/vite-plugin-solid/commit/84c25682361e94e112f2274910450291208eeee5)]
118 | - bump [[2162537](https://github.com/solidjs/vite-plugin-solid/commit/2162537529f8a666cdef314fd67c48f1fac84d36)]
119 | - Merge pull request [#25](https://github.com/solidjs/vite-plugin-solid/issues/25) from devinxi/nksaraf-patch-1 [[d61b98d](https://github.com/solidjs/vite-plugin-solid/commit/d61b98d77282b6c4c368c23d8c113c1c2b42f550)]
120 | - Disable solid-refresh transform during SSR [[97debbe](https://github.com/solidjs/vite-plugin-solid/commit/97debbe5f820de1112f37a323ba420d9af8449a5)]
121 | - update deps [[1494e5d](https://github.com/solidjs/vite-plugin-solid/commit/1494e5d28fb8ae923742b770972c7b12ae644730)]
122 | - 📝 Adding `extensions` option to README [[d3ffe73](https://github.com/solidjs/vite-plugin-solid/commit/d3ffe73c63ff1af91254928820c742a1b15f4311)]
123 | - 📝 Update changelog [[34095c3](https://github.com/solidjs/vite-plugin-solid/commit/34095c3dcc3cb2c7b867f957694d235c186d44e7)]
124 |
125 |
126 |
127 | ## 2.2.0 (2022-01-03)
128 |
129 | ### Added
130 |
131 | - ✨ Add mdx example [[988e065](https://github.com/solidjs/vite-plugin-solid/commit/988e065a02bd9df742d5f56d896732d4593a2bdb)]
132 |
133 | ### Changed
134 |
135 | - 🎨 Refactor code [[3a249f3](https://github.com/solidjs/vite-plugin-solid/commit/3a249f37001561ef66f8e8ab4eed82a42f52832e)]
136 | - 🔧 Fix lock file [[0a14b3a](https://github.com/solidjs/vite-plugin-solid/commit/0a14b3ab5f00c77a9f28a9bf974f6a1f606b6465)]
137 | - 🔧 Add pnpm as the default corepack package manager [[6ee5701](https://github.com/solidjs/vite-plugin-solid/commit/6ee5701a5d6702351afa08a95b87abbc0f403ee3)]
138 | - ⬆️ Update playground dependencies [[3306823](https://github.com/solidjs/vite-plugin-solid/commit/3306823f453639e9af0844ba63b904717189f1fa)]
139 | - ⬆️ Update dependencies [[5df5464](https://github.com/solidjs/vite-plugin-solid/commit/5df5464e7d3e53b9987e7df55134fba599dfa20c)]
140 |
141 | ### Removed
142 |
143 | - 🔥 Remove deprecated code [[58f0623](https://github.com/solidjs/vite-plugin-solid/commit/58f0623506c588b1312793f281fe33e342eb6ec7)]
144 |
145 | ### Miscellaneous
146 |
147 | - Merge pull request [#24](https://github.com/solidjs/vite-plugin-solid/issues/24) from high1/solid-mdx [[0416a1a](https://github.com/solidjs/vite-plugin-solid/commit/0416a1ac45c28967abc2ba8864f0b9ee2fd541b3)]
148 | - Merge branch 'master' into solid-mdx [[2d7d862](https://github.com/solidjs/vite-plugin-solid/commit/2d7d86269589f27e5577a90b400a64dc062db178)]
149 | - Removed flags parsing [[41bd673](https://github.com/solidjs/vite-plugin-solid/commit/41bd67326cdc9425d48c6369b9f9b5b4363a5a7b)]
150 | - Fixed undefined issue [[ea2724e](https://github.com/solidjs/vite-plugin-solid/commit/ea2724e5a336bd1a5147fc1e1d1f33dc027c7a74)]
151 | - Updated the code [[2e07b2b](https://github.com/solidjs/vite-plugin-solid/commit/2e07b2bfcc822dc0343ae2d851ad1393288b6f2b)]
152 | - Extensions option added [[e5b6389](https://github.com/solidjs/vite-plugin-solid/commit/e5b6389aa7fe579201ad6e4cbeec332441396040)]
153 | - New banner [[34967e8](https://github.com/solidjs/vite-plugin-solid/commit/34967e82ea235c8dfe389f3bd91d440382835036)]
154 | - Added new banner [[5a4e52f](https://github.com/solidjs/vite-plugin-solid/commit/5a4e52fa2099dea3bb67aeed705cb268999ce6a6)]
155 | - bump deps [[9f8a623](https://github.com/solidjs/vite-plugin-solid/commit/9f8a6234cdb1ae290f2f9d434221abbff7c5a870)]
156 | - update readme [[04ed442](https://github.com/solidjs/vite-plugin-solid/commit/04ed44299d88d34143cdad5f8764681035d2bb2e)]
157 | - fix dev build in prod, stop adding transform refresh to node_modules [[2ea81e1](https://github.com/solidjs/vite-plugin-solid/commit/2ea81e1e6aac3e8a25eff3f0deae222d32d3f16c)]
158 | - bump versions [[9395b64](https://github.com/solidjs/vite-plugin-solid/commit/9395b64632d04b860f89109998ae686087e59458)]
159 | - 📝 Update changelog [[04f1081](https://github.com/solidjs/vite-plugin-solid/commit/04f1081853932b169c4ecbc960d56fa6f6fadfa6)]
160 |
161 |
162 |
163 | ## 2.1.2 (2021-11-04)
164 |
165 | ### Changed
166 |
167 | - ⬆️ Update dependencies [[9938081](https://github.com/solidjs/vite-plugin-solid/commit/993808181e46bf7f92ab9fe5b1c908abaca9d395)]
168 |
169 | ### Fixed
170 |
171 | - 🐛 Fix issues where the sourcemap wasn't properly set (fix [#21](https://github.com/solidjs/vite-plugin-solid/issues/21)) [[d12159d](https://github.com/solidjs/vite-plugin-solid/commit/d12159d55f6a0fa16a72521219dc125ddb17a8c7)]
172 |
173 |
174 |
175 | ## 2.1.1 (2021-10-14)
176 |
177 | ### Changed
178 |
179 | - 🔧 Prepare for upcomming vite update around ssr boolean [[b9b3f73](https://github.com/solidjs/vite-plugin-solid/commit/b9b3f73ab22bfc6e3451fbfc21441a06dc3acd9c)]
180 | - ⬆️ Update dependencies [[5701543](https://github.com/solidjs/vite-plugin-solid/commit/5701543cec6a4921cb44dabf70cf6d3e43420fc0)]
181 |
182 | ### Miscellaneous
183 |
184 | - 📝 Remove deprecated section [[942ede6](https://github.com/solidjs/vite-plugin-solid/commit/942ede6bc263903f492a9862f8905d18c5349127)]
185 |
186 |
187 |
188 | ## 2.1.0 (2021-10-02)
189 |
190 | ### Added
191 |
192 | - ✨ Adding opt-in @babel/preset-typescript options [[fd746e6](https://github.com/solidjs/vite-plugin-solid/commit/fd746e6735c84ea51ddcd686b17be0ad7c91bd40)]
193 |
194 | ### Changed
195 |
196 | - ⬆️ Update dependencies [[c6c96d5](https://github.com/solidjs/vite-plugin-solid/commit/c6c96d561fd6291e2756a877d2dfd903f98236a1)]
197 |
198 | ### Removed
199 |
200 | - 🔥 Remove config merging (fix [#20](https://github.com/solidjs/vite-plugin-solid/issues/20)) [[124e7fa](https://github.com/solidjs/vite-plugin-solid/commit/124e7fa68d3b4270e45baed8be3a9d3cd4df1e81)]
201 |
202 | ### Miscellaneous
203 |
204 | - Merge branch 'master' of github.com:solidjs/vite-plugin-solid [[02aaa9f](https://github.com/solidjs/vite-plugin-solid/commit/02aaa9fd3e1f01d5e4f4c7444b7333fac9ab9c6f)]
205 |
206 |
207 |
208 | ## 2.0.2 (2021-08-27)
209 |
210 | ### Added
211 |
212 | - ✨ Add directive to playground to make sure it works [[d506e83](https://github.com/solidjs/vite-plugin-solid/commit/d506e83a7d575b798e7cb4a3551022ee93f8309d)]
213 |
214 | ### Changed
215 |
216 | - ⬆️ Update playground dependencies [[dfadfd7](https://github.com/solidjs/vite-plugin-solid/commit/dfadfd7ba3891f92486db76c7326a2e47d85af8b)]
217 | - ⬆️ Update dependencies [[9a31397](https://github.com/solidjs/vite-plugin-solid/commit/9a31397f3218f93b81b907ad671e20a58d0ba171)]
218 | - 🔧 Add `onlyRemoveTypeImports` on the TS preset [[7c9ad7e](https://github.com/solidjs/vite-plugin-solid/commit/7c9ad7edd65052f8a1f112786ebd7e7c529f8226)]
219 | - 🔧 Fix playground after latest update [[18f8307](https://github.com/solidjs/vite-plugin-solid/commit/18f8307a6f874de3ea5356f98df1fea2a57e3efa)]
220 | - ⬆️ Update to latest dependencies [[4856be5](https://github.com/solidjs/vite-plugin-solid/commit/4856be51360dd2be2104203fdc0c2fd55ffccc87)]
221 |
222 | ### Miscellaneous
223 |
224 | - 📦 Fix lock file [[8740ad6](https://github.com/solidjs/vite-plugin-solid/commit/8740ad6fa4c6e20a6c26a788ea5ca27d9fd2a5cf)]
225 | - 📝 Update readme [[6c18a33](https://github.com/solidjs/vite-plugin-solid/commit/6c18a3387b2160fdf0e8c703bc37c644b8ac4234)]
226 | - Merge pull request [#17](https://github.com/solidjs/vite-plugin-solid/issues/17) from LXSMNSYC/patch-1 [[b03c61b](https://github.com/solidjs/vite-plugin-solid/commit/b03c61b15610f4acc498ecfecdb63299998b7c80)]
227 | - Fix `solid-js` credits pointing to wrong url [[18d8dad](https://github.com/solidjs/vite-plugin-solid/commit/18d8dad1dba68a275535bb9e611f634770f82753)]
228 | - Merge pull request [#16](https://github.com/solidjs/vite-plugin-solid/issues/16) from sprabowo/master [[17da93e](https://github.com/solidjs/vite-plugin-solid/commit/17da93e35e200e29e0869575aa75949b6ceab902)]
229 | - fix: update repo in degit script [[b11624d](https://github.com/solidjs/vite-plugin-solid/commit/b11624db8a9652d04d165054858cbb1b35afe961)]
230 | - Merge pull request [#15](https://github.com/solidjs/vite-plugin-solid/issues/15) from visualfanatic/patch-1 [[b2c64b7](https://github.com/solidjs/vite-plugin-solid/commit/b2c64b7390620ca1cfaea739db788724cfa12b3b)]
231 | - Fix example Vite config [[198e27f](https://github.com/solidjs/vite-plugin-solid/commit/198e27fa8da8dabbbf25dd20e25c770aea73beaf)]
232 | - 📝 Update changelog [[0c76257](https://github.com/solidjs/vite-plugin-solid/commit/0c76257ad2a864793fb48732168b216899d75a32)]
233 |
234 |
235 |
236 | ## 2.0.1 (2021-07-17)
237 |
238 | ### Changed
239 |
240 | - 🔧 Externalize all dependencies [[0ec0692](https://github.com/solidjs/vite-plugin-solid/commit/0ec06926a7bb03d352583d07a84176c8dbe506cd)]
241 | - ⬆️ Update dependencies [[f684995](https://github.com/solidjs/vite-plugin-solid/commit/f684995f378b3ad4055b0bbe93506ec70179c998)]
242 | - ⬆️ Update solid-refresh [[b3180ae](https://github.com/solidjs/vite-plugin-solid/commit/b3180aeb89338bce2b8285df90b359812d6a294a)]
243 |
244 | ### Fixed
245 |
246 | - 🐛 Fix solid-refresh import [[f24ef12](https://github.com/solidjs/vite-plugin-solid/commit/f24ef1200394b839d3c3cec0b89f83bf6e884fe2)]
247 |
248 |
249 |
250 | ## 2.0.0 (2021-06-28)
251 |
252 | ### Added
253 |
254 | - ✨ Adding `babel-preset-solid` options from the vite plugin (fix [#13](https://github.com/solidjs/vite-plugin-solid/issues/13)) [[6759fee](https://github.com/solidjs/vite-plugin-solid/commit/6759fee6e732897c02918c21e6f35bd831a2999e)]
255 |
256 | ### Changed
257 |
258 | - ⬆️ Update to solid 1.0 [[752e47e](https://github.com/solidjs/vite-plugin-solid/commit/752e47e73ef94109e3efd22dafea393edf702f6a)]
259 |
260 | ### Miscellaneous
261 |
262 | - Merge remote-tracking branch 'origin/master' [[66d8501](https://github.com/solidjs/vite-plugin-solid/commit/66d85018959eb6e1b6bb90f8e60c58e0ae26d912)]
263 | - Merge branch 'next' [[6d26d87](https://github.com/solidjs/vite-plugin-solid/commit/6d26d87ba10836347b913aca6cc3f993960076fd)]
264 | - 📝 Update README [[337b022](https://github.com/solidjs/vite-plugin-solid/commit/337b0226143e6b525945d3d6252ccf732e0545f5)]
265 | - 📝 Update readme for solid options [[4550cbf](https://github.com/solidjs/vite-plugin-solid/commit/4550cbf8bf4b5ba828273850396b30f98c4ae435)]
266 |
267 |
268 |
269 | ## 2.0.0-rc.4 (2021-06-25)
270 |
271 | ### Added
272 |
273 | - ✨ Adding new exports to dedupe / deps include [[7b7ca58](https://github.com/solidjs/vite-plugin-solid/commit/7b7ca583d4625e033b016f8b615f59d0fcd38460)]
274 |
275 | ### Changed
276 |
277 | - ⬆️ Update dependencies to latest [[b36514b](https://github.com/solidjs/vite-plugin-solid/commit/b36514ba35fc248b01fadf4cd62fcf647fd841bb)]
278 |
279 |
280 |
281 | ## 2.0.0-rc.3 (2021-06-19)
282 |
283 | ### Changed
284 |
285 | - ⬆️ Update solid-refresh to latest [[3dd8081](https://github.com/solidjs/vite-plugin-solid/commit/3dd8081b353caf9552405c9253b4d86072cc75ed)]
286 |
287 | ### Miscellaneous
288 |
289 | - 📝 Update readme for solid options [[66d35f0](https://github.com/solidjs/vite-plugin-solid/commit/66d35f0761023593dcb05557abad2ca59244cb22)]
290 |
291 |
292 |
293 | ## 2.0.0-rc.2 (2021-06-06)
294 |
295 | ### Added
296 |
297 | - ✨ Adding `babel-preset-solid` options from the vite plugin (fix [#13](https://github.com/solidjs/vite-plugin-solid/issues/13)) [[584d4e9](https://github.com/solidjs/vite-plugin-solid/commit/584d4e98c5b32affeeca625e92524e96a81f4844)]
298 |
299 | ### Changed
300 |
301 | - ⬆️ Update to solid 1.0.0-rc.2 [[b4795bd](https://github.com/solidjs/vite-plugin-solid/commit/b4795bdd7f6dd688ea7bc3f7e63e0b934886bf14)]
302 |
303 | ### Miscellaneous
304 |
305 | - 📝 Update changelog [[6389e88](https://github.com/solidjs/vite-plugin-solid/commit/6389e88f5472abf7cb39cf7e078bda64b05c78f6)]
306 |
307 |
308 |
309 | ## 1.9.0 (2021-06-06)
310 |
311 | ### Added
312 |
313 | - ✨ Adding `babel-preset-solid` options from the vite plugin (fix [#13](https://github.com/solidjs/vite-plugin-solid/issues/13)) [[6759fee](https://github.com/solidjs/vite-plugin-solid/commit/6759fee6e732897c02918c21e6f35bd831a2999e)]
314 |
315 |
316 |
317 | ## 2.0.0-rc.1 (2021-06-02)
318 |
319 | ### Changed
320 |
321 | - ⬆️ Update to solid 1.0.0-rc.2 [[b4795bd](https://github.com/amoutonbrady/vite-plugin-solid/commit/b4795bdd7f6dd688ea7bc3f7e63e0b934886bf14)]
322 |
323 | ### Miscellaneous
324 |
325 | - 📝 Update changelog [[c2bf813](https://github.com/amoutonbrady/vite-plugin-solid/commit/c2bf81380628b5696ca8c5a6f336d0e9613f5e35)]
326 |
327 |
328 |
329 | ## 1.8.0 (2021-05-13)
330 |
331 | ### Changed
332 |
333 | - ⬆️ Update dependencies [[90b8a4c](https://github.com/amoutonbrady/vite-plugin-solid/commit/90b8a4c076ff235d23305e4b14985684c1efad2a)]
334 |
335 | ### Fixed
336 |
337 | - ✏️ Fix typo in the readme regarding opting out of hmr (fix [#10](https://github.com/amoutonbrady/vite-plugin-solid/issues/10)) [[a3720a5](https://github.com/amoutonbrady/vite-plugin-solid/commit/a3720a563d3293b07e0cd9d9690afa91fee5d1d9)]
338 | - 🐛 Make dev mode work in prod when set to true [[84a6eff](https://github.com/amoutonbrady/vite-plugin-solid/commit/84a6eff5de065800ff4be0962a8603ddc60f57ff)]
339 |
340 | ### Miscellaneous
341 |
342 | - Merge pull request [#12](https://github.com/amoutonbrady/vite-plugin-solid/issues/12) from jorroll/monorepo-fix [[ba5d40c](https://github.com/amoutonbrady/vite-plugin-solid/commit/ba5d40c710bef282a88bffae48305abb83a27490)]
343 | - fix: ensure `solid-js` is included in pre-bundle [[7098edc](https://github.com/amoutonbrady/vite-plugin-solid/commit/7098edcceff1af62328203f1dff6ed3edf0746d1)]
344 | - Merge branch 'master' of github.com:amoutonbrady/vite-plugin-solid [[c8a6cfc](https://github.com/amoutonbrady/vite-plugin-solid/commit/c8a6cfc4234f8b0ce48b4e4d200c43b53b21e49f)]
345 | - 📝 Update changelog [[c7590ac](https://github.com/amoutonbrady/vite-plugin-solid/commit/c7590ac38fba0d6720d640fd75386f18122cba99)]
346 | - Merge pull request [#11](https://github.com/amoutonbrady/vite-plugin-solid/issues/11) from jorroll/patch-1 [[25f0cea](https://github.com/amoutonbrady/vite-plugin-solid/commit/25f0ceacfe6f47cd026faa1811cc4ccfa84d18a3)]
347 | - docs: add jsdoc comments for Options interface [[6f0cea9](https://github.com/amoutonbrady/vite-plugin-solid/commit/6f0cea9d76593d4dc59006b6599d01fd1042ff53)]
348 | - fix: export this plugin's options interface [[6d5a31a](https://github.com/amoutonbrady/vite-plugin-solid/commit/6d5a31ae6f1781d00e8fb53f16e730c04558462e)]
349 |
350 |
351 |
352 | ## 1.7.0 (2021-05-08)
353 |
354 | ### Changed
355 |
356 | - ⬆️ Update dependnecies [[baf497a](https://github.com/amoutonbrady/vite-plugin-solid/commit/baf497afc3a144ecff904825e4e3640a58405d3c)]
357 |
358 | ### Miscellaneous
359 |
360 | - 📝 Update changelog [[e2df01b](https://github.com/amoutonbrady/vite-plugin-solid/commit/e2df01b264b346fff8a2386a34f2c989244238dd)]
361 |
362 |
363 |
364 | ## 1.6.0 (2021-04-20)
365 |
366 | ### Changed
367 |
368 | - ⬆️ Update dependencies [[1a2a2d6](https://github.com/amoutonbrady/vite-plugin-solid/commit/1a2a2d6b08abca585b8d9170250daf8541f3ec94)]
369 |
370 | ### Miscellaneous
371 |
372 | - 📝 Adding requirements in the readme [#9](https://github.com/amoutonbrady/vite-plugin-solid/issues/9) [[eb5a019](https://github.com/amoutonbrady/vite-plugin-solid/commit/eb5a0194caec42158ed14d5cd2bd60bfacbf8759)]
373 | - 📝 Update changelog [[94d199d](https://github.com/amoutonbrady/vite-plugin-solid/commit/94d199d2f87c13875e93ef8993672f9b5f070034)]
374 |
375 |
376 |
377 | ## 1.5.1 (2021-04-09)
378 |
379 | ### Changed
380 |
381 | - ⚡ Bake merge-anything into the plugin [[ba1f655](https://github.com/amoutonbrady/vite-plugin-solid/commit/ba1f65562c6b45ea25ccb74ff690e052a4d0ec4e)]
382 |
383 |
384 |
385 | ## 1.5.0 (2021-04-02)
386 |
387 | ### Added
388 |
389 | - ✨ Support "type: module" [[81b28a3](https://github.com/amoutonbrady/vite-plugin-solid/commit/81b28a3681a217ad3b674871133c672d0ef1e4bc)]
390 | - ✨ Adding babel transform options [#7](https://github.com/amoutonbrady/vite-plugin-solid/issues/7) [[a70b7b7](https://github.com/amoutonbrady/vite-plugin-solid/commit/a70b7b707d7200bf1085501b4d74f159c6f7e09c)]
391 |
392 | ### Miscellaneous
393 |
394 | - 📝 Update changelog [[296fa6c](https://github.com/amoutonbrady/vite-plugin-solid/commit/296fa6cbf63162315f2aea74c7038489bbe71d5d)]
395 |
396 |
397 |
398 | ## 1.4.0 (2021-04-01)
399 |
400 | ### Changed
401 |
402 | - ⬆️ Update dependencies [[d065caa](https://github.com/amoutonbrady/vite-plugin-solid/commit/d065caa126cab3b7def1fe3f8c4b8e44df3808a4)]
403 | - 🔧 Configure plugin target to current node fix [#8](https://github.com/amoutonbrady/vite-plugin-solid/issues/8) [[9a0a635](https://github.com/amoutonbrady/vite-plugin-solid/commit/9a0a635400c636ce012142c87456196d8bf74b5d)]
404 |
405 | ### Miscellaneous
406 |
407 | - 📝 Update changelog [[ba5ced3](https://github.com/amoutonbrady/vite-plugin-solid/commit/ba5ced3928f7d059617ec56ac63dbdc52dd16eed)]
408 |
409 |
410 |
411 | ## 1.3.3 (2021-03-25)
412 |
413 | ### Changed
414 |
415 | - ⬆️ Update dependencies [[7e9bec8](https://github.com/amoutonbrady/vite-plugin-solid/commit/7e9bec89b7d72600f38bb6fa60263e1832201d4f)]
416 |
417 | ### Fixed
418 |
419 | - 🐛 Fix legacy alias warning [[847cdfe](https://github.com/amoutonbrady/vite-plugin-solid/commit/847cdfe5e7809be1b29817f382ca1c2659ab400d)]
420 |
421 |
422 |
423 | ## 1.3.2 (2021-03-19)
424 |
425 | ### Fixed
426 |
427 | - 🐛 Force alias to be arrays to properly support config merging fix [#3](https://github.com/amoutonbrady/vite-plugin-solid/issues/3) [[9ffe0e5](https://github.com/amoutonbrady/vite-plugin-solid/commit/9ffe0e5989a36c8871a01f8aa767d8a7d57f089a)]
428 |
429 | ### Miscellaneous
430 |
431 | - 📝 Updating changelog [[af0ab70](https://github.com/amoutonbrady/vite-plugin-solid/commit/af0ab7039950792ea1778955cc9eb4f46999aac7)]
432 |
433 |
434 |
435 | ## 1.3.1 (2021-03-15)
436 |
437 | ### Fixed
438 |
439 | - 🐛 Merge arrays together' [[a2e7837](https://github.com/amoutonbrady/vite-plugin-solid/commit/a2e783716c8bb2e304e03a562cfcaaa0a2c3831f)]
440 |
441 | ### Miscellaneous
442 |
443 | - 📝 Adding changelog [[2b2ade7](https://github.com/amoutonbrady/vite-plugin-solid/commit/2b2ade70c7d85237a47e403f4f41426505eeb1c5)]
444 |
445 |
446 |
447 | ## 1.3.0 (2021-03-09)
448 |
449 | ### Fixed
450 |
451 | - 🐛 Fix HMR warning and remove peerDeps [[2a93fb5](https://github.com/amoutonbrady/vite-plugin-solid/commit/2a93fb59b39a98f1931e259bd2d72cc0dba4f161)]
452 |
453 |
454 |
455 | ## 1.2.4 (2021-03-08)
456 |
457 | ### Fixed
458 |
459 | - 🐛 Fix deepmerge config issue + patch [[ea5225b](https://github.com/amoutonbrady/vite-plugin-solid/commit/ea5225b199972f1266e483723fd1ac1d3af40a4d)]
460 |
461 |
462 |
463 | ## 1.2.3 (2021-03-08)
464 |
465 | ### Changed
466 |
467 | - ⬆️ Update dependencies [[079503b](https://github.com/amoutonbrady/vite-plugin-solid/commit/079503b2b60b2cd9dffa69ea74d182a4269c9760)]
468 |
469 | ### Miscellaneous
470 |
471 | - 💩 Apply patch for the babel warning [[6e71e80](https://github.com/amoutonbrady/vite-plugin-solid/commit/6e71e80b79cbcc68499ca3aadf905b40bf59f739)]
472 | - Merge pull request [#5](https://github.com/amoutonbrady/vite-plugin-solid/issues/5) from aminya/patch-1 [[79165cd](https://github.com/amoutonbrady/vite-plugin-solid/commit/79165cd9874cd1c0e7698e600508f6a01847f957)]
473 | - fix start command in the readme [[85d08e2](https://github.com/amoutonbrady/vite-plugin-solid/commit/85d08e2eac1a310a7944e044650fe160ada64cbd)]
474 | - Merge pull request [#4](https://github.com/amoutonbrady/vite-plugin-solid/issues/4) from maksimsemenov/respect-alias-in-user-config fixes [#3](https://github.com/amoutonbrady/vite-plugin-solid/issues/3) [[30e0442](https://github.com/amoutonbrady/vite-plugin-solid/commit/30e0442641d010d77131d985d006e73bba846b12)]
475 | - Use map instead of reduce [[cb869a5](https://github.com/amoutonbrady/vite-plugin-solid/commit/cb869a52cee9662211b7153b10adadf629e9955b)]
476 | - Resolve user alias config [[d775f6c](https://github.com/amoutonbrady/vite-plugin-solid/commit/d775f6c996a3c12a54e7af18492178f0fc832e1a)]
477 |
478 |
479 |
480 | ## 1.2.2 (2021-03-04)
481 |
482 | ### Changed
483 |
484 | - ⬆️ Update dependencies (solid-refresh) [[3d74b58](https://github.com/amoutonbrady/vite-plugin-solid/commit/3d74b5841c8c0fa8e7c1827b41de7ba0f30a1a09)]
485 |
486 |
487 |
488 | ## 1.2.1 (2021-03-02)
489 |
490 | ### Changed
491 |
492 | - ⬆️ Update dependencies [[272d553](https://github.com/amoutonbrady/vite-plugin-solid/commit/272d5537a7f9983e6a6c684965b97c0d6174fd57)]
493 | - ⬆️ Update dependencies [[5baddad](https://github.com/amoutonbrady/vite-plugin-solid/commit/5baddad7ac366fd11b4e8dae184954cbfcd717a5)]
494 |
495 | ### Miscellaneous
496 |
497 | - 📝 Update README for broken dependencies [[2dad73a](https://github.com/amoutonbrady/vite-plugin-solid/commit/2dad73a31a0b25c806ab62dbfc24f77b72d14912)]
498 |
499 |
500 |
501 | ## 1.2.0 (2021-02-22)
502 |
503 | ### Changed
504 |
505 | - ⬆️ Update dependencies (and resolve solid export mapping) [[a7f5ee8](https://github.com/amoutonbrady/vite-plugin-solid/commit/a7f5ee898e2e4b5b29efe1c58fade08910bca7ef)]
506 |
507 |
508 |
509 | ## 1.1.3 (2021-02-22)
510 |
511 | ### Changed
512 |
513 | - ⬆️ Update dependencies [[e55e8cd](https://github.com/amoutonbrady/vite-plugin-solid/commit/e55e8cdd564eed2ed2e537d53f3d70305650fa90)]
514 |
515 |
516 |
517 | ## 1.1.2 (2021-02-20)
518 |
519 | ### Fixed
520 |
521 | - 🐛 Fix solid-refresh dependency [[71af74e](https://github.com/amoutonbrady/vite-plugin-solid/commit/71af74e0dce778d07bb07ab6952a0f10c7870bbe)]
522 |
523 |
524 |
525 | ## 1.1.1 (2021-02-20)
526 |
527 | ### Changed
528 |
529 | - 🔧 Make solid-refresh a dependency instead of a devDependency [[c9a862b](https://github.com/amoutonbrady/vite-plugin-solid/commit/c9a862bb170583a505924b57e5a37321a2b7b5a8)]
530 |
531 | ### Miscellaneous
532 |
533 | - 📝 Adding a demo gif [[85c8e6e](https://github.com/amoutonbrady/vite-plugin-solid/commit/85c8e6e9c1824e107ef8ff70d4d139d529797d5f)]
534 |
535 |
536 |
537 | ## 1.1.0 (2021-02-20)
538 |
539 | ### Added
540 |
541 | - ✨ HMR is here! [[949f7e1](https://github.com/amoutonbrady/vite-plugin-solid/commit/949f7e1e3cddd8a4a71e0e53793ac6ba8c73321f)]
542 |
543 | ### Miscellaneous
544 |
545 | - 📝 Update README for HMR [[8d48bb0](https://github.com/amoutonbrady/vite-plugin-solid/commit/8d48bb070b4c361537e95c77c95c099f2c5b04bb)]
546 |
547 |
548 |
549 | ## 1.0.0 (2021-02-17)
550 |
551 | ### Changed
552 |
553 | - 🔧 Make sure the compiled output works [[00651db](https://github.com/amoutonbrady/vite-plugin-solid/commit/00651db6b0ab1ee8c1c44b7dffbd2562b5acf23b)]
554 | - ♻️ Refactor a bit the plugin [[481f74b](https://github.com/amoutonbrady/vite-plugin-solid/commit/481f74bf89e0e54d16ee05bcbc4735cb66023366)]
555 | - ⬆️ Update dependencies [[2af8a39](https://github.com/amoutonbrady/vite-plugin-solid/commit/2af8a39b46c14b341b98d4482436640b7f3a2eb0)]
556 |
557 | ### Miscellaneous
558 |
559 | - 🏷️ Fixing some types & indentation [[c9bb615](https://github.com/amoutonbrady/vite-plugin-solid/commit/c9bb61576da69ed60e0e1b3e35d44ce02350fcf3)]
560 |
561 |
562 |
563 | ## 0.9.1 (2021-02-13)
564 |
565 | ### Fixed
566 |
567 | - 🐛 Fix SSR bug [[2eeefe9](https://github.com/amoutonbrady/vite-plugin-solid/commit/2eeefe93a7496b05ebc07d3026e66b789c8bb078)]
568 |
569 |
570 |
571 | ## 0.9.0 (2021-02-13)
572 |
573 | ### Added
574 |
575 | - ✨ Adding hacky SSR [[720832a](https://github.com/amoutonbrady/vite-plugin-solid/commit/720832ac5dbc88dcc0bd4e7c4bbaac32b505e4c5)]
576 |
577 |
578 |
579 | ## 0.8.3 (2021-02-12)
580 |
581 | ### Added
582 |
583 | - ✨ Aliasing solid-js for solid-js/dev in dev mode [[4ef6a4f](https://github.com/amoutonbrady/vite-plugin-solid/commit/4ef6a4f845a84e49ee91706387706c45ef928234)]
584 |
585 | ### Changed
586 |
587 | - ⬆️ Update dependencies [[6c37c39](https://github.com/amoutonbrady/vite-plugin-solid/commit/6c37c39992998e38858a33c9da260f03b124e5a5)]
588 |
589 |
590 |
591 | ## 0.8.2 (2021-02-11)
592 |
593 | ### Removed
594 |
595 | - 🔇 Remove logs [[54c2bb5](https://github.com/amoutonbrady/vite-plugin-solid/commit/54c2bb576d09a9858dcc4ffe52bef42603a927d7)]
596 |
597 |
598 |
599 | ## 0.8.1 (2021-02-11)
600 |
601 | ### Added
602 |
603 | - ✅ Added extra check in the playground [[418d494](https://github.com/amoutonbrady/vite-plugin-solid/commit/418d494fc05077776a87d973e0828cb43741a935)]
604 |
605 | ### Changed
606 |
607 | - ♻️ Simplified resolve rules [[55ef16b](https://github.com/amoutonbrady/vite-plugin-solid/commit/55ef16b09dcfc8a27647cf4b78d5e7edf11e498b)]
608 | - ⬆️ Update dependencies [[e91b9a0](https://github.com/amoutonbrady/vite-plugin-solid/commit/e91b9a00f74546a634d3c5a1b9cef1ca97670a0a)]
609 |
610 |
611 |
612 | ## 0.8.0 (2021-02-04)
613 |
614 | ### Changed
615 |
616 | - ⬆️ Update to solid 0.24 [[a87ea3f](https://github.com/amoutonbrady/vite-plugin-solid/commit/a87ea3fdef3e6c037ac2e41c5ce61b3f5add6bf9)]
617 |
618 |
619 |
620 | ## 0.7.1 (2021-01-30)
621 |
622 | ### Changed
623 |
624 | - ⬆️ Update dependencies and minor fixes [[b37df18](https://github.com/amoutonbrady/vite-plugin-solid/commit/b37df186f13760a7a5c65454b3c33e2983137dd1)]
625 |
626 |
627 |
628 | ## 0.7.0 (2021-01-23)
629 |
630 | ### Changed
631 |
632 | - 🔧 Adjusting the playground accordingly [[b723b26](https://github.com/amoutonbrady/vite-plugin-solid/commit/b723b2665b4c4672b3b2cc32a23d444c8ec0a331)]
633 | - ♻️ Drastically simplify the plugin thanks to newer version of vite [[6fb5f87](https://github.com/amoutonbrady/vite-plugin-solid/commit/6fb5f87931e25c6c28fe853db8dddc56231aa774)]
634 | - ⬆️ Update dependencies [[e9212ac](https://github.com/amoutonbrady/vite-plugin-solid/commit/e9212ac396e0ccd4a6c9f2a8250b71fc7bcd65f9)]
635 | - ⬆️ Update dependencies [[6fbe325](https://github.com/amoutonbrady/vite-plugin-solid/commit/6fbe325c16a14ad431dbc707ee20143eedac8629)]
636 | - ⬆️ Update dependencies [[0d25ea3](https://github.com/amoutonbrady/vite-plugin-solid/commit/0d25ea3d0b253a8b2ab4d95dc2b2056d2aa3968c)]
637 |
638 | ### Fixed
639 |
640 | - ✏️ Fix typo [[0431ded](https://github.com/amoutonbrady/vite-plugin-solid/commit/0431ded78484d191b05f733c13ab1a9917aafd0b)]
641 |
642 |
643 |
644 | ## 0.6.0 (2021-01-04)
645 |
646 | ### Added
647 |
648 | - ✨ Improved and document the code based on the vue jsx plugin [[531b698](https://github.com/amoutonbrady/vite-plugin-solid/commit/531b698f0636297ff441a703e80c0823127fcd80)]
649 |
650 |
651 |
652 | ## 0.5.0 (2021-01-02)
653 |
654 | ### Added
655 |
656 | - ➕ Adding prettier [[91779f4](https://github.com/amoutonbrady/vite-plugin-solid/commit/91779f4a1b3a08723e1a0872ff363ec9cd57b38d)]
657 | - ✨ Adding a testing playground [[75126cf](https://github.com/amoutonbrady/vite-plugin-solid/commit/75126cfb0944e206fb2b0c30880d1b03c1a25ac1)]
658 | - ✨ Rewriting for vite 2 [[c82e81f](https://github.com/amoutonbrady/vite-plugin-solid/commit/c82e81fa135a6a621398883e7ceae1db8aa0a742)]
659 |
660 | ### Changed
661 |
662 | - 🔧 Adding package check + publish hook [[499ac04](https://github.com/amoutonbrady/vite-plugin-solid/commit/499ac0440e6e35a89021fdc8c60a44b51ce7776e)]
663 |
664 | ### Fixed
665 |
666 | - 🐛 Fix HMR issue 2 [[ab27288](https://github.com/amoutonbrady/vite-plugin-solid/commit/ab27288440e918f86d8b5462802693f624df139c)]
667 |
668 | ### Miscellaneous
669 |
670 | - 📝 Adding disclaimer to readme [[99c2ef7](https://github.com/amoutonbrady/vite-plugin-solid/commit/99c2ef74854eacd18090dee16dbdfb2a5adc4f56)]
671 | - 📝 Updating readme for vite 2 [[298205f](https://github.com/amoutonbrady/vite-plugin-solid/commit/298205f1037a665969cbc1a213d3042a6c0b4e91)]
672 |
673 |
674 |
675 | ## 0.4.1 (2020-11-23)
676 |
677 | ### Changed
678 |
679 | - ⬆️ Update dependencies [[844ec9c](https://github.com/amoutonbrady/vite-plugin-solid/commit/844ec9c0799049241ce007d254ea3de128883070)]
680 |
681 | ### Fixed
682 |
683 | - 🐛 Fix HMR issue [[e521e35](https://github.com/amoutonbrady/vite-plugin-solid/commit/e521e3516f05d143012033b86ef09ef49f57e32e)]
684 |
685 | ### Miscellaneous
686 |
687 | - Merge pull request [#1](https://github.com/amoutonbrady/vite-plugin-solid/issues/1) from boogerlad/master [[1261690](https://github.com/amoutonbrady/vite-plugin-solid/commit/1261690d50bb47702f1c46d68ad0985ab8ab0642)]
688 | - remove redundant textContent = '' for HMR since as of solid 0.21.0 it's handled by dom expressions [[2dfe316](https://github.com/amoutonbrady/vite-plugin-solid/commit/2dfe316f26930e99a9c3dcdc2b48c4e1f73b93e1)]
689 |
690 |
691 |
692 | ## 0.3.0 (2020-11-06)
693 |
694 | ### Changed
695 |
696 | - ⬆️ Update dependencies for V1 [[ca68e35](https://github.com/amoutonbrady/vite-plugin-solid/commit/ca68e35c296d8aac46e243e9245337d3b6d52704)]
697 | - ⬆️ Update to yarn 2 + solid 0.20 + clean up deps [[1106de0](https://github.com/amoutonbrady/vite-plugin-solid/commit/1106de0b5e7bd596f58a4c14bb2584a884b9aa62)]
698 |
699 | ### Miscellaneous
700 |
701 | - Merge branch 'release/0.1.1' into develop [[cb7698e](https://github.com/amoutonbrady/vite-plugin-solid/commit/cb7698e376a78e5f062c9c4f153cab4b9c97d7b0)]
702 |
703 |
704 |
705 | ## 0.1.1 (2020-08-13)
706 |
707 | ### Changed
708 |
709 | - ⬆️ Update dependencies [[3e04f31](https://github.com/amoutonbrady/vite-plugin-solid/commit/3e04f3158c4ea0c8907c7d3fadea4a30b2bd9f4f)]
710 |
711 |
712 |
713 | ## 0.1.0 (2020-07-31)
714 |
715 | ### Added
716 |
717 | - ✨ auto. hmr [[d96fcf2](https://github.com/amoutonbrady/vite-plugin-solid/commit/d96fcf2bfeb8e176dd79307dbd3f3e9dc62b2973)]
718 |
719 | ### Changed
720 |
721 | - ⬆️ update dependencies [[bfa4da5](https://github.com/amoutonbrady/vite-plugin-solid/commit/bfa4da567115a5346e57adbe0406a9f5f83886bc)]
722 |
723 | ### Miscellaneous
724 |
725 | - Merge branch 'develop' into main [[fce4c49](https://github.com/amoutonbrady/vite-plugin-solid/commit/fce4c491d63f23d6c1ec51dccce23f29c4901415)]
726 | - uh [[1dd1989](https://github.com/amoutonbrady/vite-plugin-solid/commit/1dd19895ee9653fd907aaad4a774721a7a0ad9f2)]
727 | - Merge branch 'release/0.0.4' into develop [[e7bd88d](https://github.com/amoutonbrady/vite-plugin-solid/commit/e7bd88d23e2c0e082b02a516725ec58a0710d4ba)]
728 |
729 |
730 |
731 | ## 0.0.4 (2020-07-21)
732 |
733 | ### Changed
734 |
735 | - ⬆️ Update dependencies [[a1fd000](https://github.com/amoutonbrady/vite-plugin-solid/commit/a1fd00027cdf0ec67c366e8c5d12fb5dee493940)]
736 | - 🔧 Try to fix missing dependencies [[340d82a](https://github.com/amoutonbrady/vite-plugin-solid/commit/340d82af3cd380ffb58bad754b76b107c94165ed)]
737 |
738 | ### Miscellaneous
739 |
740 | - Merge branch 'release/0.0.4' into main [[1855560](https://github.com/amoutonbrady/vite-plugin-solid/commit/18555608eeae7a96a4193d2c6e12d6f80b51ec78)]
741 | - Merge remote-tracking branch 'origin/develop' into develop [[b852754](https://github.com/amoutonbrady/vite-plugin-solid/commit/b85275415817d0b9402ac6634f8b0d23cd2fcb70)]
742 | - 📝 Added a troubleshoooting section [[6532b51](https://github.com/amoutonbrady/vite-plugin-solid/commit/6532b51a59a0c248aa9c46e8f4703fb64ccf7002)]
743 | - 📝 Update quickstart section to include the template [[17684c7](https://github.com/amoutonbrady/vite-plugin-solid/commit/17684c7c47cb2298408900d711b43a973c68bc5f)]
744 | - Merge branch 'develop' into main [[0f91383](https://github.com/amoutonbrady/vite-plugin-solid/commit/0f913830893275a88f0096c20838b1e1032a7f5f)]
745 | - Merge branch 'release/0.0.3' into main [[bb1c59b](https://github.com/amoutonbrady/vite-plugin-solid/commit/bb1c59bb1650240aa7d65cec4a9b53f1af46a24b)]
746 | - Merge branch 'release/0.0.2' into develop [[acd49de](https://github.com/amoutonbrady/vite-plugin-solid/commit/acd49de622408a348e04767563941d57a3f23c87)]
747 |
748 |
749 |
750 | ## 0.0.2 (2020-07-12)
751 |
752 | ### Changed
753 |
754 | - 🔧 Export file to CJS [[fb5ed9c](https://github.com/amoutonbrady/vite-plugin-solid/commit/fb5ed9c0d08018f24f7fcf6041a3507adc3a3054)]
755 |
756 | ### Miscellaneous
757 |
758 | - Merge branch 'release/0.0.2' into main [[dda3822](https://github.com/amoutonbrady/vite-plugin-solid/commit/dda382268a9384028c1ca85c84c0ba6e25755433)]
759 | - Merge branch 'main' into develop [[19cd994](https://github.com/amoutonbrady/vite-plugin-solid/commit/19cd994f7c7fbb490bfe9dc251e7fe1012b29748)]
760 | - 📦 Update package.json for release [[865fc11](https://github.com/amoutonbrady/vite-plugin-solid/commit/865fc119148115d30ffce3b2b45e75c768fe631d)]
761 |
762 |
763 |
764 | ## 0.0.1 (2020-07-12)
765 |
766 | ### Added
767 |
768 | - 🎉 Initial commit [[004bebf](https://github.com/amoutonbrady/vite-plugin-solid/commit/004bebf08ad0f12b458dfbf6288113f5727fc987)]
769 |
770 | ### Miscellaneous
771 |
772 | - 📝 Improve README [[2de0927](https://github.com/amoutonbrady/vite-plugin-solid/commit/2de09279b63096a9379523fab69860194fc79ed3)]
773 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | # ⚡ vite-plugin-solid
6 |
7 | A simple integration to run [solid-js](https://github.com/solidjs/solid) with [vite](https://github.com/vitejs/vite)
8 |
9 |
10 |
11 | # Got a question? / Need help?
12 |
13 | Join [solid discord](https://discord.com/invite/solidjs) and check the [troubleshooting section](#troubleshooting) to see if your question hasn't been already answered.
14 |
15 | ## Features
16 |
17 | - HMR with no configuration needed
18 | - Drop-in installation as a vite plugin
19 | - Minimal bundle size
20 | - Support typescript (`.tsx`) out of the box
21 | - Support code splitting out of the box
22 |
23 | ## Requirements
24 |
25 | This module 100% ESM compatible and requires NodeJS `14.18.0` or later.
26 |
27 | You can check your current version of NodeJS by typing `node -v` in your terminal. If your version is below that one version I'd encourage you to either do an update globally or use a NodeJS version management tool such as [Volta](https://volta.sh/) or [nvm](https://github.com/nvm-sh/nvm).
28 |
29 | ## Quickstart
30 |
31 | You can use the [vite-template-solid](https://github.com/solidjs/templates) starter templates similar to CRA:
32 |
33 | ```bash
34 | $ npx degit solidjs/templates/js my-solid-project
35 | $ cd my-solid-project
36 | $ npm install # or pnpm install or yarn install
37 | $ npm run start # starts dev-server with hot-module-reloading
38 | $ npm run build # builds to /dist
39 | ```
40 |
41 | ## Installation
42 |
43 | Install `vite`, `vite-plugin-solid` as dev dependencies.
44 |
45 | Install `solid-js` as dependency.
46 |
47 | You have to install those so that you are in control to which solid version is used to compile your code.
48 |
49 | ```bash
50 | # with npm
51 | $ npm install -D vite vite-plugin-solid
52 | $ npm install solid-js
53 |
54 | # with pnpm
55 | $ pnpm add -D vite vite-plugin-solid
56 | $ pnpm add solid-js
57 |
58 | # with yarn
59 | $ yarn add -D vite vite-plugin-solid
60 | $ yarn add solid-js
61 | ```
62 |
63 | Add it as plugin to `vite.config.js`
64 |
65 | ```js
66 | // vite.config.ts
67 | import { defineConfig } from 'vite';
68 | import solidPlugin from 'vite-plugin-solid';
69 |
70 | export default defineConfig({
71 | plugins: [solidPlugin()],
72 | });
73 | ```
74 |
75 | ## Run
76 |
77 | Just use regular `vite` or `vite build` commands
78 |
79 | ```json
80 | {
81 | "scripts": {
82 | "dev": "vite",
83 | "build": "vite build"
84 | }
85 | }
86 | ```
87 |
88 | ## API
89 |
90 | ### options
91 |
92 | - Type: Object
93 | - Default: {}
94 |
95 | #### options.include
96 |
97 | - Type: (string | RegExp)[] | string | RegExp | null
98 | - Default: undefined
99 |
100 | A [picomatch](https://github.com/micromatch/picomatch) pattern, or array of patterns, which specifies the files the plugin should operate on.
101 |
102 | #### options.exclude
103 |
104 | - Type: (string | RegExp)[] | string | RegExp | null
105 | - Default: undefined
106 |
107 | A [picomatch](https://github.com/micromatch/picomatch) pattern, or array of patterns, which specifies the files to be ignored by the plugin.
108 |
109 | #### options.dev
110 |
111 | - Type: Boolean
112 | - Default: true
113 |
114 | This will inject `solid-js/dev` in place of `solid-js` in dev mode. Has no effect in prod.
115 | If set to false, it won't inject it in dev.
116 | This is useful for extra logs and debug.
117 |
118 | #### options.hot
119 |
120 | - Type: Boolean
121 | - Default: true
122 |
123 | This will inject HMR runtime in dev mode. Has no effect in prod.
124 | If set to false, it won't inject the runtime in dev.
125 |
126 | #### options.ssr
127 |
128 | - Type: Boolean
129 | - Default: false
130 |
131 | This will force SSR code in the produced files.
132 |
133 | #### options.babel
134 |
135 | - Type: Babel.TransformOptions
136 | - Default: {}
137 |
138 | Pass any additional [babel transform options](https://babeljs.io/docs/en/options). Those will be merged with the transformations required by Solid.
139 |
140 | #### options.solid
141 |
142 | - Type: [babel-plugin-jsx-dom-expressions](https://github.com/ryansolid/dom-expressions/tree/main/packages/babel-plugin-jsx-dom-expressions#plugin-options)
143 | - Default: {}
144 |
145 | Pass any additional [babel-plugin-jsx-dom-expressions](https://github.com/ryansolid/dom-expressions/tree/main/packages/babel-plugin-jsx-dom-expressions#plugin-options).
146 | They will be merged with the defaults sets by [babel-preset-solid](https://github.com/solidjs/solid/blob/main/packages/babel-preset-solid/index.js#L8-L25).
147 |
148 | #### options.typescript
149 |
150 | - Type: [@babel/preset-typescript](https://babeljs.io/docs/en/babel-preset-typescript)
151 | - Default: {}
152 |
153 | Pass any additional [@babel/preset-typescript](https://babeljs.io/docs/en/babel-preset-typescript).
154 |
155 | #### options.extensions
156 |
157 | - Type: (string, [string, { typescript: boolean }])[]
158 | - Default: []
159 |
160 | An array of custom extension that will be passed through the solid compiler.
161 | By default, the plugin only transform `jsx` and `tsx` files.
162 | This is useful if you want to transform `mdx` files for example.
163 |
164 | ## Note on HMR
165 |
166 | Starting from version `1.1.0`, this plugin handle automatic HMR via [solid-refresh](https://github.com/solidjs/solid-refresh).
167 |
168 | At this stage it's still early work but provide basic HMR. In order to get the best out of it there are couple of things to keep in mind:
169 |
170 | - When you modify a file every state below this component will be reset to default state (including the current file). The state in parent component is preserved.
171 |
172 | - The entrypoint can't benefit from HMR yet and will force a hard reload of the entire app. This is still really fast thanks to browser caching.
173 |
174 | If at least one of this point is blocking to you, you can revert to the old behavior by [opting out the automatic HMR](#options) and placing the following snippet in your entry point:
175 |
176 | ```jsx
177 | const dispose = render(() => , document.body);
178 |
179 | if (import.meta.hot) {
180 | import.meta.hot.accept();
181 | import.meta.hot.dispose(dispose);
182 | }
183 | ```
184 |
185 | # Troubleshooting
186 |
187 | - It appears that Webstorm generate some weird triggers when saving a file. In order to prevent that you can follow [this thread](https://intellij-support.jetbrains.com/hc/en-us/community/posts/360000154544-I-m-having-a-huge-problem-with-Webstorm-and-react-hot-loader-) and disable the **"Safe Write"** option in **"Settings | Appearance & Behavior | System Settings"**.
188 |
189 | - If one of your dependency spit out React code instead of Solid that means that they don't expose JSX properly. To get around it, you might want to manually exclude it from the [dependencies optimization](https://vitejs.dev/config/dep-optimization-options.html#optimizedeps-exclude)
190 |
191 | - If you are trying to make [directives](https://www.solidjs.com/docs/latest/api#use%3A___) work, and they somehow don't try setting the `options.typescript.onlyRemoveTypeImports` option to `true`
192 |
193 | ## Migration from v1
194 |
195 | The master branch now target vite 2.
196 |
197 | The main breaking change from previous version is that the package has been renamed from `@amoutonbrady/vite-plugin-solid` to `vite-plugin-solid`.
198 |
199 | For other breaking changes, check [the migration guide of vite](https://vitejs.dev/guide/migration.html).
200 |
201 | # Testing
202 |
203 | If you are using [vitest](https://vitest.dev/), this plugin already injects the necessary configuration for you. It even automatically detects if you have `@testing-library/jest-dom` installed in your project and automatically adds it to the `setupFiles`. All you need to add (if you want) is `globals`, `coverage`, and other testing configuration of your choice. If you can live without those, enjoy using vitest without the need to configure it yourself.
204 |
205 | # Credits
206 |
207 | - [solid-js](https://github.com/solidjs/solid)
208 | - [vite](https://github.com/vitejs/vite)
209 |
--------------------------------------------------------------------------------
/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/solidjs/vite-plugin-solid/5b6d8ac271470fdfdad5d4f2a5ce4880bc5f9b93/banner.png
--------------------------------------------------------------------------------
/cypress.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'cypress'
2 | import vitePreprocessor from 'cypress-vite'
3 |
4 | export default defineConfig({
5 | e2e: {
6 | baseUrl: 'http://localhost:4173',
7 | supportFile: 'cypress/support/e2e.ts',
8 | specPattern: 'cypress/e2e/**/*.cy.{js,jsx,ts,tsx}',
9 | setupNodeEvents(on) {
10 | on('file:preprocessor', vitePreprocessor())
11 | },
12 | env: {
13 | example: '',
14 | }
15 | },
16 | })
17 |
--------------------------------------------------------------------------------
/cypress/e2e/examples.cy.ts:
--------------------------------------------------------------------------------
1 | describe('Vite Plugin Solid Examples', () => {
2 | it('should increment counter correctly', () => {
3 | cy.visit('/')
4 | cy.get('h1').contains('Count: 0')
5 | cy.contains('button', 'Increment').click()
6 | cy.get('h1').contains('Count: 1')
7 | })
8 | })
--------------------------------------------------------------------------------
/cypress/support/e2e.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/solidjs/vite-plugin-solid/5b6d8ac271470fdfdad5d4f2a5ce4880bc5f9b93/cypress/support/e2e.ts
--------------------------------------------------------------------------------
/examples/vite-3/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/examples/vite-3/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "example",
3 | "private": "true",
4 | "type": "module",
5 | "scripts": {
6 | "dev": "vite",
7 | "build": "vite build",
8 | "preview": "vite preview"
9 | },
10 | "devDependencies": {
11 | "vite": "^3.2.7",
12 | "vite-plugin-solid": "workspace:*"
13 | },
14 | "dependencies": {
15 | "solid-js": "catalog:"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/examples/vite-3/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { onCleanup, onMount } from "solid-js";
2 | import { CounterProvider, useCounter } from "./CounterContext";
3 |
4 | const title = 'Count';
5 |
6 | function Count() {
7 | const counter = useCounter();
8 | onMount(() => {
9 | console.log('Mounted Count');
10 | });
11 | onCleanup(() => {
12 | console.log('Unmounted Count');
13 | });
14 | return (
15 | {title}: {counter.value()}
16 | );
17 | }
18 |
19 | function Increment() {
20 | const counter = useCounter();
21 | onMount(() => {
22 | console.log('Mounted Increment');
23 | });
24 | onCleanup(() => {
25 | console.log('Unmounted Increment');
26 | });
27 | return (
28 |
29 | Increment
30 |
31 | );
32 | }
33 |
34 | function Decrement() {
35 | const counter = useCounter();
36 | onMount(() => {
37 | console.log('Mounted Decrement');
38 | });
39 | onCleanup(() => {
40 | console.log('Unmounted Decrement');
41 | });
42 | return (
43 |
44 | Decrement
45 |
46 | );
47 | }
48 |
49 | export default function App() {
50 | onMount(() => {
51 | console.log('Mounted App');
52 | });
53 | onCleanup(() => {
54 | console.log('Unmounted App');
55 | });
56 |
57 | return (
58 |
59 |
60 |
61 |
62 |
63 | );
64 | }
--------------------------------------------------------------------------------
/examples/vite-3/src/CounterContext.tsx:
--------------------------------------------------------------------------------
1 | import { createContext, createSignal, JSX, onCleanup, onMount, useContext } from "solid-js";
2 |
3 | interface CounterContext {
4 | value(): number;
5 | increment(): void;
6 | decrement(): void;
7 | }
8 |
9 |
10 | const CounterContext = createContext();
11 |
12 | export function useCounter() {
13 | const ctx = useContext(CounterContext);
14 | if (!ctx) {
15 | throw new Error('Missing CounterContext');
16 | }
17 | return ctx;
18 | }
19 |
20 | export function CounterProvider(props: { children: JSX.Element }) {
21 | const [value, setValue] = createSignal(0);
22 |
23 | function increment() {
24 | setValue((c) => c + 1);
25 | }
26 |
27 | function decrement() {
28 | setValue((c) => c - 1);
29 | }
30 | onMount(() => {
31 | console.log('Mounted CounterProvider');
32 | });
33 | onCleanup(() => {
34 | console.log('Unmounted CounterProvider');
35 | });
36 |
37 | return (
38 |
39 | Counter
40 | {props.children}
41 |
42 | );
43 | }
44 |
--------------------------------------------------------------------------------
/examples/vite-3/src/main.tsx:
--------------------------------------------------------------------------------
1 | import { render } from 'solid-js/web';
2 | import App from './App';
3 |
4 | const app = document.getElementById('app');
5 |
6 | if (app) {
7 | render(() => , app);
8 | }
--------------------------------------------------------------------------------
/examples/vite-3/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "module": "ESNext",
5 | "allowSyntheticDefaultImports": true,
6 | "esModuleInterop": true,
7 | "resolveJsonModule": true,
8 | "moduleResolution": "node",
9 | "jsx": "preserve",
10 | "jsxImportSource": "solid-js",
11 | "types": ["vite/client"],
12 | "baseUrl": ".",
13 | "paths": {
14 | "@/*": ["./pages/*"],
15 | "@@/*": ["./assets/*"]
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/examples/vite-3/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite';
2 | import solidPlugin from 'vite-plugin-solid';
3 |
4 | export default defineConfig({
5 | plugins: [
6 | solidPlugin(),
7 | ],
8 | });
--------------------------------------------------------------------------------
/examples/vite-4/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/examples/vite-4/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "example",
3 | "private": "true",
4 | "type": "module",
5 | "scripts": {
6 | "dev": "vite",
7 | "build": "vite build",
8 | "preview": "vite preview"
9 | },
10 | "devDependencies": {
11 | "vite": "^4.1.5",
12 | "vite-plugin-solid": "workspace:*"
13 | },
14 | "dependencies": {
15 | "solid-js": "catalog:"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/examples/vite-4/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { onCleanup, onMount } from "solid-js";
2 | import { CounterProvider, useCounter } from "./CounterContext";
3 |
4 | const title = 'Count';
5 |
6 | function Count() {
7 | const counter = useCounter();
8 | onMount(() => {
9 | console.log('Mounted Count');
10 | });
11 | onCleanup(() => {
12 | console.log('Unmounted Count');
13 | });
14 | return (
15 | {title}: {counter.value()}
16 | );
17 | }
18 |
19 | function Increment() {
20 | const counter = useCounter();
21 | onMount(() => {
22 | console.log('Mounted Increment');
23 | });
24 | onCleanup(() => {
25 | console.log('Unmounted Increment');
26 | });
27 | return (
28 |
29 | Increment
30 |
31 | );
32 | }
33 |
34 | function Decrement() {
35 | const counter = useCounter();
36 | onMount(() => {
37 | console.log('Mounted Decrement');
38 | });
39 | onCleanup(() => {
40 | console.log('Unmounted Decrement');
41 | });
42 | return (
43 |
44 | Decrement
45 |
46 | );
47 | }
48 |
49 | export default function App() {
50 | onMount(() => {
51 | console.log('Mounted App');
52 | });
53 | onCleanup(() => {
54 | console.log('Unmounted App');
55 | });
56 |
57 | return (
58 |
59 |
60 |
61 |
62 |
63 | );
64 | }
--------------------------------------------------------------------------------
/examples/vite-4/src/CounterContext.tsx:
--------------------------------------------------------------------------------
1 | import { createContext, createSignal, JSX, onCleanup, onMount, useContext } from "solid-js";
2 |
3 | interface CounterContext {
4 | value(): number;
5 | increment(): void;
6 | decrement(): void;
7 | }
8 |
9 |
10 | const CounterContext = createContext();
11 |
12 | export function useCounter() {
13 | const ctx = useContext(CounterContext);
14 | if (!ctx) {
15 | throw new Error('Missing CounterContext');
16 | }
17 | return ctx;
18 | }
19 |
20 | export function CounterProvider(props: { children: JSX.Element }) {
21 | const [value, setValue] = createSignal(0);
22 |
23 | function increment() {
24 | setValue((c) => c + 1);
25 | }
26 |
27 | function decrement() {
28 | setValue((c) => c - 1);
29 | }
30 | onMount(() => {
31 | console.log('Mounted CounterProvider');
32 | });
33 | onCleanup(() => {
34 | console.log('Unmounted CounterProvider');
35 | });
36 |
37 | return (
38 |
39 | Counter
40 | {props.children}
41 |
42 | );
43 | }
44 |
--------------------------------------------------------------------------------
/examples/vite-4/src/main.tsx:
--------------------------------------------------------------------------------
1 | import { render } from 'solid-js/web';
2 | import App from './App';
3 |
4 | const app = document.getElementById('app');
5 |
6 | if (app) {
7 | render(() => , app);
8 | }
--------------------------------------------------------------------------------
/examples/vite-4/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "module": "ESNext",
5 | "allowSyntheticDefaultImports": true,
6 | "esModuleInterop": true,
7 | "resolveJsonModule": true,
8 | "moduleResolution": "node",
9 | "jsx": "preserve",
10 | "jsxImportSource": "solid-js",
11 | "types": ["vite/client"],
12 | "baseUrl": ".",
13 | "paths": {
14 | "@/*": ["./pages/*"],
15 | "@@/*": ["./assets/*"]
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/examples/vite-4/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite';
2 | import solidPlugin from 'vite-plugin-solid';
3 |
4 | export default defineConfig({
5 | plugins: [
6 | solidPlugin(),
7 | ],
8 | });
--------------------------------------------------------------------------------
/examples/vite-5/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/examples/vite-5/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "example",
3 | "private": "true",
4 | "type": "module",
5 | "scripts": {
6 | "dev": "vite",
7 | "build": "vite build",
8 | "preview": "vite preview"
9 | },
10 | "devDependencies": {
11 | "vite": "^5.1.1",
12 | "vite-plugin-solid": "workspace:*"
13 | },
14 | "dependencies": {
15 | "solid-js": "catalog:"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/examples/vite-5/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { onCleanup, onMount } from "solid-js";
2 | import { CounterProvider, useCounter } from "./CounterContext";
3 |
4 | const title = 'Count';
5 |
6 | function Count() {
7 | const counter = useCounter();
8 | onMount(() => {
9 | console.log('Mounted Count');
10 | });
11 | onCleanup(() => {
12 | console.log('Unmounted Count');
13 | });
14 | return (
15 | {title}: {counter.value()}
16 | );
17 | }
18 |
19 | function Increment() {
20 | const counter = useCounter();
21 | onMount(() => {
22 | console.log('Mounted Increment');
23 | });
24 | onCleanup(() => {
25 | console.log('Unmounted Increment');
26 | });
27 | return (
28 |
29 | Increment
30 |
31 | );
32 | }
33 |
34 | function Decrement() {
35 | const counter = useCounter();
36 | onMount(() => {
37 | console.log('Mounted Decrement');
38 | });
39 | onCleanup(() => {
40 | console.log('Unmounted Decrement');
41 | });
42 | return (
43 |
44 | Decrement
45 |
46 | );
47 | }
48 |
49 | export default function App() {
50 | onMount(() => {
51 | console.log('Mounted App');
52 | });
53 | onCleanup(() => {
54 | console.log('Unmounted App');
55 | });
56 |
57 | return (
58 |
59 |
60 |
61 |
62 |
63 | );
64 | }
--------------------------------------------------------------------------------
/examples/vite-5/src/CounterContext.tsx:
--------------------------------------------------------------------------------
1 | import { createContext, createSignal, JSX, onCleanup, onMount, useContext } from "solid-js";
2 |
3 | interface CounterContext {
4 | value(): number;
5 | increment(): void;
6 | decrement(): void;
7 | }
8 |
9 |
10 | const CounterContext = createContext();
11 |
12 | export function useCounter() {
13 | const ctx = useContext(CounterContext);
14 | if (!ctx) {
15 | throw new Error('Missing CounterContext');
16 | }
17 | return ctx;
18 | }
19 |
20 | export function CounterProvider(props: { children: JSX.Element }) {
21 | const [value, setValue] = createSignal(0);
22 |
23 | function increment() {
24 | setValue((c) => c + 1);
25 | }
26 |
27 | function decrement() {
28 | setValue((c) => c - 1);
29 | }
30 | onMount(() => {
31 | console.log('Mounted CounterProvider');
32 | });
33 | onCleanup(() => {
34 | console.log('Unmounted CounterProvider');
35 | });
36 |
37 | return (
38 |
39 | Counter
40 | {props.children}
41 |
42 | );
43 | }
44 |
--------------------------------------------------------------------------------
/examples/vite-5/src/main.tsx:
--------------------------------------------------------------------------------
1 | import { render } from 'solid-js/web';
2 | import App from './App';
3 |
4 | const app = document.getElementById('app');
5 |
6 | if (app) {
7 | render(() => , app);
8 | }
--------------------------------------------------------------------------------
/examples/vite-5/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "module": "ESNext",
5 | "allowSyntheticDefaultImports": true,
6 | "esModuleInterop": true,
7 | "resolveJsonModule": true,
8 | "moduleResolution": "node",
9 | "jsx": "preserve",
10 | "jsxImportSource": "solid-js",
11 | "types": ["vite/client"],
12 | "baseUrl": ".",
13 | "paths": {
14 | "@/*": ["./pages/*"],
15 | "@@/*": ["./assets/*"]
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/examples/vite-5/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite';
2 | import solidPlugin from 'vite-plugin-solid';
3 |
4 | export default defineConfig({
5 | plugins: [
6 | solidPlugin(),
7 | ],
8 | });
--------------------------------------------------------------------------------
/examples/vite-6/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/examples/vite-6/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "example",
3 | "private": "true",
4 | "type": "module",
5 | "scripts": {
6 | "dev": "vite",
7 | "build": "vite build",
8 | "preview": "vite preview",
9 | "test": "vitest --browser.headless --run",
10 | "test-dev": "vitest"
11 | },
12 | "devDependencies": {
13 | "@solidjs/testing-library": "^0.8.10",
14 | "@testing-library/jest-dom": "^6.6.3",
15 | "@testing-library/user-event": "^14.6.1",
16 | "@vitest/browser": "^3.0.7",
17 | "playwright": "^1.50.1",
18 | "vite": "^6.2.0",
19 | "vite-plugin-solid": "workspace:*",
20 | "vitest": "^3.0.7"
21 | },
22 | "dependencies": {
23 | "solid-js": "catalog:"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/examples/vite-6/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { onCleanup, onMount } from "solid-js";
2 | import { CounterProvider, useCounter } from "./CounterContext";
3 |
4 | const title = 'Count';
5 |
6 | function Count() {
7 | const counter = useCounter();
8 | onMount(() => {
9 | console.log('Mounted Count');
10 | });
11 | onCleanup(() => {
12 | console.log('Unmounted Count');
13 | });
14 | return (
15 | {title}: {counter.value()}
16 | );
17 | }
18 |
19 | function Increment() {
20 | const counter = useCounter();
21 | onMount(() => {
22 | console.log('Mounted Increment');
23 | });
24 | onCleanup(() => {
25 | console.log('Unmounted Increment');
26 | });
27 | return (
28 |
29 | Increment
30 |
31 | );
32 | }
33 |
34 | function Decrement() {
35 | const counter = useCounter();
36 | onMount(() => {
37 | console.log('Mounted Decrement');
38 | });
39 | onCleanup(() => {
40 | console.log('Unmounted Decrement');
41 | });
42 | return (
43 |
44 | Decrement
45 |
46 | );
47 | }
48 |
49 | export default function App() {
50 | onMount(() => {
51 | console.log('Mounted App');
52 | });
53 | onCleanup(() => {
54 | console.log('Unmounted App');
55 | });
56 |
57 | return (
58 |
59 |
60 |
61 |
62 |
63 | );
64 | }
--------------------------------------------------------------------------------
/examples/vite-6/src/CounterContext.tsx:
--------------------------------------------------------------------------------
1 | import { createContext, createSignal, JSX, onCleanup, onMount, useContext } from "solid-js";
2 |
3 | interface CounterContext {
4 | value(): number;
5 | increment(): void;
6 | decrement(): void;
7 | }
8 |
9 |
10 | const CounterContext = createContext();
11 |
12 | export function useCounter() {
13 | const ctx = useContext(CounterContext);
14 | if (!ctx) {
15 | throw new Error('Missing CounterContext');
16 | }
17 | return ctx;
18 | }
19 |
20 | export function CounterProvider(props: { children: JSX.Element }) {
21 | const [value, setValue] = createSignal(0);
22 |
23 | function increment() {
24 | setValue((c) => c + 1);
25 | }
26 |
27 | function decrement() {
28 | setValue((c) => c - 1);
29 | }
30 | onMount(() => {
31 | console.log('Mounted CounterProvider');
32 | });
33 | onCleanup(() => {
34 | console.log('Unmounted CounterProvider');
35 | });
36 |
37 | return (
38 |
39 | Counter
40 | {props.children}
41 |
42 | );
43 | }
44 |
--------------------------------------------------------------------------------
/examples/vite-6/src/main.tsx:
--------------------------------------------------------------------------------
1 | import { render } from 'solid-js/web';
2 | import App from './App';
3 |
4 | const app = document.getElementById('app');
5 |
6 | if (app) {
7 | render(() => , app);
8 | }
--------------------------------------------------------------------------------
/examples/vite-6/tests/App.test.tsx:
--------------------------------------------------------------------------------
1 | ///
2 | import { render } from '@solidjs/testing-library';
3 | import { page } from '@vitest/browser/context';
4 | import { expect, test } from 'vitest';
5 |
6 | import App from '../src/App.jsx';
7 |
8 | test('App', async () => {
9 | const root = page.elementLocator(render(() => ).baseElement);
10 |
11 | const count = root.getByText('Count:');
12 | await expect.element(count).toHaveTextContent('Count: 0');
13 |
14 | const incrementButton = root.getByText('Increment');
15 | await incrementButton.click();
16 | await expect.element(count).toHaveTextContent('Count: 1');
17 |
18 | const decrementButton = root.getByText('Decrement');
19 | await decrementButton.click();
20 | await expect.element(count).toHaveTextContent('Count: 0');
21 | });
22 |
--------------------------------------------------------------------------------
/examples/vite-6/tests/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "types": [
5 | "@testing-library/jest-dom"
6 | ]
7 | },
8 | "include": [
9 | "**/*.ts",
10 | "**/*.tsx"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/examples/vite-6/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "module": "ESNext",
5 | "allowSyntheticDefaultImports": true,
6 | "esModuleInterop": true,
7 | "resolveJsonModule": true,
8 | "moduleResolution": "node",
9 | "jsx": "preserve",
10 | "jsxImportSource": "solid-js",
11 | "types": ["vite/client"],
12 | "baseUrl": ".",
13 | "paths": {
14 | "@/*": ["./pages/*"],
15 | "@@/*": ["./assets/*"]
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/examples/vite-6/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite';
2 | import solidPlugin from 'vite-plugin-solid';
3 |
4 | export default defineConfig({
5 | plugins: [
6 | solidPlugin(),
7 | ],
8 | });
--------------------------------------------------------------------------------
/examples/vite-6/vitest.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vitest/config';
2 | import solidPlugin from '../../src/index.js';
3 |
4 | export default defineConfig({
5 | plugins: [solidPlugin()],
6 | resolve: {
7 | conditions: ['development', 'browser'],
8 | },
9 | test: {
10 | environment: 'node',
11 | browser: {
12 | enabled: true,
13 | provider: 'playwright',
14 | instances: [{ browser: 'chromium' }],
15 | },
16 | },
17 | });
18 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vite-plugin-solid",
3 | "version": "2.11.6",
4 | "description": "solid-js integration plugin for vite 3/4/5/6",
5 | "type": "module",
6 | "files": [
7 | "dist"
8 | ],
9 | "main": "dist/cjs/index.cjs",
10 | "module": "dist/esm/index.mjs",
11 | "types": "dist/types/src/index.d.ts",
12 | "exports": {
13 | "types": "./dist/types/src/index.d.ts",
14 | "import": "./dist/esm/index.mjs",
15 | "node": "./dist/cjs/index.cjs",
16 | "require": "./dist/cjs/index.cjs",
17 | "default": "./dist/cjs/index.cjs"
18 | },
19 | "scripts": {
20 | "build": "rollup -c && tsc --emitDeclarationOnly",
21 | "dev": "rollup -c -w",
22 | "prepublishOnly": "pnpm build",
23 | "release": "pnpm build && changeset publish",
24 | "check": "package-check",
25 | "test": "node scripts/test-examples.ts"
26 | },
27 | "repository": {
28 | "type": "git",
29 | "url": "git+https://github.com/solidjs/vite-plugin-solid.git"
30 | },
31 | "keywords": [
32 | "vite",
33 | "vite plugin",
34 | "vitejs",
35 | "vitejs plugin",
36 | "vite-plugin",
37 | "solid"
38 | ],
39 | "author": "Alexandre Mouton-Brady ",
40 | "license": "MIT",
41 | "bugs": {
42 | "url": "https://github.com/solidjs/vite-plugin-solid/issues"
43 | },
44 | "homepage": "https://github.com/solidjs/vite-plugin-solid#readme",
45 | "dependencies": {
46 | "@babel/core": "^7.23.3",
47 | "@types/babel__core": "^7.20.4",
48 | "babel-preset-solid": "^1.8.4",
49 | "merge-anything": "^5.1.7",
50 | "solid-refresh": "^0.6.3",
51 | "vitefu": "^1.0.4"
52 | },
53 | "devDependencies": {
54 | "@babel/preset-env": "^7.23.3",
55 | "@babel/preset-typescript": "^7.23.3",
56 | "@changesets/cli": "^2.27.1",
57 | "@rollup/plugin-babel": "^6.0.4",
58 | "@rollup/plugin-commonjs": "^25.0.7",
59 | "@rollup/plugin-node-resolve": "^15.2.3",
60 | "@skypack/package-check": "^0.2.2",
61 | "@types/node": "^18.18.4",
62 | "cypress": "^14.0.0",
63 | "cypress-visual-regression": "^5.2.2",
64 | "cypress-vite": "^1.6.0",
65 | "cypress-wait-until": "^3.0.2",
66 | "prettier": "^3.1.0",
67 | "rollup": "^4.5.0",
68 | "rollup-plugin-cleaner": "^1.0.0",
69 | "solid-js": "^1.9.3",
70 | "typescript": "^5.2.2",
71 | "vite": "^6.0.0"
72 | },
73 | "peerDependencies": {
74 | "@testing-library/jest-dom": "^5.16.6 || ^5.17.0 || ^6.*",
75 | "solid-js": "^1.7.2",
76 | "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0"
77 | },
78 | "peerDependenciesMeta": {
79 | "@testing-library/jest-dom": {
80 | "optional": true
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/playground/assets/test.txt:
--------------------------------------------------------------------------------
1 | Hello world!!!
2 |
--------------------------------------------------------------------------------
/playground/components/counter.tsx:
--------------------------------------------------------------------------------
1 | import { Component, createSignal } from 'solid-js';
2 |
3 | const Counter: Component = () => {
4 | const style = { padding: '8px', color: 'white', background: 'black', borderRadius: '4px' };
5 |
6 | const [click, setClick] = createSignal(0);
7 | const increment = () => setClick((click) => click + 1);
8 | const decrement = () => setClick((click) => click - 1);
9 |
10 | return (
11 | <>
12 |
13 | -1
14 |
15 | {click()}
16 |
17 | +1
18 |
19 | >
20 | );
21 | };
22 |
23 | export default Counter;
24 |
--------------------------------------------------------------------------------
/playground/hello.mdx:
--------------------------------------------------------------------------------
1 | import Counter from './components/counter';
2 |
3 | # This is MDX woo
4 |
5 |
6 |
--------------------------------------------------------------------------------
/playground/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/playground/index.tsx:
--------------------------------------------------------------------------------
1 | import { createSignal, lazy } from 'solid-js';
2 | import { MetaProvider } from 'solid-meta';
3 | import { createApp } from 'solid-utils';
4 | import { Router, useRoutes, Link } from 'solid-app-router';
5 | import type { RouteDefinition } from 'solid-app-router';
6 |
7 | import test from '@@/test.txt?raw';
8 | import Home from '@/index';
9 | // @ts-ignore
10 | import Hello from './hello.mdx';
11 |
12 | const json = await fetch('https://jsonplaceholder.typicode.com/todos/1').then((response) =>
13 | response.json(),
14 | );
15 |
16 | console.log({ json });
17 |
18 | // This should log Hello World
19 | console.log(test);
20 |
21 | const routes: RouteDefinition[] = [
22 | {
23 | path: '/',
24 | component: Home,
25 | },
26 | {
27 | path: '/about',
28 | component: lazy(() => import('./pages/about')),
29 | },
30 | ];
31 |
32 | const App = () => {
33 | const [count, setCount] = createSignal(0);
34 | const Route = useRoutes(routes);
35 |
36 | return (
37 | <>
38 | Home
39 | About
40 |
41 |
42 | setCount(count() + 1)}>{count()}
43 |
44 | >
45 | );
46 | };
47 |
48 | createApp(App).use(MetaProvider).use(Router).mount('#app');
49 |
--------------------------------------------------------------------------------
/playground/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "playground",
3 | "description": "playground",
4 | "type": "module",
5 | "scripts": {
6 | "dev": "vite",
7 | "build": "vite build"
8 | },
9 | "license": "MIT",
10 | "devDependencies": {
11 | "@babel/core": "^7.18.6",
12 | "@babel/plugin-syntax-top-level-await": "^7.14.5",
13 | "@mdx-js/mdx": "^2.1.2",
14 | "vite": "^3.0.0",
15 | "vite-plugin-solid": "link:.."
16 | },
17 | "dependencies": {
18 | "solid-app-router": "^0.4.1",
19 | "solid-js": "^1.6.11",
20 | "solid-mdx": "^0.0.6",
21 | "solid-meta": "^0.27.5",
22 | "solid-utils": "^0.8.1"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/playground/pages/about.tsx:
--------------------------------------------------------------------------------
1 | export default function About() {
2 | return Hello About!! ;
3 | }
4 |
--------------------------------------------------------------------------------
/playground/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import { Accessor, createRenderEffect, createSignal } from 'solid-js';
2 |
3 | function model(
4 | element: HTMLInputElement,
5 | value: Accessor<[Accessor, (value: string) => void]>,
6 | ) {
7 | const [field, setField] = value();
8 | createRenderEffect(() => (element.value = field()));
9 | element.addEventListener('input', (e: Event & { currentTarget: HTMLInputElement }) =>
10 | setField(e.currentTarget.value),
11 | );
12 | }
13 |
14 | export default function Home() {
15 | const [name, setName] = createSignal('');
16 | return (
17 | <>
18 |
19 | Hello {name()}
20 | >
21 | );
22 | }
23 |
24 | declare module 'solid-js' {
25 | namespace JSX {
26 | interface Directives {
27 | model: [() => any, (v: any) => any];
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/playground/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.4
2 |
3 | specifiers:
4 | '@babel/core': ^7.18.6
5 | '@babel/plugin-syntax-top-level-await': ^7.14.5
6 | '@mdx-js/mdx': ^2.1.2
7 | solid-app-router: ^0.4.1
8 | solid-js: ^1.6.11
9 | solid-mdx: ^0.0.6
10 | solid-meta: ^0.27.5
11 | solid-utils: ^0.8.1
12 | vite: ^3.0.0
13 | vite-plugin-solid: link:..
14 |
15 | dependencies:
16 | solid-app-router: 0.4.1_solid-js@1.6.11
17 | solid-js: 1.6.11
18 | solid-mdx: 0.0.6_solid-js@1.6.11+vite@3.0.0
19 | solid-meta: 0.27.5_solid-js@1.6.11
20 | solid-utils: 0.8.1_solid-js@1.6.11
21 |
22 | devDependencies:
23 | '@babel/core': 7.18.6
24 | '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.18.6
25 | '@mdx-js/mdx': 2.1.2
26 | vite: 3.0.0
27 | vite-plugin-solid: link:..
28 |
29 | packages:
30 |
31 | /@ampproject/remapping/2.2.0:
32 | resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==}
33 | engines: {node: '>=6.0.0'}
34 | dependencies:
35 | '@jridgewell/gen-mapping': 0.1.1
36 | '@jridgewell/trace-mapping': 0.3.14
37 | dev: true
38 |
39 | /@babel/code-frame/7.18.6:
40 | resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==}
41 | engines: {node: '>=6.9.0'}
42 | dependencies:
43 | '@babel/highlight': 7.18.6
44 | dev: true
45 |
46 | /@babel/code-frame/7.22.13:
47 | resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==}
48 | engines: {node: '>=6.9.0'}
49 | dependencies:
50 | '@babel/highlight': 7.22.20
51 | chalk: 2.4.2
52 | dev: true
53 |
54 | /@babel/compat-data/7.18.8:
55 | resolution: {integrity: sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==}
56 | engines: {node: '>=6.9.0'}
57 | dev: true
58 |
59 | /@babel/core/7.18.6:
60 | resolution: {integrity: sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==}
61 | engines: {node: '>=6.9.0'}
62 | dependencies:
63 | '@ampproject/remapping': 2.2.0
64 | '@babel/code-frame': 7.18.6
65 | '@babel/generator': 7.18.7
66 | '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6
67 | '@babel/helper-module-transforms': 7.18.8
68 | '@babel/helpers': 7.18.6
69 | '@babel/parser': 7.18.8
70 | '@babel/template': 7.18.6
71 | '@babel/traverse': 7.23.2
72 | '@babel/types': 7.18.8
73 | convert-source-map: 1.8.0
74 | debug: 4.3.4
75 | gensync: 1.0.0-beta.2
76 | json5: 2.2.3
77 | semver: 6.3.0
78 | transitivePeerDependencies:
79 | - supports-color
80 | dev: true
81 |
82 | /@babel/generator/7.18.7:
83 | resolution: {integrity: sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==}
84 | engines: {node: '>=6.9.0'}
85 | dependencies:
86 | '@babel/types': 7.18.8
87 | '@jridgewell/gen-mapping': 0.3.2
88 | jsesc: 2.5.2
89 | dev: true
90 |
91 | /@babel/generator/7.23.0:
92 | resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==}
93 | engines: {node: '>=6.9.0'}
94 | dependencies:
95 | '@babel/types': 7.23.0
96 | '@jridgewell/gen-mapping': 0.3.2
97 | '@jridgewell/trace-mapping': 0.3.20
98 | jsesc: 2.5.2
99 | dev: true
100 |
101 | /@babel/helper-compilation-targets/7.18.6_@babel+core@7.18.6:
102 | resolution: {integrity: sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg==}
103 | engines: {node: '>=6.9.0'}
104 | peerDependencies:
105 | '@babel/core': ^7.0.0
106 | dependencies:
107 | '@babel/compat-data': 7.18.8
108 | '@babel/core': 7.18.6
109 | '@babel/helper-validator-option': 7.18.6
110 | browserslist: 4.21.2
111 | semver: 6.3.0
112 | dev: true
113 |
114 | /@babel/helper-environment-visitor/7.18.6:
115 | resolution: {integrity: sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q==}
116 | engines: {node: '>=6.9.0'}
117 | dev: true
118 |
119 | /@babel/helper-environment-visitor/7.22.20:
120 | resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
121 | engines: {node: '>=6.9.0'}
122 | dev: true
123 |
124 | /@babel/helper-function-name/7.23.0:
125 | resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
126 | engines: {node: '>=6.9.0'}
127 | dependencies:
128 | '@babel/template': 7.22.15
129 | '@babel/types': 7.23.0
130 | dev: true
131 |
132 | /@babel/helper-hoist-variables/7.22.5:
133 | resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
134 | engines: {node: '>=6.9.0'}
135 | dependencies:
136 | '@babel/types': 7.23.0
137 | dev: true
138 |
139 | /@babel/helper-module-imports/7.18.6:
140 | resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==}
141 | engines: {node: '>=6.9.0'}
142 | dependencies:
143 | '@babel/types': 7.23.0
144 | dev: true
145 |
146 | /@babel/helper-module-transforms/7.18.8:
147 | resolution: {integrity: sha512-che3jvZwIcZxrwh63VfnFTUzcAM9v/lznYkkRxIBGMPt1SudOKHAEec0SIRCfiuIzTcF7VGj/CaTT6gY4eWxvA==}
148 | engines: {node: '>=6.9.0'}
149 | dependencies:
150 | '@babel/helper-environment-visitor': 7.18.6
151 | '@babel/helper-module-imports': 7.18.6
152 | '@babel/helper-simple-access': 7.18.6
153 | '@babel/helper-split-export-declaration': 7.18.6
154 | '@babel/helper-validator-identifier': 7.18.6
155 | '@babel/template': 7.18.6
156 | '@babel/traverse': 7.23.2
157 | '@babel/types': 7.18.8
158 | transitivePeerDependencies:
159 | - supports-color
160 | dev: true
161 |
162 | /@babel/helper-plugin-utils/7.18.6:
163 | resolution: {integrity: sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg==}
164 | engines: {node: '>=6.9.0'}
165 | dev: true
166 |
167 | /@babel/helper-simple-access/7.18.6:
168 | resolution: {integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==}
169 | engines: {node: '>=6.9.0'}
170 | dependencies:
171 | '@babel/types': 7.23.0
172 | dev: true
173 |
174 | /@babel/helper-split-export-declaration/7.18.6:
175 | resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==}
176 | engines: {node: '>=6.9.0'}
177 | dependencies:
178 | '@babel/types': 7.23.0
179 | dev: true
180 |
181 | /@babel/helper-split-export-declaration/7.22.6:
182 | resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
183 | engines: {node: '>=6.9.0'}
184 | dependencies:
185 | '@babel/types': 7.23.0
186 | dev: true
187 |
188 | /@babel/helper-string-parser/7.22.5:
189 | resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
190 | engines: {node: '>=6.9.0'}
191 | dev: true
192 |
193 | /@babel/helper-validator-identifier/7.18.6:
194 | resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==}
195 | engines: {node: '>=6.9.0'}
196 | dev: true
197 |
198 | /@babel/helper-validator-identifier/7.22.20:
199 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
200 | engines: {node: '>=6.9.0'}
201 | dev: true
202 |
203 | /@babel/helper-validator-option/7.18.6:
204 | resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==}
205 | engines: {node: '>=6.9.0'}
206 | dev: true
207 |
208 | /@babel/helpers/7.18.6:
209 | resolution: {integrity: sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ==}
210 | engines: {node: '>=6.9.0'}
211 | dependencies:
212 | '@babel/template': 7.18.6
213 | '@babel/traverse': 7.23.2
214 | '@babel/types': 7.18.8
215 | transitivePeerDependencies:
216 | - supports-color
217 | dev: true
218 |
219 | /@babel/highlight/7.18.6:
220 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
221 | engines: {node: '>=6.9.0'}
222 | dependencies:
223 | '@babel/helper-validator-identifier': 7.18.6
224 | chalk: 2.4.2
225 | js-tokens: 4.0.0
226 | dev: true
227 |
228 | /@babel/highlight/7.22.20:
229 | resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==}
230 | engines: {node: '>=6.9.0'}
231 | dependencies:
232 | '@babel/helper-validator-identifier': 7.22.20
233 | chalk: 2.4.2
234 | js-tokens: 4.0.0
235 | dev: true
236 |
237 | /@babel/parser/7.18.8:
238 | resolution: {integrity: sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA==}
239 | engines: {node: '>=6.0.0'}
240 | hasBin: true
241 | dependencies:
242 | '@babel/types': 7.18.8
243 | dev: true
244 |
245 | /@babel/parser/7.23.0:
246 | resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==}
247 | engines: {node: '>=6.0.0'}
248 | hasBin: true
249 | dependencies:
250 | '@babel/types': 7.23.0
251 | dev: true
252 |
253 | /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.18.6:
254 | resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
255 | engines: {node: '>=6.9.0'}
256 | peerDependencies:
257 | '@babel/core': ^7.0.0-0
258 | dependencies:
259 | '@babel/core': 7.18.6
260 | '@babel/helper-plugin-utils': 7.18.6
261 | dev: true
262 |
263 | /@babel/template/7.18.6:
264 | resolution: {integrity: sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==}
265 | engines: {node: '>=6.9.0'}
266 | dependencies:
267 | '@babel/code-frame': 7.18.6
268 | '@babel/parser': 7.18.8
269 | '@babel/types': 7.18.8
270 | dev: true
271 |
272 | /@babel/template/7.22.15:
273 | resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
274 | engines: {node: '>=6.9.0'}
275 | dependencies:
276 | '@babel/code-frame': 7.22.13
277 | '@babel/parser': 7.23.0
278 | '@babel/types': 7.23.0
279 | dev: true
280 |
281 | /@babel/traverse/7.23.2:
282 | resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==}
283 | engines: {node: '>=6.9.0'}
284 | dependencies:
285 | '@babel/code-frame': 7.22.13
286 | '@babel/generator': 7.23.0
287 | '@babel/helper-environment-visitor': 7.22.20
288 | '@babel/helper-function-name': 7.23.0
289 | '@babel/helper-hoist-variables': 7.22.5
290 | '@babel/helper-split-export-declaration': 7.22.6
291 | '@babel/parser': 7.23.0
292 | '@babel/types': 7.23.0
293 | debug: 4.3.4
294 | globals: 11.12.0
295 | transitivePeerDependencies:
296 | - supports-color
297 | dev: true
298 |
299 | /@babel/types/7.18.8:
300 | resolution: {integrity: sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw==}
301 | engines: {node: '>=6.9.0'}
302 | dependencies:
303 | '@babel/helper-validator-identifier': 7.18.6
304 | to-fast-properties: 2.0.0
305 | dev: true
306 |
307 | /@babel/types/7.23.0:
308 | resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==}
309 | engines: {node: '>=6.9.0'}
310 | dependencies:
311 | '@babel/helper-string-parser': 7.22.5
312 | '@babel/helper-validator-identifier': 7.22.20
313 | to-fast-properties: 2.0.0
314 | dev: true
315 |
316 | /@jridgewell/gen-mapping/0.1.1:
317 | resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
318 | engines: {node: '>=6.0.0'}
319 | dependencies:
320 | '@jridgewell/set-array': 1.1.2
321 | '@jridgewell/sourcemap-codec': 1.4.14
322 | dev: true
323 |
324 | /@jridgewell/gen-mapping/0.3.2:
325 | resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==}
326 | engines: {node: '>=6.0.0'}
327 | dependencies:
328 | '@jridgewell/set-array': 1.1.2
329 | '@jridgewell/sourcemap-codec': 1.4.14
330 | '@jridgewell/trace-mapping': 0.3.14
331 | dev: true
332 |
333 | /@jridgewell/resolve-uri/3.1.0:
334 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
335 | engines: {node: '>=6.0.0'}
336 | dev: true
337 |
338 | /@jridgewell/set-array/1.1.2:
339 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
340 | engines: {node: '>=6.0.0'}
341 | dev: true
342 |
343 | /@jridgewell/sourcemap-codec/1.4.14:
344 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
345 | dev: true
346 |
347 | /@jridgewell/trace-mapping/0.3.14:
348 | resolution: {integrity: sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==}
349 | dependencies:
350 | '@jridgewell/resolve-uri': 3.1.0
351 | '@jridgewell/sourcemap-codec': 1.4.14
352 | dev: true
353 |
354 | /@jridgewell/trace-mapping/0.3.20:
355 | resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
356 | dependencies:
357 | '@jridgewell/resolve-uri': 3.1.0
358 | '@jridgewell/sourcemap-codec': 1.4.14
359 | dev: true
360 |
361 | /@mdx-js/mdx/2.1.2:
362 | resolution: {integrity: sha512-ASN1GUH0gXsgJ2UD/Td7FzJo1SwFkkQ5V1i9at5o/ROra7brkyMcBsotsOWJWRzmXZaLw2uXWn4aN8B3PMNFMA==}
363 | dependencies:
364 | '@types/estree-jsx': 0.0.1
365 | '@types/mdx': 2.0.2
366 | astring: 1.8.3
367 | estree-util-build-jsx: 2.1.0
368 | estree-util-is-identifier-name: 2.0.1
369 | estree-walker: 3.0.1
370 | hast-util-to-estree: 2.0.2
371 | markdown-extensions: 1.1.1
372 | periscopic: 3.0.4
373 | remark-mdx: 2.1.2
374 | remark-parse: 10.0.1
375 | remark-rehype: 10.1.0
376 | unified: 10.1.2
377 | unist-util-position-from-estree: 1.1.1
378 | unist-util-stringify-position: 3.0.2
379 | unist-util-visit: 4.1.0
380 | vfile: 5.3.4
381 | transitivePeerDependencies:
382 | - supports-color
383 | dev: true
384 |
385 | /@types/acorn/4.0.6:
386 | resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
387 | dependencies:
388 | '@types/estree': 1.0.0
389 | dev: true
390 |
391 | /@types/debug/4.1.7:
392 | resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==}
393 | dependencies:
394 | '@types/ms': 0.7.31
395 | dev: true
396 |
397 | /@types/estree-jsx/0.0.1:
398 | resolution: {integrity: sha512-gcLAYiMfQklDCPjQegGn0TBAn9it05ISEsEhlKQUddIk7o2XDokOcTN7HBO8tznM0D9dGezvHEfRZBfZf6me0A==}
399 | dependencies:
400 | '@types/estree': 1.0.0
401 | dev: true
402 |
403 | /@types/estree/0.0.51:
404 | resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==}
405 | dev: true
406 |
407 | /@types/estree/1.0.0:
408 | resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==}
409 | dev: true
410 |
411 | /@types/hast/2.3.4:
412 | resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==}
413 | dependencies:
414 | '@types/unist': 2.0.6
415 | dev: true
416 |
417 | /@types/mdast/3.0.10:
418 | resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==}
419 | dependencies:
420 | '@types/unist': 2.0.6
421 | dev: true
422 |
423 | /@types/mdurl/1.0.2:
424 | resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==}
425 | dev: true
426 |
427 | /@types/mdx/2.0.2:
428 | resolution: {integrity: sha512-mJGfgj4aWpiKb8C0nnJJchs1sHBHn0HugkVfqqyQi7Wn6mBRksLeQsPOFvih/Pu8L1vlDzfe/LidhVHBeUk3aQ==}
429 | dev: true
430 |
431 | /@types/ms/0.7.31:
432 | resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==}
433 | dev: true
434 |
435 | /@types/unist/2.0.6:
436 | resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==}
437 | dev: true
438 |
439 | /acorn-jsx/5.3.2_acorn@8.7.1:
440 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
441 | peerDependencies:
442 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
443 | dependencies:
444 | acorn: 8.7.1
445 | dev: true
446 |
447 | /acorn/8.7.1:
448 | resolution: {integrity: sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==}
449 | engines: {node: '>=0.4.0'}
450 | hasBin: true
451 | dev: true
452 |
453 | /ansi-styles/3.2.1:
454 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
455 | engines: {node: '>=4'}
456 | dependencies:
457 | color-convert: 1.9.3
458 | dev: true
459 |
460 | /astring/1.8.3:
461 | resolution: {integrity: sha512-sRpyiNrx2dEYIMmUXprS8nlpRg2Drs8m9ElX9vVEXaCB4XEAJhKfs7IcX0IwShjuOAjLR6wzIrgoptz1n19i1A==}
462 | hasBin: true
463 | dev: true
464 |
465 | /bail/2.0.2:
466 | resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
467 | dev: true
468 |
469 | /browserslist/4.21.2:
470 | resolution: {integrity: sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA==}
471 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
472 | hasBin: true
473 | dependencies:
474 | caniuse-lite: 1.0.30001366
475 | electron-to-chromium: 1.4.189
476 | node-releases: 2.0.6
477 | update-browserslist-db: 1.0.4_browserslist@4.21.2
478 | dev: true
479 |
480 | /caniuse-lite/1.0.30001366:
481 | resolution: {integrity: sha512-yy7XLWCubDobokgzudpkKux8e0UOOnLHE6mlNJBzT3lZJz6s5atSEzjoL+fsCPkI0G8MP5uVdDx1ur/fXEWkZA==}
482 | dev: true
483 |
484 | /ccount/2.0.1:
485 | resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
486 | dev: true
487 |
488 | /chalk/2.4.2:
489 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
490 | engines: {node: '>=4'}
491 | dependencies:
492 | ansi-styles: 3.2.1
493 | escape-string-regexp: 1.0.5
494 | supports-color: 5.5.0
495 | dev: true
496 |
497 | /character-entities-html4/2.1.0:
498 | resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
499 | dev: true
500 |
501 | /character-entities-legacy/3.0.0:
502 | resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
503 | dev: true
504 |
505 | /character-entities/2.0.2:
506 | resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
507 | dev: true
508 |
509 | /character-reference-invalid/2.0.1:
510 | resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
511 | dev: true
512 |
513 | /color-convert/1.9.3:
514 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
515 | dependencies:
516 | color-name: 1.1.3
517 | dev: true
518 |
519 | /color-name/1.1.3:
520 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
521 | dev: true
522 |
523 | /comma-separated-tokens/2.0.2:
524 | resolution: {integrity: sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==}
525 | dev: true
526 |
527 | /convert-source-map/1.8.0:
528 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==}
529 | dependencies:
530 | safe-buffer: 5.1.2
531 | dev: true
532 |
533 | /csstype/3.1.1:
534 | resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==}
535 | dev: false
536 |
537 | /debug/4.3.4:
538 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
539 | engines: {node: '>=6.0'}
540 | peerDependencies:
541 | supports-color: '*'
542 | peerDependenciesMeta:
543 | supports-color:
544 | optional: true
545 | dependencies:
546 | ms: 2.1.2
547 | dev: true
548 |
549 | /decode-named-character-reference/1.0.2:
550 | resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
551 | dependencies:
552 | character-entities: 2.0.2
553 | dev: true
554 |
555 | /dequal/2.0.3:
556 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
557 | engines: {node: '>=6'}
558 | dev: true
559 |
560 | /diff/5.1.0:
561 | resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==}
562 | engines: {node: '>=0.3.1'}
563 | dev: true
564 |
565 | /electron-to-chromium/1.4.189:
566 | resolution: {integrity: sha512-dQ6Zn4ll2NofGtxPXaDfY2laIa6NyCQdqXYHdwH90GJQW0LpJJib0ZU/ERtbb0XkBEmUD2eJtagbOie3pdMiPg==}
567 | dev: true
568 |
569 | /esbuild-android-64/0.14.49:
570 | resolution: {integrity: sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==}
571 | engines: {node: '>=12'}
572 | cpu: [x64]
573 | os: [android]
574 | requiresBuild: true
575 | optional: true
576 |
577 | /esbuild-android-arm64/0.14.49:
578 | resolution: {integrity: sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==}
579 | engines: {node: '>=12'}
580 | cpu: [arm64]
581 | os: [android]
582 | requiresBuild: true
583 | optional: true
584 |
585 | /esbuild-darwin-64/0.14.49:
586 | resolution: {integrity: sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==}
587 | engines: {node: '>=12'}
588 | cpu: [x64]
589 | os: [darwin]
590 | requiresBuild: true
591 | optional: true
592 |
593 | /esbuild-darwin-arm64/0.14.49:
594 | resolution: {integrity: sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==}
595 | engines: {node: '>=12'}
596 | cpu: [arm64]
597 | os: [darwin]
598 | requiresBuild: true
599 | optional: true
600 |
601 | /esbuild-freebsd-64/0.14.49:
602 | resolution: {integrity: sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==}
603 | engines: {node: '>=12'}
604 | cpu: [x64]
605 | os: [freebsd]
606 | requiresBuild: true
607 | optional: true
608 |
609 | /esbuild-freebsd-arm64/0.14.49:
610 | resolution: {integrity: sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==}
611 | engines: {node: '>=12'}
612 | cpu: [arm64]
613 | os: [freebsd]
614 | requiresBuild: true
615 | optional: true
616 |
617 | /esbuild-linux-32/0.14.49:
618 | resolution: {integrity: sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==}
619 | engines: {node: '>=12'}
620 | cpu: [ia32]
621 | os: [linux]
622 | requiresBuild: true
623 | optional: true
624 |
625 | /esbuild-linux-64/0.14.49:
626 | resolution: {integrity: sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==}
627 | engines: {node: '>=12'}
628 | cpu: [x64]
629 | os: [linux]
630 | requiresBuild: true
631 | optional: true
632 |
633 | /esbuild-linux-arm/0.14.49:
634 | resolution: {integrity: sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==}
635 | engines: {node: '>=12'}
636 | cpu: [arm]
637 | os: [linux]
638 | requiresBuild: true
639 | optional: true
640 |
641 | /esbuild-linux-arm64/0.14.49:
642 | resolution: {integrity: sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==}
643 | engines: {node: '>=12'}
644 | cpu: [arm64]
645 | os: [linux]
646 | requiresBuild: true
647 | optional: true
648 |
649 | /esbuild-linux-mips64le/0.14.49:
650 | resolution: {integrity: sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==}
651 | engines: {node: '>=12'}
652 | cpu: [mips64el]
653 | os: [linux]
654 | requiresBuild: true
655 | optional: true
656 |
657 | /esbuild-linux-ppc64le/0.14.49:
658 | resolution: {integrity: sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==}
659 | engines: {node: '>=12'}
660 | cpu: [ppc64]
661 | os: [linux]
662 | requiresBuild: true
663 | optional: true
664 |
665 | /esbuild-linux-riscv64/0.14.49:
666 | resolution: {integrity: sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==}
667 | engines: {node: '>=12'}
668 | cpu: [riscv64]
669 | os: [linux]
670 | requiresBuild: true
671 | optional: true
672 |
673 | /esbuild-linux-s390x/0.14.49:
674 | resolution: {integrity: sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==}
675 | engines: {node: '>=12'}
676 | cpu: [s390x]
677 | os: [linux]
678 | requiresBuild: true
679 | optional: true
680 |
681 | /esbuild-netbsd-64/0.14.49:
682 | resolution: {integrity: sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==}
683 | engines: {node: '>=12'}
684 | cpu: [x64]
685 | os: [netbsd]
686 | requiresBuild: true
687 | optional: true
688 |
689 | /esbuild-openbsd-64/0.14.49:
690 | resolution: {integrity: sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==}
691 | engines: {node: '>=12'}
692 | cpu: [x64]
693 | os: [openbsd]
694 | requiresBuild: true
695 | optional: true
696 |
697 | /esbuild-sunos-64/0.14.49:
698 | resolution: {integrity: sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==}
699 | engines: {node: '>=12'}
700 | cpu: [x64]
701 | os: [sunos]
702 | requiresBuild: true
703 | optional: true
704 |
705 | /esbuild-windows-32/0.14.49:
706 | resolution: {integrity: sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==}
707 | engines: {node: '>=12'}
708 | cpu: [ia32]
709 | os: [win32]
710 | requiresBuild: true
711 | optional: true
712 |
713 | /esbuild-windows-64/0.14.49:
714 | resolution: {integrity: sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==}
715 | engines: {node: '>=12'}
716 | cpu: [x64]
717 | os: [win32]
718 | requiresBuild: true
719 | optional: true
720 |
721 | /esbuild-windows-arm64/0.14.49:
722 | resolution: {integrity: sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==}
723 | engines: {node: '>=12'}
724 | cpu: [arm64]
725 | os: [win32]
726 | requiresBuild: true
727 | optional: true
728 |
729 | /esbuild/0.14.49:
730 | resolution: {integrity: sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==}
731 | engines: {node: '>=12'}
732 | hasBin: true
733 | requiresBuild: true
734 | optionalDependencies:
735 | esbuild-android-64: 0.14.49
736 | esbuild-android-arm64: 0.14.49
737 | esbuild-darwin-64: 0.14.49
738 | esbuild-darwin-arm64: 0.14.49
739 | esbuild-freebsd-64: 0.14.49
740 | esbuild-freebsd-arm64: 0.14.49
741 | esbuild-linux-32: 0.14.49
742 | esbuild-linux-64: 0.14.49
743 | esbuild-linux-arm: 0.14.49
744 | esbuild-linux-arm64: 0.14.49
745 | esbuild-linux-mips64le: 0.14.49
746 | esbuild-linux-ppc64le: 0.14.49
747 | esbuild-linux-riscv64: 0.14.49
748 | esbuild-linux-s390x: 0.14.49
749 | esbuild-netbsd-64: 0.14.49
750 | esbuild-openbsd-64: 0.14.49
751 | esbuild-sunos-64: 0.14.49
752 | esbuild-windows-32: 0.14.49
753 | esbuild-windows-64: 0.14.49
754 | esbuild-windows-arm64: 0.14.49
755 |
756 | /escalade/3.1.1:
757 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
758 | engines: {node: '>=6'}
759 | dev: true
760 |
761 | /escape-string-regexp/1.0.5:
762 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
763 | engines: {node: '>=0.8.0'}
764 | dev: true
765 |
766 | /estree-util-attach-comments/2.0.1:
767 | resolution: {integrity: sha512-1wTBNndwMIsnvnuxjFIaYQz0M7PsCvcgP0YD7/dU8xWh1FuHk+O6pYpT4sLa5THY/CywJvdIdgw4uhozujga/g==}
768 | dependencies:
769 | '@types/estree': 0.0.51
770 | dev: true
771 |
772 | /estree-util-build-jsx/2.1.0:
773 | resolution: {integrity: sha512-gsBGfsY6LOJUIDwmMkTOcgCX+3r/LUjRBccgHMSW55PHjhZsV13RmPl/iwpAvW8KcQqoN9P0FEFWTSS2Zc5bGA==}
774 | dependencies:
775 | '@types/estree-jsx': 0.0.1
776 | estree-util-is-identifier-name: 2.0.1
777 | estree-walker: 3.0.1
778 | dev: true
779 |
780 | /estree-util-is-identifier-name/2.0.1:
781 | resolution: {integrity: sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==}
782 | dev: true
783 |
784 | /estree-util-visit/1.1.0:
785 | resolution: {integrity: sha512-3lXJ4Us9j8TUif9cWcQy81t9p5OLasnDuuhrFiqb+XstmKC1d1LmrQWYsY49/9URcfHE64mPypDBaNK9NwWDPQ==}
786 | dependencies:
787 | '@types/estree-jsx': 0.0.1
788 | '@types/unist': 2.0.6
789 | dev: true
790 |
791 | /estree-walker/3.0.1:
792 | resolution: {integrity: sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==}
793 | dev: true
794 |
795 | /extend/3.0.2:
796 | resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
797 | dev: true
798 |
799 | /fsevents/2.3.2:
800 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
801 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
802 | os: [darwin]
803 | requiresBuild: true
804 | optional: true
805 |
806 | /function-bind/1.1.1:
807 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
808 |
809 | /gensync/1.0.0-beta.2:
810 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
811 | engines: {node: '>=6.9.0'}
812 | dev: true
813 |
814 | /globals/11.12.0:
815 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
816 | engines: {node: '>=4'}
817 | dev: true
818 |
819 | /has-flag/3.0.0:
820 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
821 | engines: {node: '>=4'}
822 | dev: true
823 |
824 | /has/1.0.3:
825 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
826 | engines: {node: '>= 0.4.0'}
827 | dependencies:
828 | function-bind: 1.1.1
829 |
830 | /hast-util-to-estree/2.0.2:
831 | resolution: {integrity: sha512-UQrZVeBj6A9od0lpFvqHKNSH9zvDrNoyWKbveu1a2oSCXEDUI+3bnd6BoiQLPnLrcXXn/jzJ6y9hmJTTlvf8lQ==}
832 | dependencies:
833 | '@types/estree-jsx': 0.0.1
834 | '@types/hast': 2.3.4
835 | '@types/unist': 2.0.6
836 | comma-separated-tokens: 2.0.2
837 | estree-util-attach-comments: 2.0.1
838 | estree-util-is-identifier-name: 2.0.1
839 | hast-util-whitespace: 2.0.0
840 | mdast-util-mdx-expression: 1.2.1
841 | mdast-util-mdxjs-esm: 1.2.1
842 | property-information: 6.1.1
843 | space-separated-tokens: 2.0.1
844 | style-to-object: 0.3.0
845 | unist-util-position: 4.0.3
846 | zwitch: 2.0.2
847 | transitivePeerDependencies:
848 | - supports-color
849 | dev: true
850 |
851 | /hast-util-whitespace/2.0.0:
852 | resolution: {integrity: sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==}
853 | dev: true
854 |
855 | /inline-style-parser/0.1.1:
856 | resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
857 | dev: true
858 |
859 | /is-alphabetical/2.0.1:
860 | resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
861 | dev: true
862 |
863 | /is-alphanumerical/2.0.1:
864 | resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
865 | dependencies:
866 | is-alphabetical: 2.0.1
867 | is-decimal: 2.0.1
868 | dev: true
869 |
870 | /is-buffer/2.0.5:
871 | resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
872 | engines: {node: '>=4'}
873 | dev: true
874 |
875 | /is-core-module/2.9.0:
876 | resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==}
877 | dependencies:
878 | has: 1.0.3
879 |
880 | /is-decimal/2.0.1:
881 | resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
882 | dev: true
883 |
884 | /is-hexadecimal/2.0.1:
885 | resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
886 | dev: true
887 |
888 | /is-plain-obj/4.1.0:
889 | resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
890 | engines: {node: '>=12'}
891 | dev: true
892 |
893 | /is-reference/3.0.0:
894 | resolution: {integrity: sha512-Eo1W3wUoHWoCoVM4GVl/a+K0IgiqE5aIo4kJABFyMum1ZORlPkC+UC357sSQUL5w5QCE5kCC9upl75b7+7CY/Q==}
895 | dependencies:
896 | '@types/estree': 1.0.0
897 | dev: true
898 |
899 | /js-tokens/4.0.0:
900 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
901 | dev: true
902 |
903 | /jsesc/2.5.2:
904 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
905 | engines: {node: '>=4'}
906 | hasBin: true
907 | dev: true
908 |
909 | /json5/2.2.3:
910 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
911 | engines: {node: '>=6'}
912 | hasBin: true
913 | dev: true
914 |
915 | /kleur/4.1.5:
916 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
917 | engines: {node: '>=6'}
918 | dev: true
919 |
920 | /longest-streak/3.0.1:
921 | resolution: {integrity: sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg==}
922 | dev: true
923 |
924 | /markdown-extensions/1.1.1:
925 | resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==}
926 | engines: {node: '>=0.10.0'}
927 | dev: true
928 |
929 | /mdast-util-definitions/5.1.1:
930 | resolution: {integrity: sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==}
931 | dependencies:
932 | '@types/mdast': 3.0.10
933 | '@types/unist': 2.0.6
934 | unist-util-visit: 4.1.0
935 | dev: true
936 |
937 | /mdast-util-from-markdown/1.2.0:
938 | resolution: {integrity: sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==}
939 | dependencies:
940 | '@types/mdast': 3.0.10
941 | '@types/unist': 2.0.6
942 | decode-named-character-reference: 1.0.2
943 | mdast-util-to-string: 3.1.0
944 | micromark: 3.0.10
945 | micromark-util-decode-numeric-character-reference: 1.0.0
946 | micromark-util-decode-string: 1.0.2
947 | micromark-util-normalize-identifier: 1.0.0
948 | micromark-util-symbol: 1.0.1
949 | micromark-util-types: 1.0.2
950 | unist-util-stringify-position: 3.0.2
951 | uvu: 0.5.6
952 | transitivePeerDependencies:
953 | - supports-color
954 | dev: true
955 |
956 | /mdast-util-mdx-expression/1.2.1:
957 | resolution: {integrity: sha512-BtQwyalaq6jRjx0pagtuAwGrmzL1yInrfA4EJv7GOoiPOUbR4gr6h65I+G3WTh1/Cag2Eda4ip400Ch6CFmWiA==}
958 | dependencies:
959 | '@types/estree-jsx': 0.0.1
960 | '@types/hast': 2.3.4
961 | '@types/mdast': 3.0.10
962 | mdast-util-from-markdown: 1.2.0
963 | mdast-util-to-markdown: 1.3.0
964 | transitivePeerDependencies:
965 | - supports-color
966 | dev: true
967 |
968 | /mdast-util-mdx-jsx/2.0.2:
969 | resolution: {integrity: sha512-Bs1HnFprSJW0al1h49ZQBaLfwROFEY3SLK98xWsA60fVhe6zEbPS8gVYxkuT07TeEZWIbkjyFYXkZ34ARxfYNQ==}
970 | dependencies:
971 | '@types/estree-jsx': 0.0.1
972 | '@types/hast': 2.3.4
973 | '@types/mdast': 3.0.10
974 | ccount: 2.0.1
975 | mdast-util-to-markdown: 1.3.0
976 | parse-entities: 4.0.0
977 | stringify-entities: 4.0.3
978 | unist-util-remove-position: 4.0.1
979 | unist-util-stringify-position: 3.0.2
980 | vfile-message: 3.1.2
981 | dev: true
982 |
983 | /mdast-util-mdx/2.0.0:
984 | resolution: {integrity: sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw==}
985 | dependencies:
986 | mdast-util-mdx-expression: 1.2.1
987 | mdast-util-mdx-jsx: 2.0.2
988 | mdast-util-mdxjs-esm: 1.2.1
989 | transitivePeerDependencies:
990 | - supports-color
991 | dev: true
992 |
993 | /mdast-util-mdxjs-esm/1.2.1:
994 | resolution: {integrity: sha512-3zNmTy1V1OgIxoV97PTkAl+tLriilS8d4CJwPV9LvBmWra5nnRriN8rpGSGGIM7NLoHfsUfvjcPoNIzl77F8Kw==}
995 | dependencies:
996 | '@types/estree-jsx': 0.0.1
997 | '@types/hast': 2.3.4
998 | '@types/mdast': 3.0.10
999 | mdast-util-from-markdown: 1.2.0
1000 | mdast-util-to-markdown: 1.3.0
1001 | transitivePeerDependencies:
1002 | - supports-color
1003 | dev: true
1004 |
1005 | /mdast-util-to-hast/12.1.2:
1006 | resolution: {integrity: sha512-Wn6Mcj04qU4qUXHnHpPATYMH2Jd8RlntdnloDfYLe1ErWRHo6+pvSl/DzHp6sCZ9cBSYlc8Sk8pbwb8xtUoQhQ==}
1007 | dependencies:
1008 | '@types/hast': 2.3.4
1009 | '@types/mdast': 3.0.10
1010 | '@types/mdurl': 1.0.2
1011 | mdast-util-definitions: 5.1.1
1012 | mdurl: 1.0.1
1013 | micromark-util-sanitize-uri: 1.0.0
1014 | trim-lines: 3.0.1
1015 | unist-builder: 3.0.0
1016 | unist-util-generated: 2.0.0
1017 | unist-util-position: 4.0.3
1018 | unist-util-visit: 4.1.0
1019 | dev: true
1020 |
1021 | /mdast-util-to-markdown/1.3.0:
1022 | resolution: {integrity: sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==}
1023 | dependencies:
1024 | '@types/mdast': 3.0.10
1025 | '@types/unist': 2.0.6
1026 | longest-streak: 3.0.1
1027 | mdast-util-to-string: 3.1.0
1028 | micromark-util-decode-string: 1.0.2
1029 | unist-util-visit: 4.1.0
1030 | zwitch: 2.0.2
1031 | dev: true
1032 |
1033 | /mdast-util-to-string/3.1.0:
1034 | resolution: {integrity: sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==}
1035 | dev: true
1036 |
1037 | /mdurl/1.0.1:
1038 | resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
1039 | dev: true
1040 |
1041 | /micromark-core-commonmark/1.0.6:
1042 | resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==}
1043 | dependencies:
1044 | decode-named-character-reference: 1.0.2
1045 | micromark-factory-destination: 1.0.0
1046 | micromark-factory-label: 1.0.2
1047 | micromark-factory-space: 1.0.0
1048 | micromark-factory-title: 1.0.2
1049 | micromark-factory-whitespace: 1.0.0
1050 | micromark-util-character: 1.1.0
1051 | micromark-util-chunked: 1.0.0
1052 | micromark-util-classify-character: 1.0.0
1053 | micromark-util-html-tag-name: 1.1.0
1054 | micromark-util-normalize-identifier: 1.0.0
1055 | micromark-util-resolve-all: 1.0.0
1056 | micromark-util-subtokenize: 1.0.2
1057 | micromark-util-symbol: 1.0.1
1058 | micromark-util-types: 1.0.2
1059 | uvu: 0.5.6
1060 | dev: true
1061 |
1062 | /micromark-extension-mdx-expression/1.0.3:
1063 | resolution: {integrity: sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==}
1064 | dependencies:
1065 | micromark-factory-mdx-expression: 1.0.6
1066 | micromark-factory-space: 1.0.0
1067 | micromark-util-character: 1.1.0
1068 | micromark-util-events-to-acorn: 1.1.0
1069 | micromark-util-symbol: 1.0.1
1070 | micromark-util-types: 1.0.2
1071 | uvu: 0.5.6
1072 | dev: true
1073 |
1074 | /micromark-extension-mdx-jsx/1.0.3:
1075 | resolution: {integrity: sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==}
1076 | dependencies:
1077 | '@types/acorn': 4.0.6
1078 | estree-util-is-identifier-name: 2.0.1
1079 | micromark-factory-mdx-expression: 1.0.6
1080 | micromark-factory-space: 1.0.0
1081 | micromark-util-character: 1.1.0
1082 | micromark-util-symbol: 1.0.1
1083 | micromark-util-types: 1.0.2
1084 | uvu: 0.5.6
1085 | vfile-message: 3.1.2
1086 | dev: true
1087 |
1088 | /micromark-extension-mdx-md/1.0.0:
1089 | resolution: {integrity: sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==}
1090 | dependencies:
1091 | micromark-util-types: 1.0.2
1092 | dev: true
1093 |
1094 | /micromark-extension-mdxjs-esm/1.0.3:
1095 | resolution: {integrity: sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==}
1096 | dependencies:
1097 | micromark-core-commonmark: 1.0.6
1098 | micromark-util-character: 1.1.0
1099 | micromark-util-events-to-acorn: 1.1.0
1100 | micromark-util-symbol: 1.0.1
1101 | micromark-util-types: 1.0.2
1102 | unist-util-position-from-estree: 1.1.1
1103 | uvu: 0.5.6
1104 | vfile-message: 3.1.2
1105 | dev: true
1106 |
1107 | /micromark-extension-mdxjs/1.0.0:
1108 | resolution: {integrity: sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==}
1109 | dependencies:
1110 | acorn: 8.7.1
1111 | acorn-jsx: 5.3.2_acorn@8.7.1
1112 | micromark-extension-mdx-expression: 1.0.3
1113 | micromark-extension-mdx-jsx: 1.0.3
1114 | micromark-extension-mdx-md: 1.0.0
1115 | micromark-extension-mdxjs-esm: 1.0.3
1116 | micromark-util-combine-extensions: 1.0.0
1117 | micromark-util-types: 1.0.2
1118 | dev: true
1119 |
1120 | /micromark-factory-destination/1.0.0:
1121 | resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==}
1122 | dependencies:
1123 | micromark-util-character: 1.1.0
1124 | micromark-util-symbol: 1.0.1
1125 | micromark-util-types: 1.0.2
1126 | dev: true
1127 |
1128 | /micromark-factory-label/1.0.2:
1129 | resolution: {integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==}
1130 | dependencies:
1131 | micromark-util-character: 1.1.0
1132 | micromark-util-symbol: 1.0.1
1133 | micromark-util-types: 1.0.2
1134 | uvu: 0.5.6
1135 | dev: true
1136 |
1137 | /micromark-factory-mdx-expression/1.0.6:
1138 | resolution: {integrity: sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==}
1139 | dependencies:
1140 | micromark-factory-space: 1.0.0
1141 | micromark-util-character: 1.1.0
1142 | micromark-util-events-to-acorn: 1.1.0
1143 | micromark-util-symbol: 1.0.1
1144 | micromark-util-types: 1.0.2
1145 | unist-util-position-from-estree: 1.1.1
1146 | uvu: 0.5.6
1147 | vfile-message: 3.1.2
1148 | dev: true
1149 |
1150 | /micromark-factory-space/1.0.0:
1151 | resolution: {integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==}
1152 | dependencies:
1153 | micromark-util-character: 1.1.0
1154 | micromark-util-types: 1.0.2
1155 | dev: true
1156 |
1157 | /micromark-factory-title/1.0.2:
1158 | resolution: {integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==}
1159 | dependencies:
1160 | micromark-factory-space: 1.0.0
1161 | micromark-util-character: 1.1.0
1162 | micromark-util-symbol: 1.0.1
1163 | micromark-util-types: 1.0.2
1164 | uvu: 0.5.6
1165 | dev: true
1166 |
1167 | /micromark-factory-whitespace/1.0.0:
1168 | resolution: {integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==}
1169 | dependencies:
1170 | micromark-factory-space: 1.0.0
1171 | micromark-util-character: 1.1.0
1172 | micromark-util-symbol: 1.0.1
1173 | micromark-util-types: 1.0.2
1174 | dev: true
1175 |
1176 | /micromark-util-character/1.1.0:
1177 | resolution: {integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==}
1178 | dependencies:
1179 | micromark-util-symbol: 1.0.1
1180 | micromark-util-types: 1.0.2
1181 | dev: true
1182 |
1183 | /micromark-util-chunked/1.0.0:
1184 | resolution: {integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==}
1185 | dependencies:
1186 | micromark-util-symbol: 1.0.1
1187 | dev: true
1188 |
1189 | /micromark-util-classify-character/1.0.0:
1190 | resolution: {integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==}
1191 | dependencies:
1192 | micromark-util-character: 1.1.0
1193 | micromark-util-symbol: 1.0.1
1194 | micromark-util-types: 1.0.2
1195 | dev: true
1196 |
1197 | /micromark-util-combine-extensions/1.0.0:
1198 | resolution: {integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==}
1199 | dependencies:
1200 | micromark-util-chunked: 1.0.0
1201 | micromark-util-types: 1.0.2
1202 | dev: true
1203 |
1204 | /micromark-util-decode-numeric-character-reference/1.0.0:
1205 | resolution: {integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==}
1206 | dependencies:
1207 | micromark-util-symbol: 1.0.1
1208 | dev: true
1209 |
1210 | /micromark-util-decode-string/1.0.2:
1211 | resolution: {integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==}
1212 | dependencies:
1213 | decode-named-character-reference: 1.0.2
1214 | micromark-util-character: 1.1.0
1215 | micromark-util-decode-numeric-character-reference: 1.0.0
1216 | micromark-util-symbol: 1.0.1
1217 | dev: true
1218 |
1219 | /micromark-util-encode/1.0.1:
1220 | resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==}
1221 | dev: true
1222 |
1223 | /micromark-util-events-to-acorn/1.1.0:
1224 | resolution: {integrity: sha512-hB8HzidNt/Us5q2BvqXj8eeEm0U9rRfnZxcA9T65JRUMAY4MbfJRAFm7m9fXMAdSHJiVPmajsp8/rp6/FlHL8A==}
1225 | dependencies:
1226 | '@types/acorn': 4.0.6
1227 | '@types/estree': 0.0.51
1228 | estree-util-visit: 1.1.0
1229 | micromark-util-types: 1.0.2
1230 | uvu: 0.5.6
1231 | vfile-location: 4.0.1
1232 | vfile-message: 3.1.2
1233 | dev: true
1234 |
1235 | /micromark-util-html-tag-name/1.1.0:
1236 | resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==}
1237 | dev: true
1238 |
1239 | /micromark-util-normalize-identifier/1.0.0:
1240 | resolution: {integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==}
1241 | dependencies:
1242 | micromark-util-symbol: 1.0.1
1243 | dev: true
1244 |
1245 | /micromark-util-resolve-all/1.0.0:
1246 | resolution: {integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==}
1247 | dependencies:
1248 | micromark-util-types: 1.0.2
1249 | dev: true
1250 |
1251 | /micromark-util-sanitize-uri/1.0.0:
1252 | resolution: {integrity: sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg==}
1253 | dependencies:
1254 | micromark-util-character: 1.1.0
1255 | micromark-util-encode: 1.0.1
1256 | micromark-util-symbol: 1.0.1
1257 | dev: true
1258 |
1259 | /micromark-util-subtokenize/1.0.2:
1260 | resolution: {integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==}
1261 | dependencies:
1262 | micromark-util-chunked: 1.0.0
1263 | micromark-util-symbol: 1.0.1
1264 | micromark-util-types: 1.0.2
1265 | uvu: 0.5.6
1266 | dev: true
1267 |
1268 | /micromark-util-symbol/1.0.1:
1269 | resolution: {integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==}
1270 | dev: true
1271 |
1272 | /micromark-util-types/1.0.2:
1273 | resolution: {integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==}
1274 | dev: true
1275 |
1276 | /micromark/3.0.10:
1277 | resolution: {integrity: sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg==}
1278 | dependencies:
1279 | '@types/debug': 4.1.7
1280 | debug: 4.3.4
1281 | decode-named-character-reference: 1.0.2
1282 | micromark-core-commonmark: 1.0.6
1283 | micromark-factory-space: 1.0.0
1284 | micromark-util-character: 1.1.0
1285 | micromark-util-chunked: 1.0.0
1286 | micromark-util-combine-extensions: 1.0.0
1287 | micromark-util-decode-numeric-character-reference: 1.0.0
1288 | micromark-util-encode: 1.0.1
1289 | micromark-util-normalize-identifier: 1.0.0
1290 | micromark-util-resolve-all: 1.0.0
1291 | micromark-util-sanitize-uri: 1.0.0
1292 | micromark-util-subtokenize: 1.0.2
1293 | micromark-util-symbol: 1.0.1
1294 | micromark-util-types: 1.0.2
1295 | uvu: 0.5.6
1296 | transitivePeerDependencies:
1297 | - supports-color
1298 | dev: true
1299 |
1300 | /mri/1.2.0:
1301 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
1302 | engines: {node: '>=4'}
1303 | dev: true
1304 |
1305 | /ms/2.1.2:
1306 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1307 | dev: true
1308 |
1309 | /nanoid/3.3.6:
1310 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
1311 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1312 | hasBin: true
1313 |
1314 | /node-releases/2.0.6:
1315 | resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==}
1316 | dev: true
1317 |
1318 | /parse-entities/4.0.0:
1319 | resolution: {integrity: sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==}
1320 | dependencies:
1321 | '@types/unist': 2.0.6
1322 | character-entities: 2.0.2
1323 | character-entities-legacy: 3.0.0
1324 | character-reference-invalid: 2.0.1
1325 | decode-named-character-reference: 1.0.2
1326 | is-alphanumerical: 2.0.1
1327 | is-decimal: 2.0.1
1328 | is-hexadecimal: 2.0.1
1329 | dev: true
1330 |
1331 | /path-parse/1.0.7:
1332 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1333 |
1334 | /periscopic/3.0.4:
1335 | resolution: {integrity: sha512-SFx68DxCv0Iyo6APZuw/AKewkkThGwssmU0QWtTlvov3VAtPX+QJ4CadwSaz8nrT5jPIuxdvJWB4PnD2KNDxQg==}
1336 | dependencies:
1337 | estree-walker: 3.0.1
1338 | is-reference: 3.0.0
1339 | dev: true
1340 |
1341 | /picocolors/1.0.0:
1342 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1343 |
1344 | /postcss/8.4.31:
1345 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
1346 | engines: {node: ^10 || ^12 || >=14}
1347 | dependencies:
1348 | nanoid: 3.3.6
1349 | picocolors: 1.0.0
1350 | source-map-js: 1.0.2
1351 |
1352 | /property-information/6.1.1:
1353 | resolution: {integrity: sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==}
1354 | dev: true
1355 |
1356 | /remark-mdx/2.1.2:
1357 | resolution: {integrity: sha512-npQagPdczPAv0xN9F8GSi5hJfAe/z6nBjylyfOfjLOmz086ahWrIjlk4BulRfNhA+asutqWxyuT3DFVsxiTVHA==}
1358 | dependencies:
1359 | mdast-util-mdx: 2.0.0
1360 | micromark-extension-mdxjs: 1.0.0
1361 | transitivePeerDependencies:
1362 | - supports-color
1363 | dev: true
1364 |
1365 | /remark-parse/10.0.1:
1366 | resolution: {integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==}
1367 | dependencies:
1368 | '@types/mdast': 3.0.10
1369 | mdast-util-from-markdown: 1.2.0
1370 | unified: 10.1.2
1371 | transitivePeerDependencies:
1372 | - supports-color
1373 | dev: true
1374 |
1375 | /remark-rehype/10.1.0:
1376 | resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==}
1377 | dependencies:
1378 | '@types/hast': 2.3.4
1379 | '@types/mdast': 3.0.10
1380 | mdast-util-to-hast: 12.1.2
1381 | unified: 10.1.2
1382 | dev: true
1383 |
1384 | /resolve/1.22.1:
1385 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
1386 | hasBin: true
1387 | dependencies:
1388 | is-core-module: 2.9.0
1389 | path-parse: 1.0.7
1390 | supports-preserve-symlinks-flag: 1.0.0
1391 |
1392 | /rollup/2.76.0:
1393 | resolution: {integrity: sha512-9jwRIEY1jOzKLj3nsY/yot41r19ITdQrhs+q3ggNWhr9TQgduHqANvPpS32RNpzGklJu3G1AJfvlZLi/6wFgWA==}
1394 | engines: {node: '>=10.0.0'}
1395 | hasBin: true
1396 | optionalDependencies:
1397 | fsevents: 2.3.2
1398 |
1399 | /sade/1.8.1:
1400 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
1401 | engines: {node: '>=6'}
1402 | dependencies:
1403 | mri: 1.2.0
1404 | dev: true
1405 |
1406 | /safe-buffer/5.1.2:
1407 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
1408 | dev: true
1409 |
1410 | /semver/6.3.0:
1411 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
1412 | hasBin: true
1413 | dev: true
1414 |
1415 | /solid-app-router/0.4.1_solid-js@1.6.11:
1416 | resolution: {integrity: sha512-RKHyFQ+J5lXyE/SoyJVHgTBeBck2etYVJn1/9F7ehlzyD2pIOMqLpNXD1GfWQljHqNdXZBSyE+xB/Cck5l9Q/g==}
1417 | peerDependencies:
1418 | solid-js: ^1.3.5
1419 | dependencies:
1420 | solid-js: 1.6.11
1421 | dev: false
1422 |
1423 | /solid-js/1.6.11:
1424 | resolution: {integrity: sha512-JquQQHPArGq+i2PLURxJ99Pcz2/1docpbycSio/cKSA0SeI3z5zRjy0TNcH4NRYvbOLrcini+iovXwnexKabyw==}
1425 | dependencies:
1426 | csstype: 3.1.1
1427 | dev: false
1428 |
1429 | /solid-mdx/0.0.6_solid-js@1.6.11+vite@3.0.0:
1430 | resolution: {integrity: sha512-SDr+iOqxvB7ktdjrwgKLCLkJK43J+TQjoYmesHxmZHXtn6W+a5NRqWgBcybsSP0noHa2co1plSjuPYU4bdtklQ==}
1431 | peerDependencies:
1432 | solid-js: ^1.2.6
1433 | vite: '*'
1434 | dependencies:
1435 | solid-js: 1.6.11
1436 | vite: 3.0.0
1437 | dev: false
1438 |
1439 | /solid-meta/0.27.5_solid-js@1.6.11:
1440 | resolution: {integrity: sha512-9OA50aNBhCwuFo1Uby9NT3gB6I6iBRN0mSXkXROJyWDtmyhdw9iyMT9JsnGF/A/7IQq2BSLV75oPQjNKQAMeQw==}
1441 | peerDependencies:
1442 | solid-js: '>=1.4.0'
1443 | dependencies:
1444 | solid-js: 1.6.11
1445 | dev: false
1446 |
1447 | /solid-utils/0.8.1_solid-js@1.6.11:
1448 | resolution: {integrity: sha512-LLeO7Hr99OLFY+Zfx8U7Hw5VZOaFT8qWoLWGfnq3kDmo7KAGdIoq44ijy7mdYj88e+2cWPdkyhItsS3FGjeS6g==}
1449 | peerDependencies:
1450 | solid-js: '>= 1.0'
1451 | dependencies:
1452 | solid-js: 1.6.11
1453 | dev: false
1454 |
1455 | /source-map-js/1.0.2:
1456 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1457 | engines: {node: '>=0.10.0'}
1458 |
1459 | /space-separated-tokens/2.0.1:
1460 | resolution: {integrity: sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==}
1461 | dev: true
1462 |
1463 | /stringify-entities/4.0.3:
1464 | resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==}
1465 | dependencies:
1466 | character-entities-html4: 2.1.0
1467 | character-entities-legacy: 3.0.0
1468 | dev: true
1469 |
1470 | /style-to-object/0.3.0:
1471 | resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==}
1472 | dependencies:
1473 | inline-style-parser: 0.1.1
1474 | dev: true
1475 |
1476 | /supports-color/5.5.0:
1477 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
1478 | engines: {node: '>=4'}
1479 | dependencies:
1480 | has-flag: 3.0.0
1481 | dev: true
1482 |
1483 | /supports-preserve-symlinks-flag/1.0.0:
1484 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1485 | engines: {node: '>= 0.4'}
1486 |
1487 | /to-fast-properties/2.0.0:
1488 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
1489 | engines: {node: '>=4'}
1490 | dev: true
1491 |
1492 | /trim-lines/3.0.1:
1493 | resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
1494 | dev: true
1495 |
1496 | /trough/2.1.0:
1497 | resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
1498 | dev: true
1499 |
1500 | /unified/10.1.2:
1501 | resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
1502 | dependencies:
1503 | '@types/unist': 2.0.6
1504 | bail: 2.0.2
1505 | extend: 3.0.2
1506 | is-buffer: 2.0.5
1507 | is-plain-obj: 4.1.0
1508 | trough: 2.1.0
1509 | vfile: 5.3.4
1510 | dev: true
1511 |
1512 | /unist-builder/3.0.0:
1513 | resolution: {integrity: sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==}
1514 | dependencies:
1515 | '@types/unist': 2.0.6
1516 | dev: true
1517 |
1518 | /unist-util-generated/2.0.0:
1519 | resolution: {integrity: sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==}
1520 | dev: true
1521 |
1522 | /unist-util-is/5.1.1:
1523 | resolution: {integrity: sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==}
1524 | dev: true
1525 |
1526 | /unist-util-position-from-estree/1.1.1:
1527 | resolution: {integrity: sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==}
1528 | dependencies:
1529 | '@types/unist': 2.0.6
1530 | dev: true
1531 |
1532 | /unist-util-position/4.0.3:
1533 | resolution: {integrity: sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==}
1534 | dependencies:
1535 | '@types/unist': 2.0.6
1536 | dev: true
1537 |
1538 | /unist-util-remove-position/4.0.1:
1539 | resolution: {integrity: sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ==}
1540 | dependencies:
1541 | '@types/unist': 2.0.6
1542 | unist-util-visit: 4.1.0
1543 | dev: true
1544 |
1545 | /unist-util-stringify-position/3.0.2:
1546 | resolution: {integrity: sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==}
1547 | dependencies:
1548 | '@types/unist': 2.0.6
1549 | dev: true
1550 |
1551 | /unist-util-visit-parents/5.1.0:
1552 | resolution: {integrity: sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==}
1553 | dependencies:
1554 | '@types/unist': 2.0.6
1555 | unist-util-is: 5.1.1
1556 | dev: true
1557 |
1558 | /unist-util-visit/4.1.0:
1559 | resolution: {integrity: sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==}
1560 | dependencies:
1561 | '@types/unist': 2.0.6
1562 | unist-util-is: 5.1.1
1563 | unist-util-visit-parents: 5.1.0
1564 | dev: true
1565 |
1566 | /update-browserslist-db/1.0.4_browserslist@4.21.2:
1567 | resolution: {integrity: sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==}
1568 | hasBin: true
1569 | peerDependencies:
1570 | browserslist: '>= 4.21.0'
1571 | dependencies:
1572 | browserslist: 4.21.2
1573 | escalade: 3.1.1
1574 | picocolors: 1.0.0
1575 | dev: true
1576 |
1577 | /uvu/0.5.6:
1578 | resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==}
1579 | engines: {node: '>=8'}
1580 | hasBin: true
1581 | dependencies:
1582 | dequal: 2.0.3
1583 | diff: 5.1.0
1584 | kleur: 4.1.5
1585 | sade: 1.8.1
1586 | dev: true
1587 |
1588 | /vfile-location/4.0.1:
1589 | resolution: {integrity: sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==}
1590 | dependencies:
1591 | '@types/unist': 2.0.6
1592 | vfile: 5.3.4
1593 | dev: true
1594 |
1595 | /vfile-message/3.1.2:
1596 | resolution: {integrity: sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==}
1597 | dependencies:
1598 | '@types/unist': 2.0.6
1599 | unist-util-stringify-position: 3.0.2
1600 | dev: true
1601 |
1602 | /vfile/5.3.4:
1603 | resolution: {integrity: sha512-KI+7cnst03KbEyN1+JE504zF5bJBZa+J+CrevLeyIMq0aPU681I2rQ5p4PlnQ6exFtWiUrg26QUdFMnAKR6PIw==}
1604 | dependencies:
1605 | '@types/unist': 2.0.6
1606 | is-buffer: 2.0.5
1607 | unist-util-stringify-position: 3.0.2
1608 | vfile-message: 3.1.2
1609 | dev: true
1610 |
1611 | /vite/3.0.0:
1612 | resolution: {integrity: sha512-M7phQhY3+fRZa0H+1WzI6N+/onruwPTBTMvaj7TzgZ0v2TE+N2sdLKxJOfOv9CckDWt5C4HmyQP81xB4dwRKzA==}
1613 | engines: {node: '>=14.18.0'}
1614 | hasBin: true
1615 | peerDependencies:
1616 | less: '*'
1617 | sass: '*'
1618 | stylus: '*'
1619 | terser: ^5.4.0
1620 | peerDependenciesMeta:
1621 | less:
1622 | optional: true
1623 | sass:
1624 | optional: true
1625 | stylus:
1626 | optional: true
1627 | terser:
1628 | optional: true
1629 | dependencies:
1630 | esbuild: 0.14.49
1631 | postcss: 8.4.31
1632 | resolve: 1.22.1
1633 | rollup: 2.76.0
1634 | optionalDependencies:
1635 | fsevents: 2.3.2
1636 |
1637 | /zwitch/2.0.2:
1638 | resolution: {integrity: sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==}
1639 | dev: true
1640 |
--------------------------------------------------------------------------------
/playground/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ESNext",
4 | "module": "ESNext",
5 | "allowSyntheticDefaultImports": true,
6 | "esModuleInterop": true,
7 | "resolveJsonModule": true,
8 | "moduleResolution": "node",
9 | "jsx": "preserve",
10 | "jsxImportSource": "solid-js",
11 | "types": ["vite/client"],
12 | "baseUrl": ".",
13 | "paths": {
14 | "@/*": ["./pages/*"],
15 | "@@/*": ["./assets/*"]
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/playground/vite.config.ts:
--------------------------------------------------------------------------------
1 | import path from 'node:path';
2 | import solid from 'vite-plugin-solid';
3 | import { defineConfig, Plugin } from 'vite';
4 | import { compile, CompileOptions } from '@mdx-js/mdx';
5 |
6 | type MdxExtensionOptions = { mdx?: boolean };
7 |
8 | type MDXOptions = {
9 | extensions?: (string | [string, MdxExtensionOptions])[];
10 | } & Partial>;
11 |
12 | const mdx = (options: MDXOptions = {}): Plugin => {
13 | const MD_EXTENSIONS = ['md', 'markdown', 'mdown', 'mkdn', 'mkd', 'mdwn', 'mkdown', 'ron'];
14 |
15 | const MDX_EXTENSIONS = ['mdx'];
16 |
17 | const mdxExtensions =
18 | options.extensions
19 | ?.filter((extension) => typeof extension !== 'string' && extension[1].mdx)
20 | .map((extension) => extension[0]) ?? MDX_EXTENSIONS;
21 |
22 | const mdExtensions =
23 | options.extensions
24 | ?.filter((extension) => typeof extension === 'string' || !extension[1].mdx)
25 | .map((extension) => (typeof extension === 'string' ? extension : extension[0])) ??
26 | MD_EXTENSIONS;
27 |
28 | return {
29 | name: 'mdx',
30 | enforce: 'pre',
31 | transform: async (source: string, id: string) => {
32 | const extension = path.extname(id);
33 | if (
34 | ![...mdExtensions, ...mdxExtensions].map((extension) => `.${extension}`).includes(extension)
35 | )
36 | return null;
37 | return {
38 | code: (
39 | await compile(source, {
40 | format: mdxExtensions.includes(extension)
41 | ? 'mdx'
42 | : mdExtensions.includes(extension)
43 | ? 'md'
44 | : 'detect',
45 | jsx: true,
46 | jsxImportSource: 'solid-js',
47 | providerImportSource: 'solid-mdx',
48 | ...options,
49 | })
50 | ).value.toString(),
51 | };
52 | },
53 | };
54 | };
55 |
56 | const logPlugin = (): Plugin => {
57 | return {
58 | name: 'looog',
59 | configResolved(config) {
60 | console.log({ alias: config.resolve.alias });
61 | },
62 | };
63 | };
64 |
65 | export default defineConfig({
66 | plugins: [
67 | mdx({}),
68 | solid({
69 | extensions: ['.md', ['.mdx', { typescript: true }]],
70 | babel: {
71 | plugins: ['@babel/plugin-syntax-top-level-await'],
72 | },
73 | }),
74 | logPlugin(),
75 | ],
76 | resolve: {
77 | alias: {
78 | '@': '/pages',
79 | '@@': '/assets',
80 | },
81 | },
82 | build: { target: 'esnext' },
83 | });
84 |
--------------------------------------------------------------------------------
/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - '.'
3 | - "examples/*"
4 | catalog:
5 | "solid-js": ^1.9.4
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | import cjs from '@rollup/plugin-commonjs';
2 | import cleaner from 'rollup-plugin-cleaner';
3 | import { babel } from '@rollup/plugin-babel';
4 | import { nodeResolve } from '@rollup/plugin-node-resolve';
5 |
6 | const extensions = ['.js', '.ts', '.json', '.tsx', '.jsx'];
7 |
8 | const external = [
9 | '@babel/core',
10 | '@babel/preset-typescript',
11 | 'babel-preset-solid',
12 | 'solid-refresh',
13 | 'solid-refresh/babel',
14 | 'merge-anything',
15 | 'vitefu',
16 | 'vite'
17 | ];
18 |
19 | /**
20 | * @type {import('rollup').RollupOptions}
21 | */
22 | const config = {
23 | input: 'src/index.ts',
24 | output: [
25 | {
26 | format: 'esm',
27 | file: 'dist/esm/index.mjs',
28 | sourcemap: true,
29 | },
30 | {
31 | format: 'cjs',
32 | file: 'dist/cjs/index.cjs',
33 | sourcemap: true,
34 | exports: 'default',
35 | },
36 | ],
37 | external,
38 | plugins: [
39 | cleaner({ targets: ['./dist/'] }),
40 | babel({
41 | extensions,
42 | babelHelpers: 'bundled',
43 | presets: [
44 | ['@babel/preset-env', { targets: { node: 'current' } }],
45 | '@babel/preset-typescript',
46 | ],
47 | }),
48 | nodeResolve({ extensions, preferBuiltins: true, browser: false }),
49 | cjs({ extensions }),
50 | ],
51 | };
52 |
53 | export default config;
54 |
--------------------------------------------------------------------------------
/scripts/test-examples.ts:
--------------------------------------------------------------------------------
1 | import { spawn, exec, ChildProcess } from 'node:child_process';
2 | import { promisify } from 'node:util';
3 |
4 | const execAsync = promisify(exec);
5 | const examples = ['vite-3', 'vite-4', 'vite-5', 'vite-6'];
6 | const PORT = 4173;
7 | const TEST_TIMEOUT = 5 * 60 * 1000; // 5 minutes
8 |
9 | // Track active processes for cleanup
10 | const activeProcesses = new Set();
11 |
12 | // Cleanup function
13 | function cleanup() {
14 | for (const proc of activeProcesses) {
15 | proc.kill('SIGTERM');
16 | }
17 | process.exit(0);
18 | }
19 |
20 | // Handle termination signals
21 | process.on('SIGTERM', cleanup);
22 | process.on('SIGINT', cleanup);
23 |
24 | async function runExample(example) {
25 | console.log(`Testing ${example}...`);
26 | const examplePath = `examples/${example}`;
27 |
28 | try {
29 | // Install and build
30 | await execAsync('pnpm install', { cwd: examplePath });
31 | await execAsync('pnpm run build', { cwd: examplePath });
32 |
33 | // Start preview server with timeout
34 | const server = spawn('pnpm', ['run', 'preview'], { cwd: examplePath });
35 | activeProcesses.add(server);
36 |
37 | server.on('error', (err) => {
38 | console.error(`Server error for ${example}:`, err);
39 | throw err;
40 | });
41 |
42 | // Wait for server to be ready
43 | await new Promise(resolve => setTimeout(resolve, 2000));
44 |
45 | // Run Cypress tests with timeout
46 | const testPromise = execAsync(`pnpm exec cypress run --config-file cypress.config.ts --env example=${example}`);
47 | const timeoutPromise = new Promise((_, reject) =>
48 | setTimeout(() => reject(new Error(`Test timeout for ${example}`)), TEST_TIMEOUT)
49 | );
50 |
51 | await Promise.race([testPromise, timeoutPromise]);
52 | } finally {
53 | // Clean up processes
54 | for (const proc of activeProcesses) {
55 | proc.kill('SIGTERM');
56 | activeProcesses.delete(proc);
57 | }
58 | }
59 | }
60 |
61 | async function runAll() {
62 | for (const example of examples) {
63 | try {
64 | await runExample(example);
65 | } catch (error) {
66 | console.error(`Error testing ${example}:`, error);
67 | cleanup();
68 | process.exit(1);
69 | }
70 | }
71 | process.exit(0);
72 | }
73 |
74 | runAll().catch(error => {
75 | console.error('Unexpected error:', error);
76 | cleanup();
77 | process.exit(1);
78 | });
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import * as babel from '@babel/core';
2 | import solid from 'babel-preset-solid';
3 | import { readFileSync } from 'fs';
4 | import { mergeAndConcat } from 'merge-anything';
5 | import { createRequire } from 'module';
6 | import solidRefresh from 'solid-refresh/babel';
7 | import type { Alias, AliasOptions, FilterPattern, Plugin } from 'vite';
8 | import { createFilter, version } from 'vite';
9 | import { crawlFrameworkPkgs } from 'vitefu';
10 |
11 | const require = createRequire(import.meta.url);
12 |
13 | const runtimePublicPath = '/@solid-refresh';
14 | const runtimeFilePath = require.resolve('solid-refresh/dist/solid-refresh.mjs');
15 | const runtimeCode = readFileSync(runtimeFilePath, 'utf-8');
16 |
17 | const isVite6 = version.startsWith('6.');
18 |
19 | /** Possible options for the extensions property */
20 | export interface ExtensionOptions {
21 | typescript?: boolean;
22 | }
23 |
24 | /** Configuration options for vite-plugin-solid. */
25 | export interface Options {
26 | /**
27 | * A [picomatch](https://github.com/micromatch/picomatch) pattern, or array of patterns, which specifies the files
28 | * the plugin should operate on.
29 | */
30 | include?: FilterPattern;
31 | /**
32 | * A [picomatch](https://github.com/micromatch/picomatch) pattern, or array of patterns, which specifies the files
33 | * to be ignored by the plugin.
34 | */
35 | exclude?: FilterPattern;
36 | /**
37 | * This will inject solid-js/dev in place of solid-js in dev mode. Has no
38 | * effect in prod. If set to `false`, it won't inject it in dev. This is
39 | * useful for extra logs and debugging.
40 | *
41 | * @default true
42 | */
43 | dev?: boolean;
44 | /**
45 | * This will force SSR code in the produced files.
46 | *
47 | * @default false
48 | */
49 | ssr?: boolean;
50 |
51 | /**
52 | * This will inject HMR runtime in dev mode. Has no effect in prod. If
53 | * set to `false`, it won't inject the runtime in dev.
54 | *
55 | * @default true
56 | */
57 | hot?: boolean;
58 | /**
59 | * This registers additional extensions that should be processed by
60 | * vite-plugin-solid.
61 | *
62 | * @default undefined
63 | */
64 | extensions?: (string | [string, ExtensionOptions])[];
65 | /**
66 | * Pass any additional babel transform options. They will be merged with
67 | * the transformations required by Solid.
68 | *
69 | * @default {}
70 | */
71 | babel?:
72 | | babel.TransformOptions
73 | | ((source: string, id: string, ssr: boolean) => babel.TransformOptions)
74 | | ((source: string, id: string, ssr: boolean) => Promise);
75 | /**
76 | * Pass any additional [babel-plugin-jsx-dom-expressions](https://github.com/ryansolid/dom-expressions/tree/main/packages/babel-plugin-jsx-dom-expressions#plugin-options).
77 | * They will be merged with the defaults sets by [babel-preset-solid](https://github.com/solidjs/solid/blob/main/packages/babel-preset-solid/index.js#L8-L25).
78 | *
79 | * @default {}
80 | */
81 | solid?: {
82 | /**
83 | * Removed unnecessary closing tags from template strings. More info here:
84 | * https://github.com/solidjs/solid/blob/main/CHANGELOG.md#smaller-templates
85 | *
86 | * @default false
87 | */
88 | omitNestedClosingTags?: boolean;
89 |
90 | /**
91 | * The name of the runtime module to import the methods from.
92 | *
93 | * @default "solid-js/web"
94 | */
95 | moduleName?: string;
96 |
97 | /**
98 | * The output mode of the compiler.
99 | * Can be:
100 | * - "dom" is standard output
101 | * - "ssr" is for server side rendering of strings.
102 | * - "universal" is for using custom renderers from solid-js/universal
103 | *
104 | * @default "dom"
105 | */
106 | generate?: 'ssr' | 'dom' | 'universal';
107 |
108 | /**
109 | * Indicate whether the output should contain hydratable markers.
110 | *
111 | * @default false
112 | */
113 | hydratable?: boolean;
114 |
115 | /**
116 | * Boolean to indicate whether to enable automatic event delegation on camelCase.
117 | *
118 | * @default true
119 | */
120 | delegateEvents?: boolean;
121 |
122 | /**
123 | * Boolean indicates whether smart conditional detection should be used.
124 | * This optimizes simple boolean expressions and ternaries in JSX.
125 | *
126 | * @default true
127 | */
128 | wrapConditionals?: boolean;
129 |
130 | /**
131 | * Boolean indicates whether to set current render context on Custom Elements and slots.
132 | * Useful for seemless Context API with Web Components.
133 | *
134 | * @default true
135 | */
136 | contextToCustomElements?: boolean;
137 |
138 | /**
139 | * Array of Component exports from module, that aren't included by default with the library.
140 | * This plugin will automatically import them if it comes across them in the JSX.
141 | *
142 | * @default ["For","Show","Switch","Match","Suspense","SuspenseList","Portal","Index","Dynamic","ErrorBoundary"]
143 | */
144 | builtIns?: string[];
145 | };
146 | }
147 |
148 | function getExtension(filename: string): string {
149 | const index = filename.lastIndexOf('.');
150 | return index < 0 ? '' : filename.substring(index).replace(/\?.+$/, '');
151 | }
152 | function containsSolidField(fields: Record) {
153 | const keys = Object.keys(fields);
154 | for (let i = 0; i < keys.length; i++) {
155 | const key = keys[i];
156 | if (key === 'solid') return true;
157 | if (typeof fields[key] === 'object' && fields[key] != null && containsSolidField(fields[key]))
158 | return true;
159 | }
160 | return false;
161 | }
162 |
163 | function getJestDomExport(setupFiles: string[]) {
164 | return setupFiles?.some((path) => /jest-dom/.test(path))
165 | ? undefined
166 | : ['@testing-library/jest-dom/vitest', '@testing-library/jest-dom/extend-expect'].find(
167 | (path) => {
168 | try {
169 | require.resolve(path);
170 | return true;
171 | } catch (e) {
172 | return false;
173 | }
174 | },
175 | );
176 | }
177 |
178 | export default function solidPlugin(options: Partial = {}): Plugin {
179 | const filter = createFilter(options.include, options.exclude);
180 |
181 | let needHmr = false;
182 | let replaceDev = false;
183 | let projectRoot = process.cwd();
184 | let isTestMode = false;
185 |
186 | return {
187 | name: 'solid',
188 | enforce: 'pre',
189 |
190 | async config(userConfig, { command }) {
191 | // We inject the dev mode only if the user explicitly wants it or if we are in dev (serve) mode
192 | replaceDev = options.dev === true || (options.dev !== false && command === 'serve');
193 | projectRoot = userConfig.root;
194 | isTestMode = userConfig.mode === 'test';
195 |
196 | if (!userConfig.resolve) userConfig.resolve = {};
197 | userConfig.resolve.alias = normalizeAliases(userConfig.resolve && userConfig.resolve.alias);
198 |
199 | const solidPkgsConfig = await crawlFrameworkPkgs({
200 | viteUserConfig: userConfig,
201 | root: projectRoot || process.cwd(),
202 | isBuild: command === 'build',
203 | isFrameworkPkgByJson(pkgJson) {
204 | return containsSolidField(pkgJson.exports || {});
205 | },
206 | });
207 |
208 | // fix for bundling dev in production
209 | const nestedDeps = replaceDev
210 | ? ['solid-js', 'solid-js/web', 'solid-js/store', 'solid-js/html', 'solid-js/h']
211 | : [];
212 |
213 | const userTest = (userConfig as any).test ?? {};
214 | const test = {} as any;
215 | if (userConfig.mode === 'test') {
216 | // to simplify the processing of the config, we normalize the setupFiles to an array
217 | const userSetupFiles: string[] =
218 | typeof userTest.setupFiles === 'string'
219 | ? [userTest.setupFiles]
220 | : userTest.setupFiles || [];
221 |
222 | if (!userTest.environment && !options.ssr) {
223 | test.environment = 'jsdom';
224 | }
225 |
226 | if (
227 | !userTest.server?.deps?.external?.find((item: string | RegExp) =>
228 | /solid-js/.test(item.toString()),
229 | )
230 | ) {
231 | test.server = { deps: { external: [/solid-js/] } };
232 | }
233 | if (!userTest.browser?.enabled) {
234 | // vitest browser mode already has bundled jest-dom assertions
235 | // https://main.vitest.dev/guide/browser/assertion-api.html#assertion-api
236 | const jestDomImport = getJestDomExport(userSetupFiles);
237 | if (jestDomImport) {
238 | test.setupFiles = [jestDomImport];
239 | }
240 | }
241 | }
242 |
243 | return {
244 | /**
245 | * We only need esbuild on .ts or .js files.
246 | * .tsx & .jsx files are handled by us
247 | */
248 | // esbuild: { include: /\.ts$/ },
249 | resolve: {
250 | conditions: isVite6
251 | ? undefined
252 | : [
253 | 'solid',
254 | ...(replaceDev ? ['development'] : []),
255 | ...(userConfig.mode === 'test' && !options.ssr ? ['browser'] : []),
256 | ],
257 | dedupe: nestedDeps,
258 | alias: [{ find: /^solid-refresh$/, replacement: runtimePublicPath }],
259 | },
260 | optimizeDeps: {
261 | include: [...nestedDeps, ...solidPkgsConfig.optimizeDeps.include],
262 | exclude: solidPkgsConfig.optimizeDeps.exclude,
263 | },
264 | ssr: solidPkgsConfig.ssr,
265 | ...(test.server ? { test } : {}),
266 | };
267 | },
268 |
269 | // @ts-ignore This hook only works in Vite 6
270 | async configEnvironment(name, config, opts) {
271 | config.resolve ??= {};
272 | // Emulate Vite default fallback for `resolve.conditions` if not set
273 | if (config.resolve.conditions == null) {
274 | // @ts-ignore These exports only exist in Vite 6
275 | const { defaultClientConditions, defaultServerConditions } = await import('vite');
276 | if (config.consumer === 'client' || name === 'client' || opts.isSsrTargetWebworker) {
277 | config.resolve.conditions = [...defaultClientConditions];
278 | } else {
279 | config.resolve.conditions = [...defaultServerConditions];
280 | }
281 | }
282 | config.resolve.conditions = [
283 | 'solid',
284 | ...(replaceDev ? ['development'] : []),
285 | ...(isTestMode && !opts.isSsrTargetWebworker ? ['browser'] : []),
286 | ...config.resolve.conditions,
287 | ];
288 | },
289 |
290 | configResolved(config) {
291 | needHmr = config.command === 'serve' && config.mode !== 'production' && options.hot !== false;
292 | },
293 |
294 | resolveId(id) {
295 | if (id === runtimePublicPath) return id;
296 | },
297 |
298 | load(id) {
299 | if (id === runtimePublicPath) return runtimeCode;
300 | },
301 |
302 | async transform(source, id, transformOptions) {
303 | const isSsr = transformOptions && transformOptions.ssr;
304 | const currentFileExtension = getExtension(id);
305 |
306 | const extensionsToWatch = options.extensions || [];
307 | const allExtensions = extensionsToWatch.map((extension) =>
308 | // An extension can be a string or a tuple [extension, options]
309 | typeof extension === 'string' ? extension : extension[0],
310 | );
311 |
312 | if (!filter(id)) {
313 | return null;
314 | }
315 |
316 | id = id.replace(/\?.*$/, '');
317 |
318 | if (!(/\.[mc]?[tj]sx$/i.test(id) || allExtensions.includes(currentFileExtension))) {
319 | return null;
320 | }
321 |
322 | const inNodeModules = /node_modules/.test(id);
323 |
324 | let solidOptions: { generate: 'ssr' | 'dom'; hydratable: boolean };
325 |
326 | if (options.ssr) {
327 | if (isSsr) {
328 | solidOptions = { generate: 'ssr', hydratable: true };
329 | } else {
330 | solidOptions = { generate: 'dom', hydratable: true };
331 | }
332 | } else {
333 | solidOptions = { generate: 'dom', hydratable: false };
334 | }
335 |
336 | // We need to know if the current file extension has a typescript options tied to it
337 | const shouldBeProcessedWithTypescript =
338 | /\.[mc]?tsx$/i.test(id) ||
339 | extensionsToWatch.some((extension) => {
340 | if (typeof extension === 'string') {
341 | return extension.includes('tsx');
342 | }
343 |
344 | const [extensionName, extensionOptions] = extension;
345 | if (extensionName !== currentFileExtension) return false;
346 |
347 | return extensionOptions.typescript;
348 | });
349 | const plugins: NonNullable['plugins']> = [
350 | 'jsx',
351 | ];
352 |
353 | if (shouldBeProcessedWithTypescript) {
354 | plugins.push('typescript');
355 | }
356 |
357 | const opts: babel.TransformOptions = {
358 | root: projectRoot,
359 | filename: id,
360 | sourceFileName: id,
361 | presets: [[solid, { ...solidOptions, ...(options.solid || {}) }]],
362 | plugins: needHmr && !isSsr && !inNodeModules ? [[solidRefresh, { bundler: 'vite' }]] : [],
363 | ast: false,
364 | sourceMaps: true,
365 | configFile: false,
366 | babelrc: false,
367 | parserOpts: {
368 | plugins,
369 | },
370 | };
371 |
372 | // Default value for babel user options
373 | let babelUserOptions: babel.TransformOptions = {};
374 |
375 | if (options.babel) {
376 | if (typeof options.babel === 'function') {
377 | const babelOptions = options.babel(source, id, isSsr);
378 | babelUserOptions = babelOptions instanceof Promise ? await babelOptions : babelOptions;
379 | } else {
380 | babelUserOptions = options.babel;
381 | }
382 | }
383 |
384 | const babelOptions = mergeAndConcat(babelUserOptions, opts) as babel.TransformOptions;
385 |
386 | const { code, map } = await babel.transformAsync(source, babelOptions);
387 |
388 | return { code, map };
389 | },
390 | };
391 | }
392 |
393 | /**
394 | * This basically normalize all aliases of the config into
395 | * the array format of the alias.
396 | *
397 | * eg: alias: { '@': 'src/' } => [{ find: '@', replacement: 'src/' }]
398 | */
399 | function normalizeAliases(alias: AliasOptions = []): Alias[] {
400 | return Array.isArray(alias)
401 | ? alias
402 | : Object.entries(alias).map(([find, replacement]) => ({ find, replacement }));
403 | }
404 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "include": [
3 | "src", "cypress"
4 | ],
5 | "exclude": [
6 | "**/*.spec.ts"
7 | ],
8 | "compilerOptions": {
9 | "target": "ESNext",
10 | "module": "ESNext",
11 | "moduleResolution": "node",
12 | "strict": false,
13 | "declaration": true,
14 | "noUnusedLocals": true,
15 | "skipLibCheck": true,
16 | "esModuleInterop": true,
17 | "allowSyntheticDefaultImports": true,
18 | "declarationDir": "dist/types",
19 | "types":["cypress", "node"],
20 | "baseUrl": "."
21 | }
22 | }
--------------------------------------------------------------------------------