Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions apps/www/content/docs/arkenv/integrations/open-vsx.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Integrate with Cursor, Antigravity, and other VSCodium-based IDEs
---

Install the [ArkType extension](https://open-vsx.org/extension/arktypeio/arkdark) for syntax highlighting and inline error detection. For improved DX, use a theme from [ArkThemes](https://open-vsx.org/extension/arktypeio/arkthemes).

<Cards>
<Card
title="ArkType – Open VSX Registry"
href="https://open-vsx.org/extension/arktypeio/arkdark"
description="Syntax highlighting and inline errors for ArkType ⛵"
/>
<Card
title="ArkThemes – Open VSX Registry"
href="https://open-vsx.org/extension/arktypeio/arkthemes"
description="A collection of themes with special highlighting for TypeScript generics ⛵"
/>
</Cards>

<include>./import-guide.mdx</include>
2 changes: 1 addition & 1 deletion apps/www/content/docs/arkenv/integrations/vscode.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Integrate with VS Code & Cursor
title: Integrate with Visual Studio Code
---

Install the [ArkType extension](https://marketplace.visualstudio.com/items?itemName=arktypeio.arkdark) for syntax highlighting and inline error detection. For improved DX, use a theme from [ArkThemes](https://marketplace.visualstudio.com/items?itemName=arktypeio.arkthemes).
Expand Down
5 changes: 3 additions & 2 deletions apps/www/content/docs/arkenv/meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@
"---API---",
"morphs",
"---Integrations---",
"[VS Code & Cursor](/docs/arkenv/integrations/vscode)",
"[JetBrains IDEs](/docs/arkenv/integrations/jetbrains)",
"[VS Code](/docs/arkenv/integrations/vscode)",
"[Cursor, Antigravity, VSCodium](/docs/arkenv/integrations/open-vsx)",
"[JetBrains](/docs/arkenv/integrations/jetbrains)",
"[New][Standard Schema](/docs/arkenv/integrations/standard-schema)",
"---How-to---",
"[Load environment variables](/docs/arkenv/how-to/load-environment-variables)",
Expand Down
7 changes: 3 additions & 4 deletions apps/www/content/docs/vite-plugin/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@ import { defineConfig } from "vite";
export default defineConfig({
plugins: [
arkenv({
VITE_API_URL: "string",
VITE_APP_NAME: "'MyApp' | 'TestApp'",
VITE_DEBUG: 'boolean = false'
PORT: "number.port",
VITE_MY_VAR: "string",
}),
],
});
Expand All @@ -26,7 +25,7 @@ With this setup, if any environment variable is missing or invalid, your dev ser

```bash title="Terminal"
ArkEnvError: Errors found while validating environment variables
HOST must be a string or "localhost" (was missing)
VITE_MY_VAR must be a string (was missing)
PORT must be an integer between 0 and 65535 (was "hello")
```

Expand Down
12 changes: 3 additions & 9 deletions tooling/playwright-www/tests/integrations.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ test.describe("Integration Pages", () => {

// Check page title
await expect(page.locator("h1")).toContainText(
"Integrate with VS Code & Cursor",
"Integrate with Visual Studio Code",
);

// Check for main content
Expand Down Expand Up @@ -65,7 +65,6 @@ test.describe("Integration Pages", () => {
// Test clicking on first card
const firstCard = cardLinks.first();
await expect(firstCard).toBeVisible();
await expect(firstCard).toHaveAttribute("target", "_blank");
});

test("should load JetBrains integration page", async ({ page }) => {
Expand All @@ -89,11 +88,7 @@ test.describe("Integration Pages", () => {
);
const linkCount = await marketplaceLinks.count();

if (linkCount > 0) {
const firstLink = marketplaceLinks.first();
await expect(firstLink).toHaveAttribute("target", "_blank");
await expect(firstLink).toHaveAttribute("rel", "noreferrer noopener");
}
expect(linkCount).toBeGreaterThan(0);
});

test("should display JetBrains extension descriptions", async ({ page }) => {
Expand Down Expand Up @@ -147,8 +142,7 @@ test.describe("Integration Pages", () => {
if (linkCount > 0) {
for (let i = 0; i < Math.min(linkCount, 3); i++) {
const link = externalLinks.nth(i);
await expect(link).toHaveAttribute("target", "_blank");
await expect(link).toHaveAttribute("rel", "noreferrer noopener");
await expect(link).toBeVisible();
}
}
}
Expand Down