2024-03-05 14:23:26 +01:00
|
|
|
{
|
|
|
|
|
"name": "@tailwindcss/root",
|
|
|
|
|
"private": true,
|
|
|
|
|
"version": "1.0.0",
|
|
|
|
|
"prettier": {
|
|
|
|
|
"semi": false,
|
|
|
|
|
"singleQuote": true,
|
|
|
|
|
"printWidth": 100,
|
|
|
|
|
"plugins": [
|
|
|
|
|
"prettier-plugin-organize-imports"
|
|
|
|
|
],
|
|
|
|
|
"overrides": [
|
|
|
|
|
{
|
|
|
|
|
"files": [
|
|
|
|
|
"tsconfig.json"
|
|
|
|
|
],
|
|
|
|
|
"options": {
|
|
|
|
|
"parser": "jsonc"
|
|
|
|
|
}
|
Add integration test setup and tests for the Vite integration (#14089)
This PR adds a new root `/integrations` folder that will be the home of
integration tests. The idea of these tests is to use Tailwind in various
setups just like our users would (by only using the publishable npm
builds).
To avoid issues with concurrent tests making changes to the file system,
to make it very easy to test through a range of versions, and to avoid
changing configuration objects over and over in test runs, we decided to
inline the scaffolding completely into the test file and have no
examples checked into the repo.
Here's an example of how this can look like for a simple Vite test:
```ts
test('works with production builds', {
fs: {
'package.json': json`
{
"type": "module",
"dependencies": {
"@tailwindcss/vite": "workspace:^",
"tailwindcss": "workspace:^"
},
"devDependencies": {
"vite": "^5.3.5"
}
}
`,
'vite.config.ts': ts`
import tailwindcss from '@tailwindcss/vite'
import { defineConfig } from 'vite'
export default defineConfig({
build: { cssMinify: false },
plugins: [tailwindcss()],
})
`,
'index.html': html`
<head>
<link rel="stylesheet" href="./src/index.css">
</head>
<body>
<div class="underline m-2">Hello, world!</div>
</body>
`,
'src/index.css': css`
@import 'tailwindcss/theme' reference;
@import 'tailwindcss/utilities';
`,
},
},
async ({ fs, exec }) => {
await exec('pnpm vite build')
expect.assertions(2)
for (let [path, content] of await fs.glob('dist/**/*.css')) {
expect(path).toMatch(/\.css$/)
expect(stripTailwindComment(content)).toMatchInlineSnapshot(
`
".m-2 {
margin: var(--spacing-2, .5rem);
}
.underline {
text-decoration-line: underline;
}"
`,
)
}
},
)
```
By defining all dependencies this way, we never have to worry about
which fixtures are checked in and can more easily describe changes to
the setup.
For ergonomics, we've also added the [`embed` prettier
plugin](https://github.com/Sec-ant/prettier-plugin-embed). This will
mean that files inlined in the `fs` setup are properly indented. No
extra work needed!
If you're using VS Code, I can also recommend the [Language
Literals](https://marketplace.visualstudio.com/items?itemName=sissel.language-literals)
extension so that syntax highlighting also _just works_.
A neat feature of inlining the scaffolding like this is to make it very
simple to test through a variety of versions. For example, here's how we
can set up a test against Vite 5 and Vite 4:
```js
;['^4.5.3', '^5.3.5'].forEach(viteVersion => {
test(`works with production builds for Vite ${viteVersion}`, {
fs: {
'package.json': json`
{
"type": "module",
"devDependencies": {
"vite": "${viteVersion}"
}
}
`,
async () => {
// Do something
},
)
})
```
## Philosophy
Before we dive into the specifics, I want to clearly state the design
considerations we have chosen for this new test suite:
- All file mutations should be done in temp folders, nothing should ever
mess with your working directory
- Windows as a first-class citizen
- Have a clean and simple API that describes the test setup only using
public APIs
- Focus on reliability (make sure cleanup scripts work and are tolerant
to various error scenarios)
- If a user reports an issue with a specific configuration, we want to
be able to reproduce them with integration tests, no matter how obscure
the setup (this means the test need to be in control of most of the
variables)
- Tests should be reasonably fast (obviously this depends on the
integration. If we use a slow build tool, we can't magically speed it
up, but our overhead should be minimal).
## How it works
The current implementation provides a custom `test` helper function
that, when used, sets up the environment according to the configuration.
It'll create a new temporary directory and create all files, ensuring
things like proper `\r\n` line endings on Windows.
We do have to patch the `package.json` specifically, since we can not
use public versions of the tailwindcss packages as we want to be able to
test against a development build. To make this happen, every `pnpm
build` run now creates tarballs of the npm modules (that contain only
the files that would also in the published build). We then patch the
`package.json` to rewrite `workspace:^` versions to link to those
tarballs. We found this to work reliably on Windows and macOS as well as
being fast enough to not cause any issues. Furthermore we also decided
to use `pnpm` as the version manager for integration tests because of
it's global module cache (so installing `vite` is fast as soon as you
installed it once).
The test function will receive a few utilities that it can use to more
easily interact with the temp dir. One example is a `fs.glob` function
that you can use to easily find files in eventual `dist/` directories or
helpers around `spawn` and `exec` that make sure that processes are
cleaned up correctly.
Because we use tarballs from our build dependencies, working on changes
requires a workflow where you run `pnpm build` before running `pnpm
test:integrations`. However it also means we can run clients like our
CLI client with no additional overhead—just install the dependency like
any user would and set up your test cases this way.
## Test plan
This PR also includes two Vite specific integration tests: One testing a
static build (`pnpm vite build`) and one a dev mode build (`pnpm vite
dev`) that also makes changes to the file system and asserts that the
resources properly update.
---------
Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
2024-08-02 11:50:49 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"files": [
|
|
|
|
|
"integrations/**/*.ts"
|
|
|
|
|
],
|
|
|
|
|
"options": {
|
|
|
|
|
"plugins": [
|
|
|
|
|
"prettier-plugin-embed",
|
|
|
|
|
"prettier-plugin-organize-imports"
|
|
|
|
|
]
|
|
|
|
|
}
|
2024-03-05 14:23:26 +01:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"scripts": {
|
|
|
|
|
"format": "prettier --write .",
|
|
|
|
|
"lint": "prettier --check . && turbo lint",
|
2024-08-09 19:57:16 +02:00
|
|
|
"build": "turbo build --filter=!./playgrounds/*",
|
|
|
|
|
"postbuild": "node ./scripts/pack-packages.mjs",
|
2024-03-05 14:23:26 +01:00
|
|
|
"dev": "turbo dev --filter=!./playgrounds/*",
|
2024-10-23 20:52:09 +02:00
|
|
|
"test": "cargo test && vitest run --hideSkippedTests",
|
2026-01-06 16:00:48 +01:00
|
|
|
"test:integrations": "vitest --root=./integrations --retry=3",
|
2025-01-07 09:57:34 -05:00
|
|
|
"test:ui": "pnpm run --filter=tailwindcss test:ui && pnpm run --filter=@tailwindcss/browser test:ui",
|
2024-10-23 20:52:09 +02:00
|
|
|
"tdd": "vitest --hideSkippedTests",
|
2024-03-05 14:23:26 +01:00
|
|
|
"bench": "vitest bench",
|
|
|
|
|
"version-packages": "node ./scripts/version-packages.mjs",
|
|
|
|
|
"vite": "pnpm run --filter=vite-playground dev",
|
|
|
|
|
"nextjs": "pnpm run --filter=nextjs-playground dev"
|
|
|
|
|
},
|
|
|
|
|
"license": "MIT",
|
|
|
|
|
"devDependencies": {
|
Update @playwright/test 1.56.1 → 1.57.0 (minor) (#19399)
Here is everything you need to know about this update. Please take a
good look at what changed and the test results before merging this pull
request.
### What changed?
#### ✳️ @playwright/test (1.56.1 → 1.57.0) ·
[Repo](https://github.com/Microsoft/playwright)
<details>
<summary>Release Notes</summary>
<h4><a
href="https://github.com/microsoft/playwright/releases/tag/v1.57.0">1.57.0</a></h4>
<blockquote><h2 dir="auto">Speedboard</h2>
<p dir="auto">In HTML reporter, there's a new tab we call
"Speedboard":</p>
<a
href="https://private-user-images.githubusercontent.com/14912729/518585867-4ba117ea-ea94-4b6a-82b2-8bbd00dfe81c.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjQxNjA4MDQsIm5iZiI6MTc2NDE2MDUwNCwicGF0aCI6Ii8xNDkxMjcyOS81MTg1ODU4NjctNGJhMTE3ZWEtZWE5NC00YjZhLTgyYjItOGJiZDAwZGZlODFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTExMjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUxMTI2VDEyMzUwNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY4YjhlYjY1ZTA1NGU5MjU5NjU5MDQzNDdhZjMzYmEzYjRlMTg2ZGJlZTA1YTA5NWQ3ODY4MTEzNTdlNWUwNTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.YQEEtVqnrOmR45G6zYUkuaOJL3k2DlbVb4cM0frrGQg"><img
width="600" alt="speedboard"
src="https://private-user-images.githubusercontent.com/14912729/518585867-4ba117ea-ea94-4b6a-82b2-8bbd00dfe81c.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjQxNjA4MDQsIm5iZiI6MTc2NDE2MDUwNCwicGF0aCI6Ii8xNDkxMjcyOS81MTg1ODU4NjctNGJhMTE3ZWEtZWE5NC00YjZhLTgyYjItOGJiZDAwZGZlODFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTExMjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUxMTI2VDEyMzUwNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY4YjhlYjY1ZTA1NGU5MjU5NjU5MDQzNDdhZjMzYmEzYjRlMTg2ZGJlZTA1YTA5NWQ3ODY4MTEzNTdlNWUwNTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.YQEEtVqnrOmR45G6zYUkuaOJL3k2DlbVb4cM0frrGQg"
style="max-width: 100%;"></a>
<p dir="auto">It shows you all your executed tests sorted by
slowness,<br>
and can help you understand where your test suite is taking longer than
expected.<br>
Take a look at yours - maybe you'll find some tests that are spending a
longer time waiting than they should!</p>
<h2 dir="auto">Chrome for Testing</h2>
<p dir="auto">Starting with this release, Playwright switches from
Chromium, to using <a
href="https://developer.chrome.com/blog/chrome-for-testing/">Chrome for
Testing</a> builds. Both headed and headless browsers are subject to
this. Your tests should still be passing after upgrading to Playwright
1.57.</p>
<p dir="auto">We're expecting no functional changes to come from this
switch. The biggest change is the new icon and title in your
toolbar.</p>
<a
href="https://private-user-images.githubusercontent.com/14912729/518586000-e9a5c4f2-9f35-4c27-9382-0f5eda377097.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjQxNjA4MDQsIm5iZiI6MTc2NDE2MDUwNCwicGF0aCI6Ii8xNDkxMjcyOS81MTg1ODYwMDAtZTlhNWM0ZjItOWYzNS00YzI3LTkzODItMGY1ZWRhMzc3MDk3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTExMjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUxMTI2VDEyMzUwNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ3YWFkMTAzM2I0YmQ1MDU4ODRlMDA0YzQ2NjQ3YjRlZjJkYTA4MmY5YTdlYzBmZmE1ZWI4NDk0NzQ2YTdiMGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.IPnNJmILND-iF20WnvLwMZQZMteYB8WFNIPXNL-lofc"><img
width="500" alt="new and old logo"
src="https://private-user-images.githubusercontent.com/14912729/518586000-e9a5c4f2-9f35-4c27-9382-0f5eda377097.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjQxNjA4MDQsIm5iZiI6MTc2NDE2MDUwNCwicGF0aCI6Ii8xNDkxMjcyOS81MTg1ODYwMDAtZTlhNWM0ZjItOWYzNS00YzI3LTkzODItMGY1ZWRhMzc3MDk3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTExMjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUxMTI2VDEyMzUwNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ3YWFkMTAzM2I0YmQ1MDU4ODRlMDA0YzQ2NjQ3YjRlZjJkYTA4MmY5YTdlYzBmZmE1ZWI4NDk0NzQ2YTdiMGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.IPnNJmILND-iF20WnvLwMZQZMteYB8WFNIPXNL-lofc"
style="max-width: 100%;"></a>
<p dir="auto">If you still see an unexpected behaviour change, please <a
href="https://bounce.depfu.com/github.com/microsoft/playwright/issues/new">file
an issue</a>.</p>
<p dir="auto">On Arm64 Linux, Playwright continues to use Chromium.</p>
<h2 dir="auto">Waiting for webserver output</h2>
<p dir="auto"><a
href="https://playwright.dev/docs/api/class-testconfig#test-config-web-server">testConfig.webServer</a>
added a <code class="notranslate">wait</code> field. Pass a regular
expression, and Playwright will wait until the webserver logs match
it.</p>
<div class="highlight highlight-source-js" dir="auto"><pre
class="notranslate"><span class="pl-k">import</span> <span
class="pl-kos">{</span> <span class="pl-s1">defineConfig</span> <span
class="pl-kos">}</span> <span class="pl-k">from</span> <span
class="pl-s">'@playwright/test'</span><span class="pl-kos">;</span>
<span class="pl-k">export</span> <span class="pl-k">default</span> <span
class="pl-en">defineConfig</span><span class="pl-kos">(</span><span
class="pl-kos">{</span>
<span class="pl-c1">webServer</span>: <span class="pl-kos">{</span>
<span class="pl-c1">command</span>: <span class="pl-s">'npm run
start'</span><span class="pl-kos">,</span>
<span class="pl-c1">wait</span>: <span class="pl-kos">{</span>
<span class="pl-c1">stdout</span>: <span class="pl-s">'/Listening on
port (?<my_server_port>\\d+)/'</span>
<span class="pl-kos">}</span><span class="pl-kos">,</span>
<span class="pl-kos">}</span><span class="pl-kos">,</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span
class="pl-kos">;</span></pre></div>
<p dir="auto">If you include a named capture group into the expression,
then Playwright will provide the capture group contents via environment
variables:</p>
<div class="highlight highlight-source-js" dir="auto"><pre
class="notranslate"><span class="pl-k">import</span> <span
class="pl-kos">{</span> <span class="pl-s1">test</span><span
class="pl-kos">,</span> <span class="pl-s1">expect</span> <span
class="pl-kos">}</span> <span class="pl-k">from</span> <span
class="pl-s">'@playwright/test'</span><span class="pl-kos">;</span>
<span class="pl-s1">test</span><span class="pl-kos">.</span><span
class="pl-en">use</span><span class="pl-kos">(</span><span
class="pl-kos">{</span> <span class="pl-c1">baseUrl</span>: <span
class="pl-s">`http://localhost:<span class="pl-s1"><span
class="pl-kos">${</span><span class="pl-s1">process</span><span
class="pl-kos">.</span><span class="pl-c1">env</span><span
class="pl-kos">.</span><span class="pl-c1">MY_SERVER_PORT</span> <span
class="pl-c1">??</span> <span class="pl-c1">3000</span><span
class="pl-kos">}</span></span>`</span> <span
class="pl-kos">}</span><span class="pl-kos">)</span><span
class="pl-kos">;</span>
<span class="pl-en">test</span><span class="pl-kos">(</span><span
class="pl-s">'homepage'</span><span class="pl-kos">,</span> <span
class="pl-k">async</span> <span class="pl-kos">(</span><span
class="pl-kos">{</span> page <span class="pl-kos">}</span><span
class="pl-kos">)</span> <span class="pl-c1">=></span> <span
class="pl-kos">{</span>
<span class="pl-k">await</span> <span class="pl-s1">page</span><span
class="pl-kos">.</span><span class="pl-en">goto</span><span
class="pl-kos">(</span><span class="pl-s">'/'</span><span
class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span
class="pl-kos">;</span></pre></div>
<p dir="auto">This is not just useful for capturing varying ports of dev
servers. You can also use it to wait for readiness of a service that
doesn't expose an HTTP readiness check, but instead prints a readiness
message to stdout or stderr.</p>
<h2 dir="auto">Breaking Change</h2>
<p dir="auto">After 3 years of being deprecated, we removed <code
class="notranslate">Page#accessibility</code> from our API. Please use
other libraries such as <a href="https://www.deque.com/axe/">Axe</a> if
you need to test page accessibility. See our Node.js <a
href="https://playwright.dev/docs/accessibility-testing">guide</a> for
integration with Axe.</p>
<h2 dir="auto">New APIs</h2>
<ul dir="auto">
<li>New property <a
href="https://playwright.dev/docs/api/class-testconfig#test-config-tag">testConfig.tag</a>
adds a tag to all tests in this run. This is useful when using <a
href="https://playwright.dev/docs/test-sharding#merging-reports-from-multiple-shards">merge-reports</a>.</li>
<li>
<a
href="https://playwright.dev/docs/api/class-worker#worker-event-console">worker.on('console')</a>
event is emitted when JavaScript within the worker calls one of console
API methods, e.g. console.log or console.dir. <a
href="https://playwright.dev/docs/api/class-worker#worker-wait-for-event">worker.waitForEvent()</a>
can be used to wait for it.</li>
<li>
<a
href="https://playwright.dev/docs/api/class-locator#locator-description">locator.description()</a>
returns locator description previously set with <a
href="https://playwright.dev/docs/api/class-locator#locator-describe">locator.describe()</a>,
and <code class="notranslate">Locator.toString()</code> now uses the
description when available.</li>
<li>New option <a
href="https://playwright.dev/docs/api/class-locator#locator-click-option-steps"><code
class="notranslate">steps</code></a> in <a
href="https://playwright.dev/docs/api/class-locator#locator-click">locator.click()</a>
and <a
href="https://playwright.dev/docs/api/class-locator#locator-drag-to">locator.dragTo()</a>
that configures the number of <code class="notranslate">mousemove</code>
events emitted while moving the mouse pointer to the target
element.</li>
<li>Network requests issued by <a
href="https://playwright.dev/docs/service-workers#network-events-and-routing">Service
Workers</a> are now reported and can be routed through the <a
href="https://playwright.dev/docs/api/class-browsercontext">BrowserContext</a>,
only in Chromium. You can opt out using the <code
class="notranslate">PLAYWRIGHT_DISABLE_SERVICE_WORKER_NETWORK</code>
environment variable.</li>
<li>Console messages from Service Workers are dispatched through <a
href="https://playwright.dev/docs/api/class-worker#worker-event-console">worker.on('console')</a>.
You can opt out of this using the <code
class="notranslate">PLAYWRIGHT_DISABLE_SERVICE_WORKER_CONSOLE</code>
environment variable.</li>
</ul>
<h2 dir="auto">Browser Versions</h2>
<ul dir="auto">
<li>Chromium 143.0.7499.4</li>
<li>Mozilla Firefox 142.0.1</li>
<li>WebKit 26.0</li>
</ul></blockquote>
<p><em>Does any of this look wrong? <a
href="https://depfu.com/packages/npm/@playwright%2Ftest/feedback">Please
let us know.</a></em></p>
</details>
<details>
<summary>Commits</summary>
<p><a
href="https://github.com/Microsoft/playwright/compare/54c711571a37de525377e6f3d3608c3e029b1829...80581972582c9565e141c5fedd3c5fa10cc0e38b">See
the full diff on Github</a>. The new version differs by more commits
than we can show here.</p>
</details>
---

[Depfu](https://depfu.com) will automatically keep this PR
conflict-free, as long as you don't add any commits to this branch
yourself. You can also trigger a rebase manually by commenting with
`@depfu rebase`.
<details><summary>All Depfu comment commands</summary>
<blockquote><dl>
<dt>@depfu rebase</dt><dd>Rebases against your default branch and
redoes this update</dd>
<dt>@depfu recreate</dt><dd>Recreates this PR, overwriting any edits
that you've made to it</dd>
<dt>@depfu merge</dt><dd>Merges this PR once your tests are passing and
conflicts are resolved</dd>
<dt>@depfu cancel merge</dt><dd>Cancels automatic merging of this
PR</dd>
<dt>@depfu close</dt><dd>Closes this PR and deletes the branch</dd>
<dt>@depfu reopen</dt><dd>Restores the branch and reopens this PR (if
it's closed)</dd>
<dt>@depfu pause</dt><dd>Ignores all future updates for this dependency
and closes this PR</dd>
<dt>@depfu pause [minor|major]</dt><dd>Ignores all future minor/major
updates for this dependency and closes this PR</dd>
<dt>@depfu resume</dt><dd>Future versions of this dependency will
create PRs again (leaves this PR as is)</dd>
</dl></blockquote>
</details>
Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com>
2025-12-02 07:09:28 -05:00
|
|
|
"@playwright/test": "^1.57.0",
|
2024-08-09 16:12:24 +02:00
|
|
|
"@types/node": "catalog:",
|
2025-06-26 11:28:01 +02:00
|
|
|
"postcss": "8.5.6",
|
2025-06-24 09:57:35 -04:00
|
|
|
"postcss-import": "^16.1.1",
|
2025-02-10 10:54:45 +01:00
|
|
|
"prettier": "catalog:",
|
2025-12-26 12:36:51 -05:00
|
|
|
"prettier-plugin-embed": "^0.5.1",
|
2025-09-26 16:10:41 -04:00
|
|
|
"prettier-plugin-organize-imports": "^4.3.0",
|
2025-11-19 18:18:45 -05:00
|
|
|
"tsup": "^8.5.1",
|
2026-01-05 07:46:49 -05:00
|
|
|
"turbo": "^2.7.2",
|
2024-08-09 16:12:24 +02:00
|
|
|
"typescript": "^5.5.4",
|
2025-11-21 00:16:20 +01:00
|
|
|
"vitest": "^4.0.3"
|
2024-07-29 15:06:59 +01:00
|
|
|
},
|
2024-09-02 15:23:46 +02:00
|
|
|
"packageManager": "pnpm@9.6.0",
|
|
|
|
|
"pnpm": {
|
|
|
|
|
"patchedDependencies": {
|
2025-10-17 15:41:49 -04:00
|
|
|
"lightningcss@1.30.2": "patches/lightningcss@1.30.2.patch",
|
2025-02-04 15:14:52 +01:00
|
|
|
"@parcel/watcher@2.5.1": "patches/@parcel__watcher@2.5.1.patch"
|
2024-09-02 15:23:46 +02:00
|
|
|
}
|
|
|
|
|
}
|
2024-03-05 14:23:26 +01:00
|
|
|
}
|