Add project files
This commit is contained in:
9
e2e-tests/1.spec.ts
Normal file
9
e2e-tests/1.spec.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { expect } from "@playwright/test";
|
||||
import { test } from "./helpers/test_helper";
|
||||
|
||||
test("renders the first page", async ({ electronApp }) => {
|
||||
const page = await electronApp.firstWindow();
|
||||
await page.waitForSelector("h1");
|
||||
const text = await page.$eval("h1", (el) => el.textContent);
|
||||
expect(text).toBe("Build your dream app");
|
||||
});
|
||||
18
e2e-tests/approve.spec.ts
Normal file
18
e2e-tests/approve.spec.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { testSkipIfWindows, Timeout } from "./helpers/test_helper";
|
||||
import { expect } from "@playwright/test";
|
||||
|
||||
testSkipIfWindows("write to index, approve, check preview", async ({ po }) => {
|
||||
await po.setUp();
|
||||
await po.sendPrompt("tc=write-index");
|
||||
await po.snapshotMessages();
|
||||
await po.approveProposal();
|
||||
|
||||
// Should be slightly different from above, because it will say "approved"
|
||||
await po.snapshotMessages();
|
||||
|
||||
// This can be pretty slow because it's waiting for the app to build.
|
||||
await expect(po.getPreviewIframeElement()).toBeVisible({
|
||||
timeout: Timeout.LONG,
|
||||
});
|
||||
await po.snapshotPreview();
|
||||
});
|
||||
10
e2e-tests/astro.spec.ts
Normal file
10
e2e-tests/astro.spec.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { test } from "./helpers/test_helper";
|
||||
|
||||
test("astro", async ({ po }) => {
|
||||
await po.setUp({ autoApprove: true });
|
||||
await po.importApp("astro");
|
||||
|
||||
await po.sendPrompt("[dump] hi");
|
||||
|
||||
await po.snapshotServerDump("all-messages");
|
||||
});
|
||||
104
e2e-tests/attach_image.spec.ts
Normal file
104
e2e-tests/attach_image.spec.ts
Normal file
@@ -0,0 +1,104 @@
|
||||
import path from "path";
|
||||
import { test } from "./helpers/test_helper";
|
||||
import { expect } from "@playwright/test";
|
||||
import * as fs from "fs";
|
||||
|
||||
// It's hard to read the snapshots, but they should be identical across
|
||||
// all test cases in this file, so we use the same snapshot name to ensure
|
||||
// the outputs are identical.
|
||||
const SNAPSHOT_NAME = "attach-image";
|
||||
|
||||
// attach image is implemented in two separate components
|
||||
// - HomeChatInput
|
||||
// - ChatInput
|
||||
// so we need to test both
|
||||
test("attach image - home chat", async ({ po }) => {
|
||||
await po.setUp();
|
||||
|
||||
await po
|
||||
.getHomeChatInputContainer()
|
||||
.getByTestId("chat-context-file-input")
|
||||
.setInputFiles("e2e-tests/fixtures/images/logo.png");
|
||||
await po.sendPrompt("[dump]");
|
||||
await po.snapshotServerDump("last-message", { name: SNAPSHOT_NAME });
|
||||
await po.snapshotMessages({ replaceDumpPath: true });
|
||||
});
|
||||
|
||||
test("attach image - chat", async ({ po }) => {
|
||||
await po.setUp({ autoApprove: true });
|
||||
await po.sendPrompt("basic");
|
||||
|
||||
// attach via file input (click-to-upload)
|
||||
await po
|
||||
.getChatInputContainer()
|
||||
.getByTestId("chat-context-file-input")
|
||||
.setInputFiles("e2e-tests/fixtures/images/logo.png");
|
||||
await po.sendPrompt("[dump]");
|
||||
await po.snapshotServerDump("last-message", { name: SNAPSHOT_NAME });
|
||||
await po.snapshotMessages({ replaceDumpPath: true });
|
||||
});
|
||||
|
||||
test("attach image - chat - upload to codebase", async ({ po }) => {
|
||||
await po.setUp({ autoApprove: true });
|
||||
await po.sendPrompt("basic");
|
||||
|
||||
// attach via file input (click-to-upload)
|
||||
await po
|
||||
.getChatInputContainer()
|
||||
.getByTestId("upload-to-codebase-file-input")
|
||||
.setInputFiles("e2e-tests/fixtures/images/logo.png");
|
||||
await po.sendPrompt("[[UPLOAD_IMAGE_TO_CODEBASE]]");
|
||||
|
||||
await po.snapshotServerDump("last-message", { name: "upload-to-codebase" });
|
||||
await po.snapshotMessages({ replaceDumpPath: true });
|
||||
|
||||
// new/image/file.png
|
||||
const appPath = await po.getCurrentAppPath();
|
||||
const filePath = path.join(appPath, "new", "image", "file.png");
|
||||
expect(fs.existsSync(filePath)).toBe(true);
|
||||
// check contents of filePath is equal in value to e2e-tests/fixtures/images/logo.png
|
||||
const expectedContents = fs.readFileSync(
|
||||
"e2e-tests/fixtures/images/logo.png",
|
||||
"base64",
|
||||
);
|
||||
const actualContents = fs.readFileSync(filePath, "base64");
|
||||
expect(actualContents).toBe(expectedContents);
|
||||
});
|
||||
|
||||
// attach image via drag-and-drop to chat input container
|
||||
test("attach image via drag - chat", async ({ po }) => {
|
||||
await po.setUp({ autoApprove: true });
|
||||
await po.sendPrompt("basic");
|
||||
// read fixture and convert to base64 for browser context
|
||||
const fileBase64 = fs.readFileSync(
|
||||
"e2e-tests/fixtures/images/logo.png",
|
||||
"base64",
|
||||
);
|
||||
// locate the inner drop target (first child div of the container)
|
||||
const dropTarget = po.getChatInputContainer().locator("div").first();
|
||||
// simulate dragenter, dragover, and drop with a File
|
||||
await dropTarget.evaluate((element, fileBase64) => {
|
||||
// convert base64 to Uint8Array
|
||||
const binary = atob(fileBase64);
|
||||
const len = binary.length;
|
||||
const array = new Uint8Array(len);
|
||||
for (let i = 0; i < len; i++) array[i] = binary.charCodeAt(i);
|
||||
// create file and dataTransfer
|
||||
const blob = new Blob([array], { type: "image/png" });
|
||||
const file = new File([blob], "logo.png", { type: "image/png" });
|
||||
const dt = new DataTransfer();
|
||||
dt.items.add(file);
|
||||
// dispatch drag events
|
||||
["dragenter", "dragover", "drop"].forEach((eventType) => {
|
||||
element.dispatchEvent(
|
||||
new DragEvent(eventType, { dataTransfer: dt, bubbles: true }),
|
||||
);
|
||||
});
|
||||
}, fileBase64);
|
||||
|
||||
// submit and verify
|
||||
await po.sendPrompt("[dump]");
|
||||
// Note: this should match EXACTLY the server dump from the previous test.
|
||||
await po.snapshotServerDump("last-message", { name: SNAPSHOT_NAME });
|
||||
await po.snapshotMessages({ replaceDumpPath: true });
|
||||
});
|
||||
14
e2e-tests/auto_approve.spec.ts
Normal file
14
e2e-tests/auto_approve.spec.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { testSkipIfWindows, Timeout } from "./helpers/test_helper";
|
||||
import { expect } from "@playwright/test";
|
||||
|
||||
testSkipIfWindows("auto-approve", async ({ po }) => {
|
||||
await po.setUp({ autoApprove: true });
|
||||
await po.sendPrompt("tc=write-index");
|
||||
await po.snapshotMessages();
|
||||
|
||||
// This can be pretty slow because it's waiting for the app to build.
|
||||
await expect(po.getPreviewIframeElement()).toBeVisible({
|
||||
timeout: Timeout.LONG,
|
||||
});
|
||||
await po.snapshotPreview();
|
||||
});
|
||||
15
e2e-tests/auto_update.spec.ts
Normal file
15
e2e-tests/auto_update.spec.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { expect } from "@playwright/test";
|
||||
import { test } from "./helpers/test_helper";
|
||||
|
||||
test("auto update - disable and enable", async ({ po }) => {
|
||||
await po.goToSettingsTab();
|
||||
|
||||
await po.toggleAutoUpdate();
|
||||
await expect(
|
||||
po.page.getByRole("button", { name: "Restart Dyad" }),
|
||||
).toBeVisible();
|
||||
await po.snapshotSettings();
|
||||
|
||||
await po.toggleAutoUpdate();
|
||||
await po.snapshotSettings();
|
||||
});
|
||||
225
e2e-tests/backup.spec.ts
Normal file
225
e2e-tests/backup.spec.ts
Normal file
@@ -0,0 +1,225 @@
|
||||
import * as path from "path";
|
||||
import * as fs from "fs";
|
||||
import * as crypto from "crypto";
|
||||
import { testWithConfig, test, PageObject } from "./helpers/test_helper";
|
||||
import { expect } from "@playwright/test";
|
||||
|
||||
const BACKUP_SETTINGS = { testFixture: true };
|
||||
const testWithLastVersion = testWithConfig({
|
||||
preLaunchHook: async ({ userDataDir }) => {
|
||||
fs.mkdirSync(path.join(userDataDir), { recursive: true });
|
||||
fs.writeFileSync(path.join(userDataDir, ".last_version"), "0.1.0");
|
||||
fs.copyFileSync(
|
||||
path.join(__dirname, "fixtures", "backups", "empty-v0.12.0-beta.1.db"),
|
||||
path.join(userDataDir, "sqlite.db"),
|
||||
);
|
||||
fs.writeFileSync(
|
||||
path.join(userDataDir, "user-settings.json"),
|
||||
JSON.stringify(BACKUP_SETTINGS, null, 2),
|
||||
);
|
||||
},
|
||||
});
|
||||
|
||||
const testWithMultipleBackups = testWithConfig({
|
||||
preLaunchHook: async ({ userDataDir }) => {
|
||||
fs.mkdirSync(path.join(userDataDir), { recursive: true });
|
||||
// Make sure there's a last version file so the version upgrade is detected.
|
||||
fs.writeFileSync(path.join(userDataDir, ".last_version"), "0.1.0");
|
||||
fs.writeFileSync(
|
||||
path.join(userDataDir, "user-settings.json"),
|
||||
JSON.stringify(BACKUP_SETTINGS, null, 2),
|
||||
);
|
||||
|
||||
// Create backups directory
|
||||
const backupsDir = path.join(userDataDir, "backups");
|
||||
fs.mkdirSync(backupsDir, { recursive: true });
|
||||
|
||||
// Create 5 mock backup directories with different timestamps
|
||||
// These timestamps are in ascending order (oldest to newest)
|
||||
const mockBackups = [
|
||||
{
|
||||
name: "v1.0.0_2023-01-01T10-00-00-000Z_upgrade_from_0.9.0",
|
||||
timestamp: "2023-01-01T10:00:00.000Z",
|
||||
version: "1.0.0",
|
||||
reason: "upgrade_from_0.9.0",
|
||||
},
|
||||
{
|
||||
name: "v1.0.1_2023-01-02T10-00-00-000Z_upgrade_from_1.0.0",
|
||||
timestamp: "2023-01-02T10:00:00.000Z",
|
||||
version: "1.0.1",
|
||||
reason: "upgrade_from_1.0.0",
|
||||
},
|
||||
{
|
||||
name: "v1.0.2_2023-01-03T10-00-00-000Z_upgrade_from_1.0.1",
|
||||
timestamp: "2023-01-03T10:00:00.000Z",
|
||||
version: "1.0.2",
|
||||
reason: "upgrade_from_1.0.1",
|
||||
},
|
||||
{
|
||||
name: "v1.0.3_2023-01-04T10-00-00-000Z_upgrade_from_1.0.2",
|
||||
timestamp: "2023-01-04T10:00:00.000Z",
|
||||
version: "1.0.3",
|
||||
reason: "upgrade_from_1.0.2",
|
||||
},
|
||||
{
|
||||
name: "v1.0.4_2023-01-05T10-00-00-000Z_upgrade_from_1.0.3",
|
||||
timestamp: "2023-01-05T10:00:00.000Z",
|
||||
version: "1.0.4",
|
||||
reason: "upgrade_from_1.0.3",
|
||||
},
|
||||
];
|
||||
|
||||
// Create each backup directory with realistic structure
|
||||
for (const backup of mockBackups) {
|
||||
const backupPath = path.join(backupsDir, backup.name);
|
||||
fs.mkdirSync(backupPath, { recursive: true });
|
||||
|
||||
// Create backup metadata
|
||||
const metadata = {
|
||||
version: backup.version,
|
||||
timestamp: backup.timestamp,
|
||||
reason: backup.reason,
|
||||
files: {
|
||||
settings: true,
|
||||
database: true,
|
||||
},
|
||||
checksums: {
|
||||
settings: "mock_settings_checksum_" + backup.version,
|
||||
database: "mock_database_checksum_" + backup.version,
|
||||
},
|
||||
};
|
||||
|
||||
fs.writeFileSync(
|
||||
path.join(backupPath, "backup.json"),
|
||||
JSON.stringify(metadata, null, 2),
|
||||
);
|
||||
|
||||
// Create mock backup files
|
||||
fs.writeFileSync(
|
||||
path.join(backupPath, "user-settings.json"),
|
||||
JSON.stringify({ version: backup.version, mockData: true }, null, 2),
|
||||
);
|
||||
|
||||
fs.writeFileSync(
|
||||
path.join(backupPath, "sqlite.db"),
|
||||
`mock_database_content_${backup.version}`,
|
||||
);
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
const ensureAppIsRunning = async (po: PageObject) => {
|
||||
await po.page.waitForSelector("h1");
|
||||
const text = await po.page.$eval("h1", (el) => el.textContent);
|
||||
expect(text).toBe("Build your dream app");
|
||||
};
|
||||
|
||||
test("backup is not created for first run", async ({ po }) => {
|
||||
await ensureAppIsRunning(po);
|
||||
|
||||
expect(fs.existsSync(path.join(po.userDataDir, "backups"))).toEqual(false);
|
||||
});
|
||||
|
||||
testWithLastVersion(
|
||||
"backup is created if version is upgraded",
|
||||
async ({ po }) => {
|
||||
await ensureAppIsRunning(po);
|
||||
|
||||
const backups = fs.readdirSync(path.join(po.userDataDir, "backups"));
|
||||
expect(backups).toHaveLength(1);
|
||||
const backupDir = path.join(po.userDataDir, "backups", backups[0]);
|
||||
const backupMetadata = JSON.parse(
|
||||
fs.readFileSync(path.join(backupDir, "backup.json"), "utf8"),
|
||||
);
|
||||
|
||||
expect(backupMetadata.version).toBeDefined();
|
||||
expect(backupMetadata.timestamp).toBeDefined();
|
||||
expect(backupMetadata.reason).toBe("upgrade_from_0.1.0");
|
||||
expect(backupMetadata.files.settings).toBe(true);
|
||||
expect(backupMetadata.files.database).toBe(true);
|
||||
expect(backupMetadata.checksums.settings).toBeDefined();
|
||||
expect(backupMetadata.checksums.database).toBeDefined();
|
||||
|
||||
// Compare the backup files to the original files
|
||||
const backupSettings = fs.readFileSync(
|
||||
path.join(backupDir, "user-settings.json"),
|
||||
"utf8",
|
||||
);
|
||||
expect(backupSettings).toEqual(JSON.stringify(BACKUP_SETTINGS, null, 2));
|
||||
|
||||
// For database, verify the backup file exists and has correct checksum
|
||||
const backupDbPath = path.join(backupDir, "sqlite.db");
|
||||
const originalDbPath = path.join(po.userDataDir, "sqlite.db");
|
||||
|
||||
expect(fs.existsSync(backupDbPath)).toBe(true);
|
||||
expect(fs.existsSync(originalDbPath)).toBe(true);
|
||||
|
||||
const backupChecksum = calculateChecksum(backupDbPath);
|
||||
// Verify backup metadata contains the correct checksum
|
||||
expect(backupMetadata.checksums.database).toBe(backupChecksum);
|
||||
},
|
||||
);
|
||||
|
||||
testWithMultipleBackups(
|
||||
"backup cleanup deletes oldest backups when exceeding MAX_BACKUPS",
|
||||
async ({ po }) => {
|
||||
await ensureAppIsRunning(po);
|
||||
|
||||
const backupsDir = path.join(po.userDataDir, "backups");
|
||||
const backups = fs.readdirSync(backupsDir);
|
||||
|
||||
// Should have only 3 backups remaining (MAX_BACKUPS = 3)
|
||||
expect(backups).toHaveLength(3);
|
||||
|
||||
const expectedRemainingBackups = [
|
||||
"*",
|
||||
// These are the two older backups
|
||||
"v1.0.4_2023-01-05T10-00-00-000Z_upgrade_from_1.0.3",
|
||||
"v1.0.3_2023-01-04T10-00-00-000Z_upgrade_from_1.0.2",
|
||||
];
|
||||
|
||||
// Check that the expected backups exist
|
||||
for (let backup of expectedRemainingBackups) {
|
||||
let expectedBackup = backup;
|
||||
if (backup === "*") {
|
||||
expectedBackup = backups[0];
|
||||
expect(expectedBackup.endsWith("_upgrade_from_0.1.0")).toEqual(true);
|
||||
} else {
|
||||
expect(backups).toContain(expectedBackup);
|
||||
}
|
||||
|
||||
// Verify the backup directory and metadata still exist
|
||||
const backupPath = path.join(backupsDir, expectedBackup);
|
||||
expect(fs.existsSync(backupPath)).toBe(true);
|
||||
expect(fs.existsSync(path.join(backupPath, "backup.json"))).toBe(true);
|
||||
expect(fs.existsSync(path.join(backupPath, "user-settings.json"))).toBe(
|
||||
true,
|
||||
);
|
||||
|
||||
// The first backup does NOT have a SQLite database because the backup
|
||||
// manager is run before the DB is initialized.
|
||||
expect(fs.existsSync(path.join(backupPath, "sqlite.db"))).toBe(
|
||||
backup !== "*",
|
||||
);
|
||||
}
|
||||
|
||||
// The 2 oldest backups should have been deleted
|
||||
const deletedBackups = [
|
||||
"v1.0.0_2023-01-01T10-00-00-000Z_upgrade_from_0.9.0", // oldest
|
||||
"v1.0.1_2023-01-02T10-00-00-000Z_upgrade_from_1.0.0", // second oldest
|
||||
"v1.0.2_2023-01-03T10-00-00-000Z_upgrade_from_1.0.1", // third oldest
|
||||
];
|
||||
|
||||
for (const deletedBackup of deletedBackups) {
|
||||
expect(backups).not.toContain(deletedBackup);
|
||||
expect(fs.existsSync(path.join(backupsDir, deletedBackup))).toBe(false);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
function calculateChecksum(filePath: string): string {
|
||||
const fileBuffer = fs.readFileSync(filePath);
|
||||
const hash = crypto.createHash("sha256");
|
||||
hash.update(fileBuffer);
|
||||
return hash.digest("hex");
|
||||
}
|
||||
34
e2e-tests/capacitor.spec.ts
Normal file
34
e2e-tests/capacitor.spec.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import { testSkipIfWindows, Timeout } from "./helpers/test_helper";
|
||||
|
||||
testSkipIfWindows("capacitor upgrade and sync works", async ({ po }) => {
|
||||
await po.setUp();
|
||||
await po.sendPrompt("hi");
|
||||
await po.getTitleBarAppNameButton().click();
|
||||
await po.clickAppUpgradeButton({ upgradeId: "capacitor" });
|
||||
await po.expectNoAppUpgrades();
|
||||
await po.snapshotAppFiles({ name: "upgraded-capacitor" });
|
||||
|
||||
await po.page.getByTestId("capacitor-controls").waitFor({ state: "visible" });
|
||||
|
||||
// Test sync & open iOS functionality - the button contains "Sync & Open iOS"
|
||||
const iosButton = po.page.getByRole("button", { name: /Sync & Open iOS/i });
|
||||
await iosButton.click();
|
||||
|
||||
// In test mode, this should complete without error and return to idle state
|
||||
// Wait for the button to be enabled again (not in loading state)
|
||||
await po.page
|
||||
.getByText("Sync & Open iOS")
|
||||
.waitFor({ state: "visible", timeout: Timeout.LONG });
|
||||
|
||||
// Test sync & open Android functionality - the button contains "Sync & Open Android"
|
||||
const androidButton = po.page.getByRole("button", {
|
||||
name: /Sync & Open Android/i,
|
||||
});
|
||||
await androidButton.click();
|
||||
|
||||
// In test mode, this should complete without error and return to idle state
|
||||
// Wait for the button to be enabled again (not in loading state)
|
||||
await po.page
|
||||
.getByText("Sync & Open Android")
|
||||
.waitFor({ state: "visible", timeout: Timeout.LONG });
|
||||
});
|
||||
24
e2e-tests/chat_mode.spec.ts
Normal file
24
e2e-tests/chat_mode.spec.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { test } from "./helpers/test_helper";
|
||||
|
||||
test("chat mode selector - default build mode", async ({ po }) => {
|
||||
await po.setUp({ autoApprove: true });
|
||||
await po.importApp("minimal");
|
||||
|
||||
await po.sendPrompt("[dump] hi");
|
||||
await po.waitForChatCompletion();
|
||||
|
||||
await po.snapshotServerDump("all-messages");
|
||||
await po.snapshotMessages({ replaceDumpPath: true });
|
||||
});
|
||||
|
||||
test("chat mode selector - ask mode", async ({ po }) => {
|
||||
await po.setUp({ autoApprove: true });
|
||||
await po.importApp("minimal");
|
||||
|
||||
await po.selectChatMode("ask");
|
||||
await po.sendPrompt("[dump] hi");
|
||||
await po.waitForChatCompletion();
|
||||
|
||||
await po.snapshotServerDump("all-messages");
|
||||
await po.snapshotMessages({ replaceDumpPath: true });
|
||||
});
|
||||
137
e2e-tests/context_manage.spec.ts
Normal file
137
e2e-tests/context_manage.spec.ts
Normal file
@@ -0,0 +1,137 @@
|
||||
import { test } from "./helpers/test_helper";
|
||||
|
||||
test("manage context - default", async ({ po }) => {
|
||||
await po.setUp();
|
||||
await po.importApp("context-manage");
|
||||
|
||||
const dialog = await po.openContextFilesPicker();
|
||||
await po.snapshotDialog();
|
||||
await dialog.addManualContextFile("DELETETHIS");
|
||||
await dialog.removeManualContextFile();
|
||||
await dialog.addManualContextFile("src/**/*.ts");
|
||||
await dialog.addManualContextFile("src/sub/**");
|
||||
await po.snapshotDialog();
|
||||
await dialog.close();
|
||||
|
||||
await po.sendPrompt("[dump]");
|
||||
|
||||
await po.snapshotServerDump("all-messages");
|
||||
});
|
||||
|
||||
test("manage context - smart context", async ({ po }) => {
|
||||
await po.setUpDyadPro();
|
||||
await po.selectModel({ provider: "Google", model: "Gemini 2.5 Pro" });
|
||||
await po.importApp("context-manage");
|
||||
|
||||
let dialog = await po.openContextFilesPicker();
|
||||
await po.snapshotDialog();
|
||||
|
||||
await dialog.addManualContextFile("src/**/*.ts");
|
||||
await dialog.addManualContextFile("src/sub/**");
|
||||
await dialog.addAutoIncludeContextFile("a.ts");
|
||||
await dialog.addAutoIncludeContextFile("manual/**");
|
||||
await po.snapshotDialog();
|
||||
await dialog.close();
|
||||
|
||||
await po.sendPrompt("[dump]");
|
||||
|
||||
await po.snapshotServerDump("request");
|
||||
await po.snapshotServerDump("all-messages");
|
||||
|
||||
// Disabling smart context will automatically disable
|
||||
// the auto-includes.
|
||||
const proModesDialog = await po.openProModesDialog();
|
||||
await proModesDialog.setSmartContextMode("off");
|
||||
await proModesDialog.close();
|
||||
|
||||
await po.sendPrompt("[dump]");
|
||||
await po.snapshotServerDump("request");
|
||||
|
||||
// Removing manual context files will result in all files being included.
|
||||
dialog = await po.openContextFilesPicker();
|
||||
await dialog.removeManualContextFile();
|
||||
await dialog.removeManualContextFile();
|
||||
await dialog.close();
|
||||
|
||||
await po.sendPrompt("[dump]");
|
||||
await po.snapshotServerDump("request");
|
||||
});
|
||||
|
||||
test("manage context - smart context - auto-includes only", async ({ po }) => {
|
||||
await po.setUpDyadPro();
|
||||
await po.selectModel({ provider: "Google", model: "Gemini 2.5 Pro" });
|
||||
await po.importApp("context-manage");
|
||||
|
||||
const dialog = await po.openContextFilesPicker();
|
||||
await po.snapshotDialog();
|
||||
|
||||
await dialog.addAutoIncludeContextFile("a.ts");
|
||||
await dialog.addAutoIncludeContextFile("manual/**");
|
||||
await po.snapshotDialog();
|
||||
await dialog.close();
|
||||
|
||||
await po.sendPrompt("[dump]");
|
||||
|
||||
await po.snapshotServerDump("request");
|
||||
});
|
||||
|
||||
test("manage context - exclude paths", async ({ po }) => {
|
||||
await po.setUp();
|
||||
await po.importApp("context-manage");
|
||||
|
||||
const dialog = await po.openContextFilesPicker();
|
||||
await po.snapshotDialog();
|
||||
|
||||
// Add some include paths first
|
||||
await dialog.addManualContextFile("src/**/*.ts");
|
||||
await dialog.addManualContextFile("manual/**");
|
||||
|
||||
// Add exclude paths
|
||||
await dialog.addExcludeContextFile("src/components/**");
|
||||
await dialog.addExcludeContextFile("manual/exclude/**");
|
||||
await po.snapshotDialog();
|
||||
await dialog.close();
|
||||
|
||||
await po.sendPrompt("[dump]");
|
||||
await po.snapshotServerDump("all-messages", { name: "exclude-paths-basic" });
|
||||
|
||||
// Test that exclude paths take precedence over include paths
|
||||
const dialog2 = await po.openContextFilesPicker();
|
||||
await dialog2.removeExcludeContextFile(); // Remove src/components/**
|
||||
await dialog2.addExcludeContextFile("src/**"); // This should exclude everything from src
|
||||
await po.snapshotDialog();
|
||||
await dialog2.close();
|
||||
|
||||
await po.sendPrompt("[dump]");
|
||||
await po.snapshotServerDump("all-messages", {
|
||||
name: "exclude-paths-precedence",
|
||||
});
|
||||
});
|
||||
|
||||
test("manage context - exclude paths with smart context", async ({ po }) => {
|
||||
await po.setUpDyadPro();
|
||||
await po.selectModel({ provider: "Google", model: "Gemini 2.5 Pro" });
|
||||
await po.importApp("context-manage");
|
||||
|
||||
const dialog = await po.openContextFilesPicker();
|
||||
await po.snapshotDialog();
|
||||
|
||||
// Add manual context files
|
||||
await dialog.addManualContextFile("src/**/*.ts");
|
||||
await dialog.addManualContextFile("manual/**");
|
||||
|
||||
// Add smart context auto-includes
|
||||
await dialog.addAutoIncludeContextFile("a.ts");
|
||||
await dialog.addAutoIncludeContextFile("exclude/**");
|
||||
|
||||
// Add exclude paths that should filter out some of the above
|
||||
await dialog.addExcludeContextFile("src/components/**");
|
||||
await dialog.addExcludeContextFile("exclude/exclude.ts");
|
||||
await po.snapshotDialog();
|
||||
await dialog.close();
|
||||
|
||||
await po.sendPrompt("[dump]");
|
||||
await po.snapshotServerDump("all-messages", {
|
||||
name: "exclude-paths-with-smart-context",
|
||||
});
|
||||
});
|
||||
27
e2e-tests/context_window.spec.ts
Normal file
27
e2e-tests/context_window.spec.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import { testSkipIfWindows } from "./helpers/test_helper";
|
||||
|
||||
testSkipIfWindows("context window", async ({ po }) => {
|
||||
await po.setUp();
|
||||
await po.sendPrompt("tc=1");
|
||||
await po.sendPrompt("tc=2");
|
||||
await po.sendPrompt("[dump] tc=3");
|
||||
await po.snapshotServerDump();
|
||||
await po.sendPrompt("[dump] tc=4");
|
||||
await po.snapshotServerDump();
|
||||
await po.sendPrompt("[dump] tc=5");
|
||||
await po.snapshotServerDump();
|
||||
|
||||
await po.goToSettingsTab();
|
||||
await po.page
|
||||
.getByRole("combobox", { name: "Maximum number of chat turns" })
|
||||
.click();
|
||||
await po.page.getByRole("option", { name: "Plus (5)" }).click();
|
||||
|
||||
// close combobox
|
||||
// await po.page.keyboard.press("Escape");
|
||||
await po.snapshotSettings();
|
||||
await po.page.getByText("Go Back").click();
|
||||
|
||||
await po.sendPrompt("[dump] tc=6");
|
||||
await po.snapshotServerDump();
|
||||
});
|
||||
52
e2e-tests/copy_app.spec.ts
Normal file
52
e2e-tests/copy_app.spec.ts
Normal file
@@ -0,0 +1,52 @@
|
||||
import { expect } from "@playwright/test";
|
||||
import { test, Timeout } from "./helpers/test_helper";
|
||||
|
||||
const tests = [
|
||||
{
|
||||
testName: "with history",
|
||||
newAppName: "copied-app-with-history",
|
||||
buttonName: "Copy app with history",
|
||||
expectedVersion: "Version 2",
|
||||
},
|
||||
{
|
||||
testName: "without history",
|
||||
newAppName: "copied-app-without-history",
|
||||
buttonName: "Copy app without history",
|
||||
expectedVersion: "Version 1",
|
||||
},
|
||||
];
|
||||
|
||||
for (const { testName, newAppName, buttonName, expectedVersion } of tests) {
|
||||
test(`copy app ${testName}`, async ({ po }) => {
|
||||
await po.setUp({ autoApprove: true });
|
||||
await po.sendPrompt("hi");
|
||||
await po.snapshotAppFiles({ name: "app" });
|
||||
|
||||
await po.getTitleBarAppNameButton().click();
|
||||
|
||||
// Open the dropdown menu
|
||||
await po.clickAppDetailsMoreOptions();
|
||||
await po.clickAppDetailsCopyAppButton();
|
||||
|
||||
await po.page.getByLabel("New app name").fill(newAppName);
|
||||
|
||||
// Click the "Copy app" button
|
||||
await po.page.getByRole("button", { name: buttonName }).click();
|
||||
|
||||
// Expect to be on the new app's detail page
|
||||
await expect(
|
||||
po.page.getByRole("heading", { name: newAppName }),
|
||||
).toBeVisible({
|
||||
// Potentially takes a while for the copy to complete
|
||||
timeout: Timeout.MEDIUM,
|
||||
});
|
||||
|
||||
const currentAppName = await po.getCurrentAppName();
|
||||
expect(currentAppName).toBe(newAppName);
|
||||
|
||||
await po.clickOpenInChatButton();
|
||||
|
||||
await expect(po.page.getByText(expectedVersion)).toBeVisible();
|
||||
await po.snapshotAppFiles({ name: "app" });
|
||||
});
|
||||
}
|
||||
27
e2e-tests/delete_app.spec.ts
Normal file
27
e2e-tests/delete_app.spec.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import fs from "fs";
|
||||
import { testSkipIfWindows } from "./helpers/test_helper";
|
||||
import { expect } from "@playwright/test";
|
||||
|
||||
testSkipIfWindows("delete app", async ({ po }) => {
|
||||
await po.setUp();
|
||||
await po.sendPrompt("hi");
|
||||
const appName = await po.getCurrentAppName();
|
||||
if (!appName) {
|
||||
throw new Error("App name not found");
|
||||
}
|
||||
const appPath = await po.getCurrentAppPath();
|
||||
await po.getTitleBarAppNameButton().click();
|
||||
await expect(po.getAppListItem({ appName })).toBeVisible();
|
||||
|
||||
// Delete app
|
||||
await po.clickAppDetailsMoreOptions();
|
||||
// Open delete dialog
|
||||
await po.page.getByRole("button", { name: "Delete" }).click();
|
||||
// Confirm delete
|
||||
await po.page.getByRole("button", { name: "Delete App" }).click();
|
||||
|
||||
// Make sure the app is deleted
|
||||
await po.isCurrentAppNameNone();
|
||||
expect(fs.existsSync(appPath)).toBe(false);
|
||||
expect(po.getAppListItem({ appName })).not.toBeVisible();
|
||||
});
|
||||
12
e2e-tests/delete_provider.spec.ts
Normal file
12
e2e-tests/delete_provider.spec.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { test } from "./helpers/test_helper";
|
||||
|
||||
test("delete custom provider should not freeze", async ({ po }) => {
|
||||
await po.setUp();
|
||||
await po.goToSettingsTab();
|
||||
await po.page.getByTestId("custom-provider-more-options").click();
|
||||
await po.page.getByRole("button", { name: "Delete Provider" }).click();
|
||||
await po.page.getByRole("button", { name: "Delete Provider" }).click();
|
||||
|
||||
// Make sure UI hasn't freezed
|
||||
await po.goToAppsTab();
|
||||
});
|
||||
8
e2e-tests/dump_messages.spec.ts
Normal file
8
e2e-tests/dump_messages.spec.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { test } from "./helpers/test_helper";
|
||||
|
||||
// This is useful to make sure the messages are being sent correctly.
|
||||
test("dump messages", async ({ po }) => {
|
||||
await po.setUp();
|
||||
await po.sendPrompt("[dump]");
|
||||
await po.snapshotServerDump();
|
||||
});
|
||||
8
e2e-tests/dyad_tags_parsing.spec.ts
Normal file
8
e2e-tests/dyad_tags_parsing.spec.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { testSkipIfWindows } from "./helpers/test_helper";
|
||||
|
||||
testSkipIfWindows("dyad tags handles nested < tags", async ({ po }) => {
|
||||
await po.setUp({ autoApprove: true });
|
||||
await po.importApp("minimal");
|
||||
await po.sendPrompt("tc=dyad-write-angle");
|
||||
await po.snapshotAppFiles({ name: "angle-tags-handled" });
|
||||
});
|
||||
84
e2e-tests/edit_code.spec.ts
Normal file
84
e2e-tests/edit_code.spec.ts
Normal file
@@ -0,0 +1,84 @@
|
||||
import { test } from "./helpers/test_helper";
|
||||
import { expect } from "@playwright/test";
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
|
||||
test("edit code", async ({ po }) => {
|
||||
const editedFilePath = path.join("src", "components", "made-with-dyad.tsx");
|
||||
await po.sendPrompt("foo");
|
||||
const appPath = await po.getCurrentAppPath();
|
||||
|
||||
await po.clickTogglePreviewPanel();
|
||||
|
||||
await po.selectPreviewMode("code");
|
||||
await po.page.getByText("made-with-dyad.tsx").click();
|
||||
await po.page
|
||||
.getByRole("code")
|
||||
.locator("div")
|
||||
.filter({ hasText: "export const" })
|
||||
.nth(4)
|
||||
.click();
|
||||
await po.page
|
||||
.getByRole("textbox", { name: "Editor content" })
|
||||
.fill("export const MadeWithDyad = ;");
|
||||
|
||||
// Save the file
|
||||
await po.page.getByTestId("save-file-button").click();
|
||||
|
||||
// Expect toast to be visible
|
||||
await expect(po.page.getByText("File saved")).toBeVisible();
|
||||
|
||||
// We are NOT snapshotting the app files because the Monaco UI edit
|
||||
// is not deterministic.
|
||||
const editedFile = fs.readFileSync(
|
||||
path.join(appPath, editedFilePath),
|
||||
"utf8",
|
||||
);
|
||||
expect(editedFile).toContain("export const MadeWithDyad = ;");
|
||||
});
|
||||
|
||||
test("edit code edits the right file", async ({ po }) => {
|
||||
const editedFilePath = path.join("src", "components", "made-with-dyad.tsx");
|
||||
const robotsFilePath = path.join("public", "robots.txt");
|
||||
await po.sendPrompt("foo");
|
||||
const appPath = await po.getCurrentAppPath();
|
||||
const originalRobotsFile = fs.readFileSync(
|
||||
path.join(appPath, robotsFilePath),
|
||||
"utf8",
|
||||
);
|
||||
|
||||
await po.clickTogglePreviewPanel();
|
||||
|
||||
await po.selectPreviewMode("code");
|
||||
await po.page.getByText("made-with-dyad.tsx").click();
|
||||
await po.page
|
||||
.getByRole("code")
|
||||
.locator("div")
|
||||
.filter({ hasText: "export const" })
|
||||
.nth(4)
|
||||
.click();
|
||||
await po.page
|
||||
.getByRole("textbox", { name: "Editor content" })
|
||||
.fill("export const MadeWithDyad = ;");
|
||||
|
||||
// Save the file by switching files
|
||||
await po.page.getByText("robots.txt").click();
|
||||
|
||||
// Expect toast to be visible
|
||||
await expect(po.page.getByText("File saved")).toBeVisible();
|
||||
|
||||
// We are NOT snapshotting the app files because the Monaco UI edit
|
||||
// is not deterministic.
|
||||
const editedFile = fs.readFileSync(
|
||||
path.join(appPath, editedFilePath),
|
||||
"utf8",
|
||||
);
|
||||
expect(editedFile).toContain("export const MadeWithDyad = ;");
|
||||
|
||||
// Make sure the robots.txt file is not edited
|
||||
const editedRobotsFile = fs.readFileSync(
|
||||
path.join(appPath, robotsFilePath),
|
||||
"utf8",
|
||||
);
|
||||
expect(editedRobotsFile).toEqual(originalRobotsFile);
|
||||
});
|
||||
55
e2e-tests/edit_custom_models.spec.ts
Normal file
55
e2e-tests/edit_custom_models.spec.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
import { test } from "./helpers/test_helper";
|
||||
import { expect } from "@playwright/test";
|
||||
|
||||
test("edit custom model", async ({ po }) => {
|
||||
await po.setUp();
|
||||
await po.goToSettingsTab();
|
||||
await po.page.getByText("test-provider").click();
|
||||
|
||||
// test edit model by double clicking the model panel
|
||||
await po.page
|
||||
.locator(".text-lg.font-semibold", { hasText: "test-model" })
|
||||
.dblclick({ delay: 100 });
|
||||
await po.page.locator("#edit-model-id").clear();
|
||||
await po.page.locator("#edit-model-id").fill("new-model-id");
|
||||
await po.page.locator("#edit-model-name").clear();
|
||||
await po.page.locator("#edit-model-name").fill("new-model-name");
|
||||
await po.page.getByRole("button", { name: "Update Model" }).click();
|
||||
|
||||
// assert that the model was updated
|
||||
await po.page
|
||||
.locator(".text-lg.font-semibold", { hasText: "new-model-name" })
|
||||
.dblclick({ delay: 100 });
|
||||
await expect(po.page.locator("#edit-model-id")).toHaveValue("new-model-id");
|
||||
await expect(po.page.locator("#edit-model-name")).toHaveValue(
|
||||
"new-model-name",
|
||||
);
|
||||
await po.page.getByRole("button", { name: "Cancel" }).click();
|
||||
|
||||
// test edit model by clicking the edit button
|
||||
await po.page
|
||||
.locator('button svg path[d*="M11 5H6a2"]')
|
||||
.locator("..")
|
||||
.locator("..")
|
||||
.click();
|
||||
await po.page.locator("#edit-model-id").clear();
|
||||
await po.page.locator("#edit-model-id").fill("another-model-id");
|
||||
await po.page.locator("#edit-model-name").clear();
|
||||
await po.page.locator("#edit-model-name").fill("another-model-name");
|
||||
await po.page.getByRole("button", { name: "Update Model" }).click();
|
||||
|
||||
// assert that the model was updated
|
||||
await po.page
|
||||
.locator(".text-lg.font-semibold", { hasText: "another-model-name" })
|
||||
.dblclick({ delay: 100 });
|
||||
await expect(po.page.locator("#edit-model-id")).toHaveValue(
|
||||
"another-model-id",
|
||||
);
|
||||
await expect(po.page.locator("#edit-model-name")).toHaveValue(
|
||||
"another-model-name",
|
||||
);
|
||||
await po.page.getByRole("button", { name: "Cancel" }).click();
|
||||
|
||||
// Make sure UI hasn't freezed
|
||||
await po.goToAppsTab();
|
||||
});
|
||||
77
e2e-tests/engine.spec.ts
Normal file
77
e2e-tests/engine.spec.ts
Normal file
@@ -0,0 +1,77 @@
|
||||
import { testSkipIfWindows } from "./helpers/test_helper";
|
||||
|
||||
testSkipIfWindows("send message to engine", async ({ po }) => {
|
||||
await po.setUpDyadPro();
|
||||
await po.selectModel({ provider: "Google", model: "Gemini 2.5 Pro" });
|
||||
await po.sendPrompt("[dump] tc=turbo-edits");
|
||||
|
||||
await po.snapshotServerDump("request");
|
||||
await po.snapshotMessages({ replaceDumpPath: true });
|
||||
});
|
||||
|
||||
testSkipIfWindows(
|
||||
"send message to engine - smart context balanced",
|
||||
async ({ po }) => {
|
||||
await po.setUpDyadPro();
|
||||
const proModesDialog = await po.openProModesDialog({
|
||||
location: "home-chat-input-container",
|
||||
});
|
||||
await proModesDialog.setSmartContextMode("balanced");
|
||||
await proModesDialog.close();
|
||||
await po.selectModel({ provider: "Google", model: "Gemini 2.5 Pro" });
|
||||
await po.sendPrompt("[dump] tc=turbo-edits");
|
||||
|
||||
await po.snapshotServerDump("request");
|
||||
await po.snapshotMessages({ replaceDumpPath: true });
|
||||
},
|
||||
);
|
||||
|
||||
testSkipIfWindows("send message to engine - openai gpt-4.1", async ({ po }) => {
|
||||
await po.setUpDyadPro();
|
||||
// By default, it's using auto which points to Flash 2.5 and doesn't
|
||||
// use engine.
|
||||
await po.selectModel({ provider: "OpenAI", model: "GPT 4.1" });
|
||||
await po.sendPrompt("[dump] tc=turbo-edits");
|
||||
|
||||
await po.snapshotServerDump("request");
|
||||
});
|
||||
|
||||
testSkipIfWindows(
|
||||
"send message to engine - anthropic claude sonnet 4",
|
||||
async ({ po }) => {
|
||||
await po.setUpDyadPro();
|
||||
// By default, it's using auto which points to Flash 2.5 and doesn't
|
||||
// use engine.
|
||||
await po.selectModel({ provider: "Anthropic", model: "Claude 4 Sonnet" });
|
||||
await po.sendPrompt("[dump] tc=turbo-edits");
|
||||
|
||||
await po.snapshotServerDump("request");
|
||||
},
|
||||
);
|
||||
|
||||
testSkipIfWindows(
|
||||
"smart auto should send message to engine",
|
||||
async ({ po }) => {
|
||||
await po.setUpDyadPro();
|
||||
await po.sendPrompt("[dump] tc=turbo-edits");
|
||||
|
||||
await po.snapshotServerDump("request");
|
||||
await po.snapshotMessages({ replaceDumpPath: true });
|
||||
},
|
||||
);
|
||||
|
||||
testSkipIfWindows(
|
||||
"regular auto should send message to engine",
|
||||
async ({ po }) => {
|
||||
await po.setUpDyadPro();
|
||||
const proModesDialog = await po.openProModesDialog({
|
||||
location: "home-chat-input-container",
|
||||
});
|
||||
await proModesDialog.setSmartContextMode("off");
|
||||
await proModesDialog.close();
|
||||
await po.sendPrompt("[dump] tc=turbo-edits");
|
||||
|
||||
await po.snapshotServerDump("request");
|
||||
await po.snapshotMessages({ replaceDumpPath: true });
|
||||
},
|
||||
);
|
||||
62
e2e-tests/env_var.spec.ts
Normal file
62
e2e-tests/env_var.spec.ts
Normal file
@@ -0,0 +1,62 @@
|
||||
import { expect } from "@playwright/test";
|
||||
import { test } from "./helpers/test_helper";
|
||||
import path from "path";
|
||||
import fs from "fs";
|
||||
|
||||
test("env var", async ({ po }) => {
|
||||
await po.sendPrompt("tc=1");
|
||||
const appPath = await po.getCurrentAppPath();
|
||||
|
||||
await po.selectPreviewMode("configure");
|
||||
|
||||
// Create a new env var
|
||||
await po.page
|
||||
.getByRole("button", { name: "Add Environment Variable" })
|
||||
.click();
|
||||
await po.page.getByRole("textbox", { name: "Key" }).click();
|
||||
await po.page.getByRole("textbox", { name: "Key" }).fill("aKey");
|
||||
|
||||
await po.page.getByRole("textbox", { name: "Value" }).click();
|
||||
await po.page.getByRole("textbox", { name: "Value" }).fill("aValue");
|
||||
|
||||
await po.page.getByRole("button", { name: "Save" }).click();
|
||||
await snapshotEnvVar({ appPath, name: "create-aKey" });
|
||||
|
||||
// Create second env var
|
||||
await po.page
|
||||
.getByRole("button", { name: "Add Environment Variable" })
|
||||
.click();
|
||||
await po.page.getByRole("textbox", { name: "Key" }).click();
|
||||
await po.page.getByRole("textbox", { name: "Key" }).fill("bKey");
|
||||
|
||||
await po.page.getByRole("textbox", { name: "Value" }).click();
|
||||
await po.page.getByRole("textbox", { name: "Value" }).fill("bValue");
|
||||
|
||||
await po.page.getByRole("button", { name: "Save" }).click();
|
||||
await snapshotEnvVar({ appPath, name: "create-bKey" });
|
||||
|
||||
// Edit second env var
|
||||
await po.page.getByTestId("edit-env-var-bKey").click();
|
||||
await po.page.getByRole("textbox", { name: "Value" }).click();
|
||||
await po.page.getByRole("textbox", { name: "Value" }).fill("bValue2");
|
||||
await po.page.getByTestId("save-edit-env-var").click();
|
||||
await snapshotEnvVar({ appPath, name: "edit-bKey" });
|
||||
|
||||
// Delete first env var
|
||||
await po.page.getByTestId("delete-env-var-aKey").click();
|
||||
await snapshotEnvVar({ appPath, name: "delete-aKey" });
|
||||
});
|
||||
|
||||
async function snapshotEnvVar({
|
||||
appPath,
|
||||
name,
|
||||
}: {
|
||||
appPath: string;
|
||||
name: string;
|
||||
}) {
|
||||
expect(() => {
|
||||
const envFile = path.join(appPath, ".env.local");
|
||||
const envFileContent = fs.readFileSync(envFile, "utf8");
|
||||
expect(envFileContent).toMatchSnapshot({ name });
|
||||
}).toPass();
|
||||
}
|
||||
21
e2e-tests/fix_error.spec.ts
Normal file
21
e2e-tests/fix_error.spec.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { testSkipIfWindows } from "./helpers/test_helper";
|
||||
|
||||
testSkipIfWindows("fix error with AI", async ({ po }) => {
|
||||
await po.setUp({ autoApprove: true });
|
||||
await po.sendPrompt("tc=create-error");
|
||||
|
||||
await po.snapshotPreviewErrorBanner();
|
||||
|
||||
await po.page.getByText("Error Line 6 error", { exact: true }).click();
|
||||
await po.snapshotPreviewErrorBanner();
|
||||
|
||||
await po.clickFixErrorWithAI();
|
||||
await po.waitForChatCompletion();
|
||||
await po.snapshotMessages();
|
||||
|
||||
// TODO: this is an actual bug where the error banner should not
|
||||
// be shown, however there's some kind of race condition and
|
||||
// we don't reliably detect when the HMR update has completed.
|
||||
// await po.locatePreviewErrorBanner().waitFor({ state: "hidden" });
|
||||
await po.snapshotPreview();
|
||||
});
|
||||
1
e2e-tests/fixtures/1.md
Normal file
1
e2e-tests/fixtures/1.md
Normal file
@@ -0,0 +1 @@
|
||||
1
|
||||
1
e2e-tests/fixtures/2.md
Normal file
1
e2e-tests/fixtures/2.md
Normal file
@@ -0,0 +1 @@
|
||||
2
|
||||
1
e2e-tests/fixtures/3.md
Normal file
1
e2e-tests/fixtures/3.md
Normal file
@@ -0,0 +1 @@
|
||||
3
|
||||
1
e2e-tests/fixtures/4.md
Normal file
1
e2e-tests/fixtures/4.md
Normal file
@@ -0,0 +1 @@
|
||||
4
|
||||
1
e2e-tests/fixtures/5.md
Normal file
1
e2e-tests/fixtures/5.md
Normal file
@@ -0,0 +1 @@
|
||||
5
|
||||
1
e2e-tests/fixtures/6.md
Normal file
1
e2e-tests/fixtures/6.md
Normal file
@@ -0,0 +1 @@
|
||||
6
|
||||
2
e2e-tests/fixtures/add-supabase.md
Normal file
2
e2e-tests/fixtures/add-supabase.md
Normal file
@@ -0,0 +1,2 @@
|
||||
Adding supabase...
|
||||
<dyad-add-integration provider="supabase"></dyad-add-integration>
|
||||
BIN
e2e-tests/fixtures/backups/empty-v0.12.0-beta.1.db
Normal file
BIN
e2e-tests/fixtures/backups/empty-v0.12.0-beta.1.db
Normal file
Binary file not shown.
1
e2e-tests/fixtures/basic.md
Normal file
1
e2e-tests/fixtures/basic.md
Normal file
@@ -0,0 +1 @@
|
||||
This is a simple basic response
|
||||
3
e2e-tests/fixtures/chat1.md
Normal file
3
e2e-tests/fixtures/chat1.md
Normal file
@@ -0,0 +1,3 @@
|
||||
chat1
|
||||
|
||||
<dyad-chat-summary>Chat 1</dyad-chat-summary>
|
||||
3
e2e-tests/fixtures/chat2.md
Normal file
3
e2e-tests/fixtures/chat2.md
Normal file
@@ -0,0 +1,3 @@
|
||||
chat2
|
||||
|
||||
<dyad-chat-summary>Chat 2</dyad-chat-summary>
|
||||
25
e2e-tests/fixtures/create-error.md
Normal file
25
e2e-tests/fixtures/create-error.md
Normal file
@@ -0,0 +1,25 @@
|
||||
I will intentionally add an error
|
||||
|
||||
<dyad-write path="src/pages/Index.tsx" description="intentionally add an error">
|
||||
// Update this page (the content is just a fallback if you fail to update the page)
|
||||
|
||||
import { MadeWithDyad } from "@/components/made-with-dyad";
|
||||
|
||||
const Index = () => {
|
||||
throw new Error("Line 6 error");
|
||||
return (
|
||||
|
||||
<div className="min-h-screen flex items-center justify-center bg-gray-100">
|
||||
<div className="text-center">
|
||||
<h1 className="text-4xl font-bold mb-4">Welcome to Your Blank App</h1>
|
||||
<p className="text-xl text-gray-600">
|
||||
Start building your amazing project here!
|
||||
</p>
|
||||
</div>
|
||||
<MadeWithDyad />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Index;
|
||||
</dyad-write>
|
||||
9
e2e-tests/fixtures/create-ts-errors-complex.md
Normal file
9
e2e-tests/fixtures/create-ts-errors-complex.md
Normal file
@@ -0,0 +1,9 @@
|
||||
Tests delete-rename-write order
|
||||
<dyad-delete path="src/main.tsx">
|
||||
</dyad-delete>
|
||||
<dyad-rename from="src/App.tsx" to="src/main.tsx">
|
||||
</dyad-rename>
|
||||
<dyad-write path="src/main.tsx" description="final main.tsx file.">
|
||||
finalMainTsxFileWithError();
|
||||
</dyad-write>
|
||||
EOM
|
||||
10
e2e-tests/fixtures/create-ts-errors.md
Normal file
10
e2e-tests/fixtures/create-ts-errors.md
Normal file
@@ -0,0 +1,10 @@
|
||||
This will get a TypeScript error.
|
||||
|
||||
<dyad-write path="src/bad-file.ts" description="This will get a TypeScript error.">
|
||||
import NonExistentClass from 'non-existent-class';
|
||||
|
||||
const x = new Object();
|
||||
x.nonExistentMethod();
|
||||
</dyad-write>
|
||||
|
||||
EOM
|
||||
11
e2e-tests/fixtures/create-unfixable-ts-errors.md
Normal file
11
e2e-tests/fixtures/create-unfixable-ts-errors.md
Normal file
@@ -0,0 +1,11 @@
|
||||
This should not get fixed
|
||||
|
||||
<dyad-write path="src/bad-file.ts" description="This will produce 5 TypeScript errors.">
|
||||
import NonExistentClass from 'non-existent-class';
|
||||
import NonExistentClass2 from 'non-existent-class';
|
||||
import NonExistentClass3 from 'non-existent-class';
|
||||
import NonExistentClass4 from 'non-existent-class';
|
||||
import NonExistentClass5 from 'non-existent-class';
|
||||
</dyad-write>
|
||||
|
||||
EOM
|
||||
5
e2e-tests/fixtures/dyad-write-angle.md
Normal file
5
e2e-tests/fixtures/dyad-write-angle.md
Normal file
@@ -0,0 +1,5 @@
|
||||
BEFORE TAG
|
||||
<dyad-write path="src/foo/bar.tsx" description="page to use <a> and <b> tags.">
|
||||
// BEGINNING OF FILE
|
||||
</dyad-write>
|
||||
AFTER TAG
|
||||
16
e2e-tests/fixtures/edit-made-with-dyad.md
Normal file
16
e2e-tests/fixtures/edit-made-with-dyad.md
Normal file
@@ -0,0 +1,16 @@
|
||||
<dyad-write path="src/components/made-with-dyad.tsx" description="write-description">
|
||||
export const MadeWithDyad = () => {
|
||||
return (
|
||||
<div className="p-4 text-center">
|
||||
<a
|
||||
href="https://www.dyad.sh/"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="text-sm text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200"
|
||||
>
|
||||
Made with Dyad (EDITED)
|
||||
</a>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
</dyad-write>
|
||||
8
e2e-tests/fixtures/engine/turbo-edits.md
Normal file
8
e2e-tests/fixtures/engine/turbo-edits.md
Normal file
@@ -0,0 +1,8 @@
|
||||
Example with turbo edit
|
||||
<dyad-edit path="foo/bar/file.js" description="turbo edit description">
|
||||
|
||||
<!-- hello -->
|
||||
|
||||
"making some edits"
|
||||
</dyad-edit>
|
||||
End of turbo edit
|
||||
7
e2e-tests/fixtures/execute-sql-1.md
Normal file
7
e2e-tests/fixtures/execute-sql-1.md
Normal file
@@ -0,0 +1,7 @@
|
||||
Example SQL
|
||||
|
||||
<dyad-execute-sql description="create_users_table">
|
||||
CREATE TABLE users (id serial primary key);
|
||||
</dyad-execute-sql>
|
||||
|
||||
Done.
|
||||
7
e2e-tests/fixtures/execute-sql-no-description.md
Normal file
7
e2e-tests/fixtures/execute-sql-no-description.md
Normal file
@@ -0,0 +1,7 @@
|
||||
No description!
|
||||
|
||||
<dyad-execute-sql>
|
||||
DROP TABLE users;
|
||||
</dyad-execute-sql>
|
||||
|
||||
Done.
|
||||
1
e2e-tests/fixtures/gateway/gateway-simple.md
Normal file
1
e2e-tests/fixtures/gateway/gateway-simple.md
Normal file
@@ -0,0 +1 @@
|
||||
Simple-response-from-gateway
|
||||
5
e2e-tests/fixtures/generate-supabase-client.md
Normal file
5
e2e-tests/fixtures/generate-supabase-client.md
Normal file
@@ -0,0 +1,5 @@
|
||||
BEGIN
|
||||
<dyad-write path="src/integrations/supabase/client.ts" description="Creating a supabase client.">
|
||||
$$SUPABASE_CLIENT_CODE$$
|
||||
</dyad-write>
|
||||
END
|
||||
BIN
e2e-tests/fixtures/images/logo.png
Normal file
BIN
e2e-tests/fixtures/images/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
24
e2e-tests/fixtures/import-app/astro/.gitignore
vendored
Normal file
24
e2e-tests/fixtures/import-app/astro/.gitignore
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
13
e2e-tests/fixtures/import-app/astro/index.html
Normal file
13
e2e-tests/fixtures/import-app/astro/index.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>dyad-generated-app</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/main.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
25
e2e-tests/fixtures/import-app/astro/package.json
Normal file
25
e2e-tests/fixtures/import-app/astro/package.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"name": "vite_react_shadcn_ts",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"build:dev": "vite build --mode development",
|
||||
"lint": "eslint .",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.5.5",
|
||||
"@types/react": "^18.3.3",
|
||||
"@types/react-dom": "^18.3.0",
|
||||
"@vitejs/plugin-react-swc": "^3.9.0",
|
||||
"typescript": "^5.5.3",
|
||||
"vite": "^6.3.4"
|
||||
}
|
||||
}
|
||||
838
e2e-tests/fixtures/import-app/astro/pnpm-lock.yaml
generated
Normal file
838
e2e-tests/fixtures/import-app/astro/pnpm-lock.yaml
generated
Normal file
@@ -0,0 +1,838 @@
|
||||
lockfileVersion: '9.0'
|
||||
|
||||
settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
importers:
|
||||
|
||||
.:
|
||||
dependencies:
|
||||
react:
|
||||
specifier: ^18.3.1
|
||||
version: 18.3.1
|
||||
react-dom:
|
||||
specifier: ^18.3.1
|
||||
version: 18.3.1(react@18.3.1)
|
||||
devDependencies:
|
||||
'@types/node':
|
||||
specifier: ^22.5.5
|
||||
version: 22.15.29
|
||||
'@types/react':
|
||||
specifier: ^18.3.3
|
||||
version: 18.3.23
|
||||
'@types/react-dom':
|
||||
specifier: ^18.3.0
|
||||
version: 18.3.7(@types/react@18.3.23)
|
||||
'@vitejs/plugin-react-swc':
|
||||
specifier: ^3.9.0
|
||||
version: 3.10.0(vite@6.3.5(@types/node@22.15.29))
|
||||
typescript:
|
||||
specifier: ^5.5.3
|
||||
version: 5.8.3
|
||||
vite:
|
||||
specifier: ^6.3.4
|
||||
version: 6.3.5(@types/node@22.15.29)
|
||||
|
||||
packages:
|
||||
|
||||
'@esbuild/aix-ppc64@0.25.5':
|
||||
resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ppc64]
|
||||
os: [aix]
|
||||
|
||||
'@esbuild/android-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-arm@0.25.5':
|
||||
resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-x64@0.25.5':
|
||||
resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/darwin-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/darwin-x64@0.25.5':
|
||||
resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/freebsd-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/freebsd-x64@0.25.5':
|
||||
resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/linux-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-arm@0.25.5':
|
||||
resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ia32@0.25.5':
|
||||
resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-loong64@0.25.5':
|
||||
resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-mips64el@0.25.5':
|
||||
resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [mips64el]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ppc64@0.25.5':
|
||||
resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-riscv64@0.25.5':
|
||||
resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-s390x@0.25.5':
|
||||
resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-x64@0.25.5':
|
||||
resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/netbsd-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/netbsd-x64@0.25.5':
|
||||
resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/openbsd-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/openbsd-x64@0.25.5':
|
||||
resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/sunos-x64@0.25.5':
|
||||
resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [sunos]
|
||||
|
||||
'@esbuild/win32-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-ia32@0.25.5':
|
||||
resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-x64@0.25.5':
|
||||
resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@rolldown/pluginutils@1.0.0-beta.9':
|
||||
resolution: {integrity: sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==}
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.41.1':
|
||||
resolution: {integrity: sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@rollup/rollup-android-arm64@4.41.1':
|
||||
resolution: {integrity: sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@rollup/rollup-darwin-arm64@4.41.1':
|
||||
resolution: {integrity: sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@rollup/rollup-darwin-x64@4.41.1':
|
||||
resolution: {integrity: sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@rollup/rollup-freebsd-arm64@4.41.1':
|
||||
resolution: {integrity: sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@rollup/rollup-freebsd-x64@4.41.1':
|
||||
resolution: {integrity: sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.41.1':
|
||||
resolution: {integrity: sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.41.1':
|
||||
resolution: {integrity: sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.41.1':
|
||||
resolution: {integrity: sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-loongarch64-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-powerpc64le-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-riscv64-musl@4.41.1':
|
||||
resolution: {integrity: sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.41.1':
|
||||
resolution: {integrity: sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-win32-arm64-msvc@4.41.1':
|
||||
resolution: {integrity: sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@rollup/rollup-win32-ia32-msvc@4.41.1':
|
||||
resolution: {integrity: sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@rollup/rollup-win32-x64-msvc@4.41.1':
|
||||
resolution: {integrity: sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@swc/core-darwin-arm64@1.11.29':
|
||||
resolution: {integrity: sha512-whsCX7URzbuS5aET58c75Dloby3Gtj/ITk2vc4WW6pSDQKSPDuONsIcZ7B2ng8oz0K6ttbi4p3H/PNPQLJ4maQ==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@swc/core-darwin-x64@1.11.29':
|
||||
resolution: {integrity: sha512-S3eTo/KYFk+76cWJRgX30hylN5XkSmjYtCBnM4jPLYn7L6zWYEPajsFLmruQEiTEDUg0gBEWLMNyUeghtswouw==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@swc/core-linux-arm-gnueabihf@1.11.29':
|
||||
resolution: {integrity: sha512-o9gdshbzkUMG6azldHdmKklcfrcMx+a23d/2qHQHPDLUPAN+Trd+sDQUYArK5Fcm7TlpG4sczz95ghN0DMkM7g==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-linux-arm64-gnu@1.11.29':
|
||||
resolution: {integrity: sha512-sLoaciOgUKQF1KX9T6hPGzvhOQaJn+3DHy4LOHeXhQqvBgr+7QcZ+hl4uixPKTzxk6hy6Hb0QOvQEdBAAR1gXw==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-linux-arm64-musl@1.11.29':
|
||||
resolution: {integrity: sha512-PwjB10BC0N+Ce7RU/L23eYch6lXFHz7r3NFavIcwDNa/AAqywfxyxh13OeRy+P0cg7NDpWEETWspXeI4Ek8otw==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-linux-x64-gnu@1.11.29':
|
||||
resolution: {integrity: sha512-i62vBVoPaVe9A3mc6gJG07n0/e7FVeAvdD9uzZTtGLiuIfVfIBta8EMquzvf+POLycSk79Z6lRhGPZPJPYiQaA==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-linux-x64-musl@1.11.29':
|
||||
resolution: {integrity: sha512-YER0XU1xqFdK0hKkfSVX1YIyCvMDI7K07GIpefPvcfyNGs38AXKhb2byySDjbVxkdl4dycaxxhRyhQ2gKSlsFQ==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-win32-arm64-msvc@1.11.29':
|
||||
resolution: {integrity: sha512-po+WHw+k9g6FAg5IJ+sMwtA/fIUL3zPQ4m/uJgONBATCVnDDkyW6dBA49uHNVtSEvjvhuD8DVWdFP847YTcITw==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@swc/core-win32-ia32-msvc@1.11.29':
|
||||
resolution: {integrity: sha512-h+NjOrbqdRBYr5ItmStmQt6x3tnhqgwbj9YxdGPepbTDamFv7vFnhZR0YfB3jz3UKJ8H3uGJ65Zw1VsC+xpFkg==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@swc/core-win32-x64-msvc@1.11.29':
|
||||
resolution: {integrity: sha512-Q8cs2BDV9wqDvqobkXOYdC+pLUSEpX/KvI0Dgfun1F+LzuLotRFuDhrvkU9ETJA6OnD2+Fn/ieHgloiKA/Mn/g==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@swc/core@1.11.29':
|
||||
resolution: {integrity: sha512-g4mThMIpWbNhV8G2rWp5a5/Igv8/2UFRJx2yImrLGMgrDDYZIopqZ/z0jZxDgqNA1QDx93rpwNF7jGsxVWcMlA==}
|
||||
engines: {node: '>=10'}
|
||||
peerDependencies:
|
||||
'@swc/helpers': '>=0.5.17'
|
||||
peerDependenciesMeta:
|
||||
'@swc/helpers':
|
||||
optional: true
|
||||
|
||||
'@swc/counter@0.1.3':
|
||||
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
|
||||
|
||||
'@swc/types@0.1.21':
|
||||
resolution: {integrity: sha512-2YEtj5HJVbKivud9N4bpPBAyZhj4S2Ipe5LkUG94alTpr7in/GU/EARgPAd3BwU+YOmFVJC2+kjqhGRi3r0ZpQ==}
|
||||
|
||||
'@types/estree@1.0.7':
|
||||
resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==}
|
||||
|
||||
'@types/node@22.15.29':
|
||||
resolution: {integrity: sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==}
|
||||
|
||||
'@types/prop-types@15.7.14':
|
||||
resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
|
||||
|
||||
'@types/react-dom@18.3.7':
|
||||
resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==}
|
||||
peerDependencies:
|
||||
'@types/react': ^18.0.0
|
||||
|
||||
'@types/react@18.3.23':
|
||||
resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==}
|
||||
|
||||
'@vitejs/plugin-react-swc@3.10.0':
|
||||
resolution: {integrity: sha512-ZmkdHw3wo/o/Rk05YsXZs/DJAfY2CdQ5DUAjoWji+PEr+hYADdGMCGgEAILbiKj+CjspBTuTACBcWDrmC8AUfw==}
|
||||
peerDependencies:
|
||||
vite: ^4 || ^5 || ^6
|
||||
|
||||
csstype@3.1.3:
|
||||
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
|
||||
|
||||
esbuild@0.25.5:
|
||||
resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
fdir@6.4.5:
|
||||
resolution: {integrity: sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==}
|
||||
peerDependencies:
|
||||
picomatch: ^3 || ^4
|
||||
peerDependenciesMeta:
|
||||
picomatch:
|
||||
optional: true
|
||||
|
||||
fsevents@2.3.3:
|
||||
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
|
||||
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
||||
os: [darwin]
|
||||
|
||||
js-tokens@4.0.0:
|
||||
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
||||
|
||||
loose-envify@1.4.0:
|
||||
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
|
||||
hasBin: true
|
||||
|
||||
nanoid@3.3.11:
|
||||
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
|
||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||
hasBin: true
|
||||
|
||||
picocolors@1.1.1:
|
||||
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
|
||||
|
||||
picomatch@4.0.2:
|
||||
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
postcss@8.5.4:
|
||||
resolution: {integrity: sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
|
||||
react-dom@18.3.1:
|
||||
resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
|
||||
peerDependencies:
|
||||
react: ^18.3.1
|
||||
|
||||
react@18.3.1:
|
||||
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
rollup@4.41.1:
|
||||
resolution: {integrity: sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==}
|
||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||
hasBin: true
|
||||
|
||||
scheduler@0.23.2:
|
||||
resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
|
||||
|
||||
source-map-js@1.2.1:
|
||||
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
tinyglobby@0.2.14:
|
||||
resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
|
||||
typescript@5.8.3:
|
||||
resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
|
||||
engines: {node: '>=14.17'}
|
||||
hasBin: true
|
||||
|
||||
undici-types@6.21.0:
|
||||
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
|
||||
|
||||
vite@6.3.5:
|
||||
resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==}
|
||||
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
|
||||
jiti: '>=1.21.0'
|
||||
less: '*'
|
||||
lightningcss: ^1.21.0
|
||||
sass: '*'
|
||||
sass-embedded: '*'
|
||||
stylus: '*'
|
||||
sugarss: '*'
|
||||
terser: ^5.16.0
|
||||
tsx: ^4.8.1
|
||||
yaml: ^2.4.2
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
jiti:
|
||||
optional: true
|
||||
less:
|
||||
optional: true
|
||||
lightningcss:
|
||||
optional: true
|
||||
sass:
|
||||
optional: true
|
||||
sass-embedded:
|
||||
optional: true
|
||||
stylus:
|
||||
optional: true
|
||||
sugarss:
|
||||
optional: true
|
||||
terser:
|
||||
optional: true
|
||||
tsx:
|
||||
optional: true
|
||||
yaml:
|
||||
optional: true
|
||||
|
||||
snapshots:
|
||||
|
||||
'@esbuild/aix-ppc64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ia32@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-loong64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-mips64el@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ppc64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-riscv64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-s390x@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/sunos-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-ia32@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@rolldown/pluginutils@1.0.0-beta.9': {}
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-android-arm64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-darwin-arm64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-darwin-x64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-freebsd-arm64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-freebsd-x64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-loongarch64-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-powerpc64le-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-riscv64-musl@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-arm64-msvc@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-ia32-msvc@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-x64-msvc@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@swc/core-darwin-arm64@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-darwin-x64@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-arm-gnueabihf@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-arm64-gnu@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-arm64-musl@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-x64-gnu@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-x64-musl@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-win32-arm64-msvc@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-win32-ia32-msvc@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-win32-x64-msvc@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core@1.11.29':
|
||||
dependencies:
|
||||
'@swc/counter': 0.1.3
|
||||
'@swc/types': 0.1.21
|
||||
optionalDependencies:
|
||||
'@swc/core-darwin-arm64': 1.11.29
|
||||
'@swc/core-darwin-x64': 1.11.29
|
||||
'@swc/core-linux-arm-gnueabihf': 1.11.29
|
||||
'@swc/core-linux-arm64-gnu': 1.11.29
|
||||
'@swc/core-linux-arm64-musl': 1.11.29
|
||||
'@swc/core-linux-x64-gnu': 1.11.29
|
||||
'@swc/core-linux-x64-musl': 1.11.29
|
||||
'@swc/core-win32-arm64-msvc': 1.11.29
|
||||
'@swc/core-win32-ia32-msvc': 1.11.29
|
||||
'@swc/core-win32-x64-msvc': 1.11.29
|
||||
|
||||
'@swc/counter@0.1.3': {}
|
||||
|
||||
'@swc/types@0.1.21':
|
||||
dependencies:
|
||||
'@swc/counter': 0.1.3
|
||||
|
||||
'@types/estree@1.0.7': {}
|
||||
|
||||
'@types/node@22.15.29':
|
||||
dependencies:
|
||||
undici-types: 6.21.0
|
||||
|
||||
'@types/prop-types@15.7.14': {}
|
||||
|
||||
'@types/react-dom@18.3.7(@types/react@18.3.23)':
|
||||
dependencies:
|
||||
'@types/react': 18.3.23
|
||||
|
||||
'@types/react@18.3.23':
|
||||
dependencies:
|
||||
'@types/prop-types': 15.7.14
|
||||
csstype: 3.1.3
|
||||
|
||||
'@vitejs/plugin-react-swc@3.10.0(vite@6.3.5(@types/node@22.15.29))':
|
||||
dependencies:
|
||||
'@rolldown/pluginutils': 1.0.0-beta.9
|
||||
'@swc/core': 1.11.29
|
||||
vite: 6.3.5(@types/node@22.15.29)
|
||||
transitivePeerDependencies:
|
||||
- '@swc/helpers'
|
||||
|
||||
csstype@3.1.3: {}
|
||||
|
||||
esbuild@0.25.5:
|
||||
optionalDependencies:
|
||||
'@esbuild/aix-ppc64': 0.25.5
|
||||
'@esbuild/android-arm': 0.25.5
|
||||
'@esbuild/android-arm64': 0.25.5
|
||||
'@esbuild/android-x64': 0.25.5
|
||||
'@esbuild/darwin-arm64': 0.25.5
|
||||
'@esbuild/darwin-x64': 0.25.5
|
||||
'@esbuild/freebsd-arm64': 0.25.5
|
||||
'@esbuild/freebsd-x64': 0.25.5
|
||||
'@esbuild/linux-arm': 0.25.5
|
||||
'@esbuild/linux-arm64': 0.25.5
|
||||
'@esbuild/linux-ia32': 0.25.5
|
||||
'@esbuild/linux-loong64': 0.25.5
|
||||
'@esbuild/linux-mips64el': 0.25.5
|
||||
'@esbuild/linux-ppc64': 0.25.5
|
||||
'@esbuild/linux-riscv64': 0.25.5
|
||||
'@esbuild/linux-s390x': 0.25.5
|
||||
'@esbuild/linux-x64': 0.25.5
|
||||
'@esbuild/netbsd-arm64': 0.25.5
|
||||
'@esbuild/netbsd-x64': 0.25.5
|
||||
'@esbuild/openbsd-arm64': 0.25.5
|
||||
'@esbuild/openbsd-x64': 0.25.5
|
||||
'@esbuild/sunos-x64': 0.25.5
|
||||
'@esbuild/win32-arm64': 0.25.5
|
||||
'@esbuild/win32-ia32': 0.25.5
|
||||
'@esbuild/win32-x64': 0.25.5
|
||||
|
||||
fdir@6.4.5(picomatch@4.0.2):
|
||||
optionalDependencies:
|
||||
picomatch: 4.0.2
|
||||
|
||||
fsevents@2.3.3:
|
||||
optional: true
|
||||
|
||||
js-tokens@4.0.0: {}
|
||||
|
||||
loose-envify@1.4.0:
|
||||
dependencies:
|
||||
js-tokens: 4.0.0
|
||||
|
||||
nanoid@3.3.11: {}
|
||||
|
||||
picocolors@1.1.1: {}
|
||||
|
||||
picomatch@4.0.2: {}
|
||||
|
||||
postcss@8.5.4:
|
||||
dependencies:
|
||||
nanoid: 3.3.11
|
||||
picocolors: 1.1.1
|
||||
source-map-js: 1.2.1
|
||||
|
||||
react-dom@18.3.1(react@18.3.1):
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
react: 18.3.1
|
||||
scheduler: 0.23.2
|
||||
|
||||
react@18.3.1:
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
|
||||
rollup@4.41.1:
|
||||
dependencies:
|
||||
'@types/estree': 1.0.7
|
||||
optionalDependencies:
|
||||
'@rollup/rollup-android-arm-eabi': 4.41.1
|
||||
'@rollup/rollup-android-arm64': 4.41.1
|
||||
'@rollup/rollup-darwin-arm64': 4.41.1
|
||||
'@rollup/rollup-darwin-x64': 4.41.1
|
||||
'@rollup/rollup-freebsd-arm64': 4.41.1
|
||||
'@rollup/rollup-freebsd-x64': 4.41.1
|
||||
'@rollup/rollup-linux-arm-gnueabihf': 4.41.1
|
||||
'@rollup/rollup-linux-arm-musleabihf': 4.41.1
|
||||
'@rollup/rollup-linux-arm64-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-arm64-musl': 4.41.1
|
||||
'@rollup/rollup-linux-loongarch64-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-powerpc64le-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-riscv64-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-riscv64-musl': 4.41.1
|
||||
'@rollup/rollup-linux-s390x-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-x64-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-x64-musl': 4.41.1
|
||||
'@rollup/rollup-win32-arm64-msvc': 4.41.1
|
||||
'@rollup/rollup-win32-ia32-msvc': 4.41.1
|
||||
'@rollup/rollup-win32-x64-msvc': 4.41.1
|
||||
fsevents: 2.3.3
|
||||
|
||||
scheduler@0.23.2:
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
|
||||
source-map-js@1.2.1: {}
|
||||
|
||||
tinyglobby@0.2.14:
|
||||
dependencies:
|
||||
fdir: 6.4.5(picomatch@4.0.2)
|
||||
picomatch: 4.0.2
|
||||
|
||||
typescript@5.8.3: {}
|
||||
|
||||
undici-types@6.21.0: {}
|
||||
|
||||
vite@6.3.5(@types/node@22.15.29):
|
||||
dependencies:
|
||||
esbuild: 0.25.5
|
||||
fdir: 6.4.5(picomatch@4.0.2)
|
||||
picomatch: 4.0.2
|
||||
postcss: 8.5.4
|
||||
rollup: 4.41.1
|
||||
tinyglobby: 0.2.14
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.29
|
||||
fsevents: 2.3.3
|
||||
3
e2e-tests/fixtures/import-app/astro/src/App.tsx
Normal file
3
e2e-tests/fixtures/import-app/astro/src/App.tsx
Normal file
@@ -0,0 +1,3 @@
|
||||
const App = () => <div>Minimal imported app</div>;
|
||||
|
||||
export default App;
|
||||
41
e2e-tests/fixtures/import-app/astro/src/foo.astro
Normal file
41
e2e-tests/fixtures/import-app/astro/src/foo.astro
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
// Component script (runs at build time)
|
||||
const greeting = "Hello World";
|
||||
const currentTime = new Date().toLocaleString();
|
||||
---
|
||||
|
||||
<div class="hello-world">
|
||||
<h1>{greeting}</h1>
|
||||
<p>Welcome to Astro!</p>
|
||||
<p class="timestamp">Generated at: {currentTime}</p>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.hello-world {
|
||||
padding: 2rem;
|
||||
text-align: center;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
color: white;
|
||||
border-radius: 8px;
|
||||
max-width: 500px;
|
||||
margin: 2rem auto;
|
||||
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2.5rem;
|
||||
margin-bottom: 1rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 1.1rem;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.timestamp {
|
||||
font-size: 0.9rem;
|
||||
opacity: 0.8;
|
||||
font-style: italic;
|
||||
}
|
||||
</style>
|
||||
4
e2e-tests/fixtures/import-app/astro/src/main.tsx
Normal file
4
e2e-tests/fixtures/import-app/astro/src/main.tsx
Normal file
@@ -0,0 +1,4 @@
|
||||
import { createRoot } from "react-dom/client";
|
||||
import App from "./App.tsx";
|
||||
|
||||
createRoot(document.getElementById("root")!).render(<App />);
|
||||
1
e2e-tests/fixtures/import-app/astro/src/vite-env.d.ts
vendored
Normal file
1
e2e-tests/fixtures/import-app/astro/src/vite-env.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/// <reference types="vite/client" />
|
||||
30
e2e-tests/fixtures/import-app/astro/tsconfig.app.json
Normal file
30
e2e-tests/fixtures/import-app/astro/tsconfig.app.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2020",
|
||||
"useDefineForClassFields": true,
|
||||
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
||||
"module": "ESNext",
|
||||
"skipLibCheck": true,
|
||||
|
||||
/* Bundler mode */
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"isolatedModules": true,
|
||||
"moduleDetection": "force",
|
||||
"noEmit": true,
|
||||
"jsx": "react-jsx",
|
||||
|
||||
/* Linting */
|
||||
"strict": false,
|
||||
"noUnusedLocals": false,
|
||||
"noUnusedParameters": false,
|
||||
"noImplicitAny": false,
|
||||
"noFallthroughCasesInSwitch": false,
|
||||
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["./src/*"]
|
||||
}
|
||||
},
|
||||
"include": ["src"]
|
||||
}
|
||||
19
e2e-tests/fixtures/import-app/astro/tsconfig.json
Normal file
19
e2e-tests/fixtures/import-app/astro/tsconfig.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"files": [],
|
||||
"references": [
|
||||
{ "path": "./tsconfig.app.json" },
|
||||
{ "path": "./tsconfig.node.json" }
|
||||
],
|
||||
"compilerOptions": {
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["./src/*"]
|
||||
},
|
||||
"noImplicitAny": false,
|
||||
"noUnusedParameters": false,
|
||||
"skipLibCheck": true,
|
||||
"allowJs": true,
|
||||
"noUnusedLocals": false,
|
||||
"strictNullChecks": false
|
||||
}
|
||||
}
|
||||
22
e2e-tests/fixtures/import-app/astro/tsconfig.node.json
Normal file
22
e2e-tests/fixtures/import-app/astro/tsconfig.node.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2022",
|
||||
"lib": ["ES2023"],
|
||||
"module": "ESNext",
|
||||
"skipLibCheck": true,
|
||||
|
||||
/* Bundler mode */
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"isolatedModules": true,
|
||||
"moduleDetection": "force",
|
||||
"noEmit": true,
|
||||
|
||||
/* Linting */
|
||||
"strict": true,
|
||||
"noUnusedLocals": false,
|
||||
"noUnusedParameters": false,
|
||||
"noFallthroughCasesInSwitch": true
|
||||
},
|
||||
"include": ["vite.config.ts"]
|
||||
}
|
||||
16
e2e-tests/fixtures/import-app/astro/vite.config.ts
Normal file
16
e2e-tests/fixtures/import-app/astro/vite.config.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import { defineConfig } from "vite";
|
||||
import react from "@vitejs/plugin-react-swc";
|
||||
import path from "path";
|
||||
|
||||
export default defineConfig(() => ({
|
||||
server: {
|
||||
host: "::",
|
||||
port: 8080,
|
||||
},
|
||||
plugins: [react()],
|
||||
resolve: {
|
||||
alias: {
|
||||
"@": path.resolve(__dirname, "./src"),
|
||||
},
|
||||
},
|
||||
}));
|
||||
1
e2e-tests/fixtures/import-app/context-manage/.env.foobar
Normal file
1
e2e-tests/fixtures/import-app/context-manage/.env.foobar
Normal file
@@ -0,0 +1 @@
|
||||
# THIS FILE SHOULD NOT BE SENT IN THE CONTEXT
|
||||
1
e2e-tests/fixtures/import-app/context-manage/AI_RULES.md
Normal file
1
e2e-tests/fixtures/import-app/context-manage/AI_RULES.md
Normal file
@@ -0,0 +1 @@
|
||||
# AI_RULES.md
|
||||
1
e2e-tests/fixtures/import-app/context-manage/a.ts
Normal file
1
e2e-tests/fixtures/import-app/context-manage/a.ts
Normal file
@@ -0,0 +1 @@
|
||||
// a.ts
|
||||
@@ -0,0 +1 @@
|
||||
// exclude.ts: this file is not in any of the globs
|
||||
@@ -0,0 +1 @@
|
||||
// exclude.tsx: this file is not in any of the globs
|
||||
@@ -0,0 +1 @@
|
||||
["should not be included b/c it's json"]
|
||||
@@ -0,0 +1 @@
|
||||
// button.tsx
|
||||
@@ -0,0 +1 @@
|
||||
// helper.ts
|
||||
@@ -0,0 +1 @@
|
||||
/* some.css */
|
||||
1
e2e-tests/fixtures/import-app/context-manage/src/foo.ts
Normal file
1
e2e-tests/fixtures/import-app/context-manage/src/foo.ts
Normal file
@@ -0,0 +1 @@
|
||||
// foo.ts
|
||||
@@ -0,0 +1 @@
|
||||
// sub/sub1.ts
|
||||
@@ -0,0 +1 @@
|
||||
// sub/sub2.tsx
|
||||
@@ -0,0 +1,92 @@
|
||||
// very-large-file.ts
|
||||
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
// 1234567890
|
||||
24
e2e-tests/fixtures/import-app/minimal-with-ai-rules/.gitignore
vendored
Normal file
24
e2e-tests/fixtures/import-app/minimal-with-ai-rules/.gitignore
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
@@ -0,0 +1,3 @@
|
||||
[[beginning of AI_RULES.md]]
|
||||
There's already AI rules...
|
||||
[[end of AI_RULES.md]]
|
||||
@@ -0,0 +1,13 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>dyad-generated-app</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/main.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"name": "vite_react_shadcn_ts",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"build:dev": "vite build --mode development",
|
||||
"lint": "eslint .",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.5.5",
|
||||
"@types/react": "^18.3.3",
|
||||
"@types/react-dom": "^18.3.0",
|
||||
"@vitejs/plugin-react-swc": "^3.9.0",
|
||||
"typescript": "^5.5.3",
|
||||
"vite": "^6.3.4"
|
||||
}
|
||||
}
|
||||
838
e2e-tests/fixtures/import-app/minimal-with-ai-rules/pnpm-lock.yaml
generated
Normal file
838
e2e-tests/fixtures/import-app/minimal-with-ai-rules/pnpm-lock.yaml
generated
Normal file
@@ -0,0 +1,838 @@
|
||||
lockfileVersion: '9.0'
|
||||
|
||||
settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
importers:
|
||||
|
||||
.:
|
||||
dependencies:
|
||||
react:
|
||||
specifier: ^18.3.1
|
||||
version: 18.3.1
|
||||
react-dom:
|
||||
specifier: ^18.3.1
|
||||
version: 18.3.1(react@18.3.1)
|
||||
devDependencies:
|
||||
'@types/node':
|
||||
specifier: ^22.5.5
|
||||
version: 22.15.29
|
||||
'@types/react':
|
||||
specifier: ^18.3.3
|
||||
version: 18.3.23
|
||||
'@types/react-dom':
|
||||
specifier: ^18.3.0
|
||||
version: 18.3.7(@types/react@18.3.23)
|
||||
'@vitejs/plugin-react-swc':
|
||||
specifier: ^3.9.0
|
||||
version: 3.10.0(vite@6.3.5(@types/node@22.15.29))
|
||||
typescript:
|
||||
specifier: ^5.5.3
|
||||
version: 5.8.3
|
||||
vite:
|
||||
specifier: ^6.3.4
|
||||
version: 6.3.5(@types/node@22.15.29)
|
||||
|
||||
packages:
|
||||
|
||||
'@esbuild/aix-ppc64@0.25.5':
|
||||
resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ppc64]
|
||||
os: [aix]
|
||||
|
||||
'@esbuild/android-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-arm@0.25.5':
|
||||
resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-x64@0.25.5':
|
||||
resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/darwin-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/darwin-x64@0.25.5':
|
||||
resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/freebsd-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/freebsd-x64@0.25.5':
|
||||
resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/linux-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-arm@0.25.5':
|
||||
resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ia32@0.25.5':
|
||||
resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-loong64@0.25.5':
|
||||
resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-mips64el@0.25.5':
|
||||
resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [mips64el]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ppc64@0.25.5':
|
||||
resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-riscv64@0.25.5':
|
||||
resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-s390x@0.25.5':
|
||||
resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-x64@0.25.5':
|
||||
resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/netbsd-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/netbsd-x64@0.25.5':
|
||||
resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/openbsd-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/openbsd-x64@0.25.5':
|
||||
resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/sunos-x64@0.25.5':
|
||||
resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [sunos]
|
||||
|
||||
'@esbuild/win32-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-ia32@0.25.5':
|
||||
resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-x64@0.25.5':
|
||||
resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@rolldown/pluginutils@1.0.0-beta.9':
|
||||
resolution: {integrity: sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==}
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.41.1':
|
||||
resolution: {integrity: sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@rollup/rollup-android-arm64@4.41.1':
|
||||
resolution: {integrity: sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@rollup/rollup-darwin-arm64@4.41.1':
|
||||
resolution: {integrity: sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@rollup/rollup-darwin-x64@4.41.1':
|
||||
resolution: {integrity: sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@rollup/rollup-freebsd-arm64@4.41.1':
|
||||
resolution: {integrity: sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@rollup/rollup-freebsd-x64@4.41.1':
|
||||
resolution: {integrity: sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.41.1':
|
||||
resolution: {integrity: sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.41.1':
|
||||
resolution: {integrity: sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.41.1':
|
||||
resolution: {integrity: sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-loongarch64-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-powerpc64le-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-riscv64-musl@4.41.1':
|
||||
resolution: {integrity: sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.41.1':
|
||||
resolution: {integrity: sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-win32-arm64-msvc@4.41.1':
|
||||
resolution: {integrity: sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@rollup/rollup-win32-ia32-msvc@4.41.1':
|
||||
resolution: {integrity: sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@rollup/rollup-win32-x64-msvc@4.41.1':
|
||||
resolution: {integrity: sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@swc/core-darwin-arm64@1.11.29':
|
||||
resolution: {integrity: sha512-whsCX7URzbuS5aET58c75Dloby3Gtj/ITk2vc4WW6pSDQKSPDuONsIcZ7B2ng8oz0K6ttbi4p3H/PNPQLJ4maQ==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@swc/core-darwin-x64@1.11.29':
|
||||
resolution: {integrity: sha512-S3eTo/KYFk+76cWJRgX30hylN5XkSmjYtCBnM4jPLYn7L6zWYEPajsFLmruQEiTEDUg0gBEWLMNyUeghtswouw==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@swc/core-linux-arm-gnueabihf@1.11.29':
|
||||
resolution: {integrity: sha512-o9gdshbzkUMG6azldHdmKklcfrcMx+a23d/2qHQHPDLUPAN+Trd+sDQUYArK5Fcm7TlpG4sczz95ghN0DMkM7g==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-linux-arm64-gnu@1.11.29':
|
||||
resolution: {integrity: sha512-sLoaciOgUKQF1KX9T6hPGzvhOQaJn+3DHy4LOHeXhQqvBgr+7QcZ+hl4uixPKTzxk6hy6Hb0QOvQEdBAAR1gXw==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-linux-arm64-musl@1.11.29':
|
||||
resolution: {integrity: sha512-PwjB10BC0N+Ce7RU/L23eYch6lXFHz7r3NFavIcwDNa/AAqywfxyxh13OeRy+P0cg7NDpWEETWspXeI4Ek8otw==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-linux-x64-gnu@1.11.29':
|
||||
resolution: {integrity: sha512-i62vBVoPaVe9A3mc6gJG07n0/e7FVeAvdD9uzZTtGLiuIfVfIBta8EMquzvf+POLycSk79Z6lRhGPZPJPYiQaA==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-linux-x64-musl@1.11.29':
|
||||
resolution: {integrity: sha512-YER0XU1xqFdK0hKkfSVX1YIyCvMDI7K07GIpefPvcfyNGs38AXKhb2byySDjbVxkdl4dycaxxhRyhQ2gKSlsFQ==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-win32-arm64-msvc@1.11.29':
|
||||
resolution: {integrity: sha512-po+WHw+k9g6FAg5IJ+sMwtA/fIUL3zPQ4m/uJgONBATCVnDDkyW6dBA49uHNVtSEvjvhuD8DVWdFP847YTcITw==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@swc/core-win32-ia32-msvc@1.11.29':
|
||||
resolution: {integrity: sha512-h+NjOrbqdRBYr5ItmStmQt6x3tnhqgwbj9YxdGPepbTDamFv7vFnhZR0YfB3jz3UKJ8H3uGJ65Zw1VsC+xpFkg==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@swc/core-win32-x64-msvc@1.11.29':
|
||||
resolution: {integrity: sha512-Q8cs2BDV9wqDvqobkXOYdC+pLUSEpX/KvI0Dgfun1F+LzuLotRFuDhrvkU9ETJA6OnD2+Fn/ieHgloiKA/Mn/g==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@swc/core@1.11.29':
|
||||
resolution: {integrity: sha512-g4mThMIpWbNhV8G2rWp5a5/Igv8/2UFRJx2yImrLGMgrDDYZIopqZ/z0jZxDgqNA1QDx93rpwNF7jGsxVWcMlA==}
|
||||
engines: {node: '>=10'}
|
||||
peerDependencies:
|
||||
'@swc/helpers': '>=0.5.17'
|
||||
peerDependenciesMeta:
|
||||
'@swc/helpers':
|
||||
optional: true
|
||||
|
||||
'@swc/counter@0.1.3':
|
||||
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
|
||||
|
||||
'@swc/types@0.1.21':
|
||||
resolution: {integrity: sha512-2YEtj5HJVbKivud9N4bpPBAyZhj4S2Ipe5LkUG94alTpr7in/GU/EARgPAd3BwU+YOmFVJC2+kjqhGRi3r0ZpQ==}
|
||||
|
||||
'@types/estree@1.0.7':
|
||||
resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==}
|
||||
|
||||
'@types/node@22.15.29':
|
||||
resolution: {integrity: sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==}
|
||||
|
||||
'@types/prop-types@15.7.14':
|
||||
resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
|
||||
|
||||
'@types/react-dom@18.3.7':
|
||||
resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==}
|
||||
peerDependencies:
|
||||
'@types/react': ^18.0.0
|
||||
|
||||
'@types/react@18.3.23':
|
||||
resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==}
|
||||
|
||||
'@vitejs/plugin-react-swc@3.10.0':
|
||||
resolution: {integrity: sha512-ZmkdHw3wo/o/Rk05YsXZs/DJAfY2CdQ5DUAjoWji+PEr+hYADdGMCGgEAILbiKj+CjspBTuTACBcWDrmC8AUfw==}
|
||||
peerDependencies:
|
||||
vite: ^4 || ^5 || ^6
|
||||
|
||||
csstype@3.1.3:
|
||||
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
|
||||
|
||||
esbuild@0.25.5:
|
||||
resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
fdir@6.4.5:
|
||||
resolution: {integrity: sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==}
|
||||
peerDependencies:
|
||||
picomatch: ^3 || ^4
|
||||
peerDependenciesMeta:
|
||||
picomatch:
|
||||
optional: true
|
||||
|
||||
fsevents@2.3.3:
|
||||
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
|
||||
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
||||
os: [darwin]
|
||||
|
||||
js-tokens@4.0.0:
|
||||
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
||||
|
||||
loose-envify@1.4.0:
|
||||
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
|
||||
hasBin: true
|
||||
|
||||
nanoid@3.3.11:
|
||||
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
|
||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||
hasBin: true
|
||||
|
||||
picocolors@1.1.1:
|
||||
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
|
||||
|
||||
picomatch@4.0.2:
|
||||
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
postcss@8.5.4:
|
||||
resolution: {integrity: sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
|
||||
react-dom@18.3.1:
|
||||
resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
|
||||
peerDependencies:
|
||||
react: ^18.3.1
|
||||
|
||||
react@18.3.1:
|
||||
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
rollup@4.41.1:
|
||||
resolution: {integrity: sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==}
|
||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||
hasBin: true
|
||||
|
||||
scheduler@0.23.2:
|
||||
resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
|
||||
|
||||
source-map-js@1.2.1:
|
||||
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
tinyglobby@0.2.14:
|
||||
resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
|
||||
typescript@5.8.3:
|
||||
resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
|
||||
engines: {node: '>=14.17'}
|
||||
hasBin: true
|
||||
|
||||
undici-types@6.21.0:
|
||||
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
|
||||
|
||||
vite@6.3.5:
|
||||
resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==}
|
||||
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
|
||||
jiti: '>=1.21.0'
|
||||
less: '*'
|
||||
lightningcss: ^1.21.0
|
||||
sass: '*'
|
||||
sass-embedded: '*'
|
||||
stylus: '*'
|
||||
sugarss: '*'
|
||||
terser: ^5.16.0
|
||||
tsx: ^4.8.1
|
||||
yaml: ^2.4.2
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
jiti:
|
||||
optional: true
|
||||
less:
|
||||
optional: true
|
||||
lightningcss:
|
||||
optional: true
|
||||
sass:
|
||||
optional: true
|
||||
sass-embedded:
|
||||
optional: true
|
||||
stylus:
|
||||
optional: true
|
||||
sugarss:
|
||||
optional: true
|
||||
terser:
|
||||
optional: true
|
||||
tsx:
|
||||
optional: true
|
||||
yaml:
|
||||
optional: true
|
||||
|
||||
snapshots:
|
||||
|
||||
'@esbuild/aix-ppc64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ia32@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-loong64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-mips64el@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ppc64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-riscv64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-s390x@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/sunos-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-ia32@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@rolldown/pluginutils@1.0.0-beta.9': {}
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-android-arm64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-darwin-arm64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-darwin-x64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-freebsd-arm64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-freebsd-x64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-loongarch64-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-powerpc64le-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-riscv64-musl@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-arm64-msvc@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-ia32-msvc@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-x64-msvc@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@swc/core-darwin-arm64@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-darwin-x64@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-arm-gnueabihf@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-arm64-gnu@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-arm64-musl@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-x64-gnu@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-x64-musl@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-win32-arm64-msvc@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-win32-ia32-msvc@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-win32-x64-msvc@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core@1.11.29':
|
||||
dependencies:
|
||||
'@swc/counter': 0.1.3
|
||||
'@swc/types': 0.1.21
|
||||
optionalDependencies:
|
||||
'@swc/core-darwin-arm64': 1.11.29
|
||||
'@swc/core-darwin-x64': 1.11.29
|
||||
'@swc/core-linux-arm-gnueabihf': 1.11.29
|
||||
'@swc/core-linux-arm64-gnu': 1.11.29
|
||||
'@swc/core-linux-arm64-musl': 1.11.29
|
||||
'@swc/core-linux-x64-gnu': 1.11.29
|
||||
'@swc/core-linux-x64-musl': 1.11.29
|
||||
'@swc/core-win32-arm64-msvc': 1.11.29
|
||||
'@swc/core-win32-ia32-msvc': 1.11.29
|
||||
'@swc/core-win32-x64-msvc': 1.11.29
|
||||
|
||||
'@swc/counter@0.1.3': {}
|
||||
|
||||
'@swc/types@0.1.21':
|
||||
dependencies:
|
||||
'@swc/counter': 0.1.3
|
||||
|
||||
'@types/estree@1.0.7': {}
|
||||
|
||||
'@types/node@22.15.29':
|
||||
dependencies:
|
||||
undici-types: 6.21.0
|
||||
|
||||
'@types/prop-types@15.7.14': {}
|
||||
|
||||
'@types/react-dom@18.3.7(@types/react@18.3.23)':
|
||||
dependencies:
|
||||
'@types/react': 18.3.23
|
||||
|
||||
'@types/react@18.3.23':
|
||||
dependencies:
|
||||
'@types/prop-types': 15.7.14
|
||||
csstype: 3.1.3
|
||||
|
||||
'@vitejs/plugin-react-swc@3.10.0(vite@6.3.5(@types/node@22.15.29))':
|
||||
dependencies:
|
||||
'@rolldown/pluginutils': 1.0.0-beta.9
|
||||
'@swc/core': 1.11.29
|
||||
vite: 6.3.5(@types/node@22.15.29)
|
||||
transitivePeerDependencies:
|
||||
- '@swc/helpers'
|
||||
|
||||
csstype@3.1.3: {}
|
||||
|
||||
esbuild@0.25.5:
|
||||
optionalDependencies:
|
||||
'@esbuild/aix-ppc64': 0.25.5
|
||||
'@esbuild/android-arm': 0.25.5
|
||||
'@esbuild/android-arm64': 0.25.5
|
||||
'@esbuild/android-x64': 0.25.5
|
||||
'@esbuild/darwin-arm64': 0.25.5
|
||||
'@esbuild/darwin-x64': 0.25.5
|
||||
'@esbuild/freebsd-arm64': 0.25.5
|
||||
'@esbuild/freebsd-x64': 0.25.5
|
||||
'@esbuild/linux-arm': 0.25.5
|
||||
'@esbuild/linux-arm64': 0.25.5
|
||||
'@esbuild/linux-ia32': 0.25.5
|
||||
'@esbuild/linux-loong64': 0.25.5
|
||||
'@esbuild/linux-mips64el': 0.25.5
|
||||
'@esbuild/linux-ppc64': 0.25.5
|
||||
'@esbuild/linux-riscv64': 0.25.5
|
||||
'@esbuild/linux-s390x': 0.25.5
|
||||
'@esbuild/linux-x64': 0.25.5
|
||||
'@esbuild/netbsd-arm64': 0.25.5
|
||||
'@esbuild/netbsd-x64': 0.25.5
|
||||
'@esbuild/openbsd-arm64': 0.25.5
|
||||
'@esbuild/openbsd-x64': 0.25.5
|
||||
'@esbuild/sunos-x64': 0.25.5
|
||||
'@esbuild/win32-arm64': 0.25.5
|
||||
'@esbuild/win32-ia32': 0.25.5
|
||||
'@esbuild/win32-x64': 0.25.5
|
||||
|
||||
fdir@6.4.5(picomatch@4.0.2):
|
||||
optionalDependencies:
|
||||
picomatch: 4.0.2
|
||||
|
||||
fsevents@2.3.3:
|
||||
optional: true
|
||||
|
||||
js-tokens@4.0.0: {}
|
||||
|
||||
loose-envify@1.4.0:
|
||||
dependencies:
|
||||
js-tokens: 4.0.0
|
||||
|
||||
nanoid@3.3.11: {}
|
||||
|
||||
picocolors@1.1.1: {}
|
||||
|
||||
picomatch@4.0.2: {}
|
||||
|
||||
postcss@8.5.4:
|
||||
dependencies:
|
||||
nanoid: 3.3.11
|
||||
picocolors: 1.1.1
|
||||
source-map-js: 1.2.1
|
||||
|
||||
react-dom@18.3.1(react@18.3.1):
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
react: 18.3.1
|
||||
scheduler: 0.23.2
|
||||
|
||||
react@18.3.1:
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
|
||||
rollup@4.41.1:
|
||||
dependencies:
|
||||
'@types/estree': 1.0.7
|
||||
optionalDependencies:
|
||||
'@rollup/rollup-android-arm-eabi': 4.41.1
|
||||
'@rollup/rollup-android-arm64': 4.41.1
|
||||
'@rollup/rollup-darwin-arm64': 4.41.1
|
||||
'@rollup/rollup-darwin-x64': 4.41.1
|
||||
'@rollup/rollup-freebsd-arm64': 4.41.1
|
||||
'@rollup/rollup-freebsd-x64': 4.41.1
|
||||
'@rollup/rollup-linux-arm-gnueabihf': 4.41.1
|
||||
'@rollup/rollup-linux-arm-musleabihf': 4.41.1
|
||||
'@rollup/rollup-linux-arm64-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-arm64-musl': 4.41.1
|
||||
'@rollup/rollup-linux-loongarch64-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-powerpc64le-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-riscv64-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-riscv64-musl': 4.41.1
|
||||
'@rollup/rollup-linux-s390x-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-x64-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-x64-musl': 4.41.1
|
||||
'@rollup/rollup-win32-arm64-msvc': 4.41.1
|
||||
'@rollup/rollup-win32-ia32-msvc': 4.41.1
|
||||
'@rollup/rollup-win32-x64-msvc': 4.41.1
|
||||
fsevents: 2.3.3
|
||||
|
||||
scheduler@0.23.2:
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
|
||||
source-map-js@1.2.1: {}
|
||||
|
||||
tinyglobby@0.2.14:
|
||||
dependencies:
|
||||
fdir: 6.4.5(picomatch@4.0.2)
|
||||
picomatch: 4.0.2
|
||||
|
||||
typescript@5.8.3: {}
|
||||
|
||||
undici-types@6.21.0: {}
|
||||
|
||||
vite@6.3.5(@types/node@22.15.29):
|
||||
dependencies:
|
||||
esbuild: 0.25.5
|
||||
fdir: 6.4.5(picomatch@4.0.2)
|
||||
picomatch: 4.0.2
|
||||
postcss: 8.5.4
|
||||
rollup: 4.41.1
|
||||
tinyglobby: 0.2.14
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.29
|
||||
fsevents: 2.3.3
|
||||
@@ -0,0 +1,3 @@
|
||||
const App = () => <div>Minimal imported app</div>;
|
||||
|
||||
export default App;
|
||||
@@ -0,0 +1,4 @@
|
||||
import { createRoot } from "react-dom/client";
|
||||
import App from "./App.tsx";
|
||||
|
||||
createRoot(document.getElementById("root")!).render(<App />);
|
||||
1
e2e-tests/fixtures/import-app/minimal-with-ai-rules/src/vite-env.d.ts
vendored
Normal file
1
e2e-tests/fixtures/import-app/minimal-with-ai-rules/src/vite-env.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/// <reference types="vite/client" />
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2020",
|
||||
"useDefineForClassFields": true,
|
||||
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
||||
"module": "ESNext",
|
||||
"skipLibCheck": true,
|
||||
|
||||
/* Bundler mode */
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"isolatedModules": true,
|
||||
"moduleDetection": "force",
|
||||
"noEmit": true,
|
||||
"jsx": "react-jsx",
|
||||
|
||||
/* Linting */
|
||||
"strict": false,
|
||||
"noUnusedLocals": false,
|
||||
"noUnusedParameters": false,
|
||||
"noImplicitAny": false,
|
||||
"noFallthroughCasesInSwitch": false,
|
||||
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["./src/*"]
|
||||
}
|
||||
},
|
||||
"include": ["src"]
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"files": [],
|
||||
"references": [
|
||||
{ "path": "./tsconfig.app.json" },
|
||||
{ "path": "./tsconfig.node.json" }
|
||||
],
|
||||
"compilerOptions": {
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["./src/*"]
|
||||
},
|
||||
"noImplicitAny": false,
|
||||
"noUnusedParameters": false,
|
||||
"skipLibCheck": true,
|
||||
"allowJs": true,
|
||||
"noUnusedLocals": false,
|
||||
"strictNullChecks": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2022",
|
||||
"lib": ["ES2023"],
|
||||
"module": "ESNext",
|
||||
"skipLibCheck": true,
|
||||
|
||||
/* Bundler mode */
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"isolatedModules": true,
|
||||
"moduleDetection": "force",
|
||||
"noEmit": true,
|
||||
|
||||
/* Linting */
|
||||
"strict": true,
|
||||
"noUnusedLocals": false,
|
||||
"noUnusedParameters": false,
|
||||
"noFallthroughCasesInSwitch": true
|
||||
},
|
||||
"include": ["vite.config.ts"]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import { defineConfig } from "vite";
|
||||
import react from "@vitejs/plugin-react-swc";
|
||||
import path from "path";
|
||||
|
||||
export default defineConfig(() => ({
|
||||
server: {
|
||||
host: "::",
|
||||
port: 8080,
|
||||
},
|
||||
plugins: [react()],
|
||||
resolve: {
|
||||
alias: {
|
||||
"@": path.resolve(__dirname, "./src"),
|
||||
},
|
||||
},
|
||||
}));
|
||||
24
e2e-tests/fixtures/import-app/minimal/.gitignore
vendored
Normal file
24
e2e-tests/fixtures/import-app/minimal/.gitignore
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
13
e2e-tests/fixtures/import-app/minimal/index.html
Normal file
13
e2e-tests/fixtures/import-app/minimal/index.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>dyad-generated-app</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/main.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
25
e2e-tests/fixtures/import-app/minimal/package.json
Normal file
25
e2e-tests/fixtures/import-app/minimal/package.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"name": "vite_react_shadcn_ts",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"build:dev": "vite build --mode development",
|
||||
"lint": "eslint .",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.5.5",
|
||||
"@types/react": "^18.3.3",
|
||||
"@types/react-dom": "^18.3.0",
|
||||
"@vitejs/plugin-react-swc": "^3.9.0",
|
||||
"typescript": "^5.5.3",
|
||||
"vite": "^6.3.4"
|
||||
}
|
||||
}
|
||||
838
e2e-tests/fixtures/import-app/minimal/pnpm-lock.yaml
generated
Normal file
838
e2e-tests/fixtures/import-app/minimal/pnpm-lock.yaml
generated
Normal file
@@ -0,0 +1,838 @@
|
||||
lockfileVersion: '9.0'
|
||||
|
||||
settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
importers:
|
||||
|
||||
.:
|
||||
dependencies:
|
||||
react:
|
||||
specifier: ^18.3.1
|
||||
version: 18.3.1
|
||||
react-dom:
|
||||
specifier: ^18.3.1
|
||||
version: 18.3.1(react@18.3.1)
|
||||
devDependencies:
|
||||
'@types/node':
|
||||
specifier: ^22.5.5
|
||||
version: 22.15.29
|
||||
'@types/react':
|
||||
specifier: ^18.3.3
|
||||
version: 18.3.23
|
||||
'@types/react-dom':
|
||||
specifier: ^18.3.0
|
||||
version: 18.3.7(@types/react@18.3.23)
|
||||
'@vitejs/plugin-react-swc':
|
||||
specifier: ^3.9.0
|
||||
version: 3.10.0(vite@6.3.5(@types/node@22.15.29))
|
||||
typescript:
|
||||
specifier: ^5.5.3
|
||||
version: 5.8.3
|
||||
vite:
|
||||
specifier: ^6.3.4
|
||||
version: 6.3.5(@types/node@22.15.29)
|
||||
|
||||
packages:
|
||||
|
||||
'@esbuild/aix-ppc64@0.25.5':
|
||||
resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ppc64]
|
||||
os: [aix]
|
||||
|
||||
'@esbuild/android-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-arm@0.25.5':
|
||||
resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-x64@0.25.5':
|
||||
resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/darwin-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/darwin-x64@0.25.5':
|
||||
resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/freebsd-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/freebsd-x64@0.25.5':
|
||||
resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/linux-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-arm@0.25.5':
|
||||
resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ia32@0.25.5':
|
||||
resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-loong64@0.25.5':
|
||||
resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-mips64el@0.25.5':
|
||||
resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [mips64el]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ppc64@0.25.5':
|
||||
resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-riscv64@0.25.5':
|
||||
resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-s390x@0.25.5':
|
||||
resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-x64@0.25.5':
|
||||
resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/netbsd-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/netbsd-x64@0.25.5':
|
||||
resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/openbsd-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/openbsd-x64@0.25.5':
|
||||
resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/sunos-x64@0.25.5':
|
||||
resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [sunos]
|
||||
|
||||
'@esbuild/win32-arm64@0.25.5':
|
||||
resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-ia32@0.25.5':
|
||||
resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-x64@0.25.5':
|
||||
resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@rolldown/pluginutils@1.0.0-beta.9':
|
||||
resolution: {integrity: sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==}
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.41.1':
|
||||
resolution: {integrity: sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@rollup/rollup-android-arm64@4.41.1':
|
||||
resolution: {integrity: sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@rollup/rollup-darwin-arm64@4.41.1':
|
||||
resolution: {integrity: sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@rollup/rollup-darwin-x64@4.41.1':
|
||||
resolution: {integrity: sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@rollup/rollup-freebsd-arm64@4.41.1':
|
||||
resolution: {integrity: sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@rollup/rollup-freebsd-x64@4.41.1':
|
||||
resolution: {integrity: sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.41.1':
|
||||
resolution: {integrity: sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.41.1':
|
||||
resolution: {integrity: sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.41.1':
|
||||
resolution: {integrity: sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-loongarch64-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-powerpc64le-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-riscv64-musl@4.41.1':
|
||||
resolution: {integrity: sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.41.1':
|
||||
resolution: {integrity: sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.41.1':
|
||||
resolution: {integrity: sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-win32-arm64-msvc@4.41.1':
|
||||
resolution: {integrity: sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@rollup/rollup-win32-ia32-msvc@4.41.1':
|
||||
resolution: {integrity: sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@rollup/rollup-win32-x64-msvc@4.41.1':
|
||||
resolution: {integrity: sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@swc/core-darwin-arm64@1.11.29':
|
||||
resolution: {integrity: sha512-whsCX7URzbuS5aET58c75Dloby3Gtj/ITk2vc4WW6pSDQKSPDuONsIcZ7B2ng8oz0K6ttbi4p3H/PNPQLJ4maQ==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@swc/core-darwin-x64@1.11.29':
|
||||
resolution: {integrity: sha512-S3eTo/KYFk+76cWJRgX30hylN5XkSmjYtCBnM4jPLYn7L6zWYEPajsFLmruQEiTEDUg0gBEWLMNyUeghtswouw==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@swc/core-linux-arm-gnueabihf@1.11.29':
|
||||
resolution: {integrity: sha512-o9gdshbzkUMG6azldHdmKklcfrcMx+a23d/2qHQHPDLUPAN+Trd+sDQUYArK5Fcm7TlpG4sczz95ghN0DMkM7g==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-linux-arm64-gnu@1.11.29':
|
||||
resolution: {integrity: sha512-sLoaciOgUKQF1KX9T6hPGzvhOQaJn+3DHy4LOHeXhQqvBgr+7QcZ+hl4uixPKTzxk6hy6Hb0QOvQEdBAAR1gXw==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-linux-arm64-musl@1.11.29':
|
||||
resolution: {integrity: sha512-PwjB10BC0N+Ce7RU/L23eYch6lXFHz7r3NFavIcwDNa/AAqywfxyxh13OeRy+P0cg7NDpWEETWspXeI4Ek8otw==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-linux-x64-gnu@1.11.29':
|
||||
resolution: {integrity: sha512-i62vBVoPaVe9A3mc6gJG07n0/e7FVeAvdD9uzZTtGLiuIfVfIBta8EMquzvf+POLycSk79Z6lRhGPZPJPYiQaA==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-linux-x64-musl@1.11.29':
|
||||
resolution: {integrity: sha512-YER0XU1xqFdK0hKkfSVX1YIyCvMDI7K07GIpefPvcfyNGs38AXKhb2byySDjbVxkdl4dycaxxhRyhQ2gKSlsFQ==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@swc/core-win32-arm64-msvc@1.11.29':
|
||||
resolution: {integrity: sha512-po+WHw+k9g6FAg5IJ+sMwtA/fIUL3zPQ4m/uJgONBATCVnDDkyW6dBA49uHNVtSEvjvhuD8DVWdFP847YTcITw==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@swc/core-win32-ia32-msvc@1.11.29':
|
||||
resolution: {integrity: sha512-h+NjOrbqdRBYr5ItmStmQt6x3tnhqgwbj9YxdGPepbTDamFv7vFnhZR0YfB3jz3UKJ8H3uGJ65Zw1VsC+xpFkg==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@swc/core-win32-x64-msvc@1.11.29':
|
||||
resolution: {integrity: sha512-Q8cs2BDV9wqDvqobkXOYdC+pLUSEpX/KvI0Dgfun1F+LzuLotRFuDhrvkU9ETJA6OnD2+Fn/ieHgloiKA/Mn/g==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@swc/core@1.11.29':
|
||||
resolution: {integrity: sha512-g4mThMIpWbNhV8G2rWp5a5/Igv8/2UFRJx2yImrLGMgrDDYZIopqZ/z0jZxDgqNA1QDx93rpwNF7jGsxVWcMlA==}
|
||||
engines: {node: '>=10'}
|
||||
peerDependencies:
|
||||
'@swc/helpers': '>=0.5.17'
|
||||
peerDependenciesMeta:
|
||||
'@swc/helpers':
|
||||
optional: true
|
||||
|
||||
'@swc/counter@0.1.3':
|
||||
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
|
||||
|
||||
'@swc/types@0.1.21':
|
||||
resolution: {integrity: sha512-2YEtj5HJVbKivud9N4bpPBAyZhj4S2Ipe5LkUG94alTpr7in/GU/EARgPAd3BwU+YOmFVJC2+kjqhGRi3r0ZpQ==}
|
||||
|
||||
'@types/estree@1.0.7':
|
||||
resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==}
|
||||
|
||||
'@types/node@22.15.29':
|
||||
resolution: {integrity: sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==}
|
||||
|
||||
'@types/prop-types@15.7.14':
|
||||
resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
|
||||
|
||||
'@types/react-dom@18.3.7':
|
||||
resolution: {integrity: sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==}
|
||||
peerDependencies:
|
||||
'@types/react': ^18.0.0
|
||||
|
||||
'@types/react@18.3.23':
|
||||
resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==}
|
||||
|
||||
'@vitejs/plugin-react-swc@3.10.0':
|
||||
resolution: {integrity: sha512-ZmkdHw3wo/o/Rk05YsXZs/DJAfY2CdQ5DUAjoWji+PEr+hYADdGMCGgEAILbiKj+CjspBTuTACBcWDrmC8AUfw==}
|
||||
peerDependencies:
|
||||
vite: ^4 || ^5 || ^6
|
||||
|
||||
csstype@3.1.3:
|
||||
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
|
||||
|
||||
esbuild@0.25.5:
|
||||
resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
fdir@6.4.5:
|
||||
resolution: {integrity: sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==}
|
||||
peerDependencies:
|
||||
picomatch: ^3 || ^4
|
||||
peerDependenciesMeta:
|
||||
picomatch:
|
||||
optional: true
|
||||
|
||||
fsevents@2.3.3:
|
||||
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
|
||||
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
||||
os: [darwin]
|
||||
|
||||
js-tokens@4.0.0:
|
||||
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
||||
|
||||
loose-envify@1.4.0:
|
||||
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
|
||||
hasBin: true
|
||||
|
||||
nanoid@3.3.11:
|
||||
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
|
||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||
hasBin: true
|
||||
|
||||
picocolors@1.1.1:
|
||||
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
|
||||
|
||||
picomatch@4.0.2:
|
||||
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
postcss@8.5.4:
|
||||
resolution: {integrity: sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
|
||||
react-dom@18.3.1:
|
||||
resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
|
||||
peerDependencies:
|
||||
react: ^18.3.1
|
||||
|
||||
react@18.3.1:
|
||||
resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
rollup@4.41.1:
|
||||
resolution: {integrity: sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==}
|
||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||
hasBin: true
|
||||
|
||||
scheduler@0.23.2:
|
||||
resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
|
||||
|
||||
source-map-js@1.2.1:
|
||||
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
tinyglobby@0.2.14:
|
||||
resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
|
||||
typescript@5.8.3:
|
||||
resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
|
||||
engines: {node: '>=14.17'}
|
||||
hasBin: true
|
||||
|
||||
undici-types@6.21.0:
|
||||
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
|
||||
|
||||
vite@6.3.5:
|
||||
resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==}
|
||||
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
|
||||
jiti: '>=1.21.0'
|
||||
less: '*'
|
||||
lightningcss: ^1.21.0
|
||||
sass: '*'
|
||||
sass-embedded: '*'
|
||||
stylus: '*'
|
||||
sugarss: '*'
|
||||
terser: ^5.16.0
|
||||
tsx: ^4.8.1
|
||||
yaml: ^2.4.2
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
jiti:
|
||||
optional: true
|
||||
less:
|
||||
optional: true
|
||||
lightningcss:
|
||||
optional: true
|
||||
sass:
|
||||
optional: true
|
||||
sass-embedded:
|
||||
optional: true
|
||||
stylus:
|
||||
optional: true
|
||||
sugarss:
|
||||
optional: true
|
||||
terser:
|
||||
optional: true
|
||||
tsx:
|
||||
optional: true
|
||||
yaml:
|
||||
optional: true
|
||||
|
||||
snapshots:
|
||||
|
||||
'@esbuild/aix-ppc64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ia32@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-loong64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-mips64el@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ppc64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-riscv64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-s390x@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/sunos-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-arm64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-ia32@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-x64@0.25.5':
|
||||
optional: true
|
||||
|
||||
'@rolldown/pluginutils@1.0.0-beta.9': {}
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-android-arm64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-darwin-arm64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-darwin-x64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-freebsd-arm64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-freebsd-x64@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-loongarch64-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-powerpc64le-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-riscv64-musl@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-arm64-msvc@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-ia32-msvc@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-x64-msvc@4.41.1':
|
||||
optional: true
|
||||
|
||||
'@swc/core-darwin-arm64@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-darwin-x64@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-arm-gnueabihf@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-arm64-gnu@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-arm64-musl@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-x64-gnu@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-linux-x64-musl@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-win32-arm64-msvc@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-win32-ia32-msvc@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core-win32-x64-msvc@1.11.29':
|
||||
optional: true
|
||||
|
||||
'@swc/core@1.11.29':
|
||||
dependencies:
|
||||
'@swc/counter': 0.1.3
|
||||
'@swc/types': 0.1.21
|
||||
optionalDependencies:
|
||||
'@swc/core-darwin-arm64': 1.11.29
|
||||
'@swc/core-darwin-x64': 1.11.29
|
||||
'@swc/core-linux-arm-gnueabihf': 1.11.29
|
||||
'@swc/core-linux-arm64-gnu': 1.11.29
|
||||
'@swc/core-linux-arm64-musl': 1.11.29
|
||||
'@swc/core-linux-x64-gnu': 1.11.29
|
||||
'@swc/core-linux-x64-musl': 1.11.29
|
||||
'@swc/core-win32-arm64-msvc': 1.11.29
|
||||
'@swc/core-win32-ia32-msvc': 1.11.29
|
||||
'@swc/core-win32-x64-msvc': 1.11.29
|
||||
|
||||
'@swc/counter@0.1.3': {}
|
||||
|
||||
'@swc/types@0.1.21':
|
||||
dependencies:
|
||||
'@swc/counter': 0.1.3
|
||||
|
||||
'@types/estree@1.0.7': {}
|
||||
|
||||
'@types/node@22.15.29':
|
||||
dependencies:
|
||||
undici-types: 6.21.0
|
||||
|
||||
'@types/prop-types@15.7.14': {}
|
||||
|
||||
'@types/react-dom@18.3.7(@types/react@18.3.23)':
|
||||
dependencies:
|
||||
'@types/react': 18.3.23
|
||||
|
||||
'@types/react@18.3.23':
|
||||
dependencies:
|
||||
'@types/prop-types': 15.7.14
|
||||
csstype: 3.1.3
|
||||
|
||||
'@vitejs/plugin-react-swc@3.10.0(vite@6.3.5(@types/node@22.15.29))':
|
||||
dependencies:
|
||||
'@rolldown/pluginutils': 1.0.0-beta.9
|
||||
'@swc/core': 1.11.29
|
||||
vite: 6.3.5(@types/node@22.15.29)
|
||||
transitivePeerDependencies:
|
||||
- '@swc/helpers'
|
||||
|
||||
csstype@3.1.3: {}
|
||||
|
||||
esbuild@0.25.5:
|
||||
optionalDependencies:
|
||||
'@esbuild/aix-ppc64': 0.25.5
|
||||
'@esbuild/android-arm': 0.25.5
|
||||
'@esbuild/android-arm64': 0.25.5
|
||||
'@esbuild/android-x64': 0.25.5
|
||||
'@esbuild/darwin-arm64': 0.25.5
|
||||
'@esbuild/darwin-x64': 0.25.5
|
||||
'@esbuild/freebsd-arm64': 0.25.5
|
||||
'@esbuild/freebsd-x64': 0.25.5
|
||||
'@esbuild/linux-arm': 0.25.5
|
||||
'@esbuild/linux-arm64': 0.25.5
|
||||
'@esbuild/linux-ia32': 0.25.5
|
||||
'@esbuild/linux-loong64': 0.25.5
|
||||
'@esbuild/linux-mips64el': 0.25.5
|
||||
'@esbuild/linux-ppc64': 0.25.5
|
||||
'@esbuild/linux-riscv64': 0.25.5
|
||||
'@esbuild/linux-s390x': 0.25.5
|
||||
'@esbuild/linux-x64': 0.25.5
|
||||
'@esbuild/netbsd-arm64': 0.25.5
|
||||
'@esbuild/netbsd-x64': 0.25.5
|
||||
'@esbuild/openbsd-arm64': 0.25.5
|
||||
'@esbuild/openbsd-x64': 0.25.5
|
||||
'@esbuild/sunos-x64': 0.25.5
|
||||
'@esbuild/win32-arm64': 0.25.5
|
||||
'@esbuild/win32-ia32': 0.25.5
|
||||
'@esbuild/win32-x64': 0.25.5
|
||||
|
||||
fdir@6.4.5(picomatch@4.0.2):
|
||||
optionalDependencies:
|
||||
picomatch: 4.0.2
|
||||
|
||||
fsevents@2.3.3:
|
||||
optional: true
|
||||
|
||||
js-tokens@4.0.0: {}
|
||||
|
||||
loose-envify@1.4.0:
|
||||
dependencies:
|
||||
js-tokens: 4.0.0
|
||||
|
||||
nanoid@3.3.11: {}
|
||||
|
||||
picocolors@1.1.1: {}
|
||||
|
||||
picomatch@4.0.2: {}
|
||||
|
||||
postcss@8.5.4:
|
||||
dependencies:
|
||||
nanoid: 3.3.11
|
||||
picocolors: 1.1.1
|
||||
source-map-js: 1.2.1
|
||||
|
||||
react-dom@18.3.1(react@18.3.1):
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
react: 18.3.1
|
||||
scheduler: 0.23.2
|
||||
|
||||
react@18.3.1:
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
|
||||
rollup@4.41.1:
|
||||
dependencies:
|
||||
'@types/estree': 1.0.7
|
||||
optionalDependencies:
|
||||
'@rollup/rollup-android-arm-eabi': 4.41.1
|
||||
'@rollup/rollup-android-arm64': 4.41.1
|
||||
'@rollup/rollup-darwin-arm64': 4.41.1
|
||||
'@rollup/rollup-darwin-x64': 4.41.1
|
||||
'@rollup/rollup-freebsd-arm64': 4.41.1
|
||||
'@rollup/rollup-freebsd-x64': 4.41.1
|
||||
'@rollup/rollup-linux-arm-gnueabihf': 4.41.1
|
||||
'@rollup/rollup-linux-arm-musleabihf': 4.41.1
|
||||
'@rollup/rollup-linux-arm64-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-arm64-musl': 4.41.1
|
||||
'@rollup/rollup-linux-loongarch64-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-powerpc64le-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-riscv64-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-riscv64-musl': 4.41.1
|
||||
'@rollup/rollup-linux-s390x-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-x64-gnu': 4.41.1
|
||||
'@rollup/rollup-linux-x64-musl': 4.41.1
|
||||
'@rollup/rollup-win32-arm64-msvc': 4.41.1
|
||||
'@rollup/rollup-win32-ia32-msvc': 4.41.1
|
||||
'@rollup/rollup-win32-x64-msvc': 4.41.1
|
||||
fsevents: 2.3.3
|
||||
|
||||
scheduler@0.23.2:
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
|
||||
source-map-js@1.2.1: {}
|
||||
|
||||
tinyglobby@0.2.14:
|
||||
dependencies:
|
||||
fdir: 6.4.5(picomatch@4.0.2)
|
||||
picomatch: 4.0.2
|
||||
|
||||
typescript@5.8.3: {}
|
||||
|
||||
undici-types@6.21.0: {}
|
||||
|
||||
vite@6.3.5(@types/node@22.15.29):
|
||||
dependencies:
|
||||
esbuild: 0.25.5
|
||||
fdir: 6.4.5(picomatch@4.0.2)
|
||||
picomatch: 4.0.2
|
||||
postcss: 8.5.4
|
||||
rollup: 4.41.1
|
||||
tinyglobby: 0.2.14
|
||||
optionalDependencies:
|
||||
'@types/node': 22.15.29
|
||||
fsevents: 2.3.3
|
||||
3
e2e-tests/fixtures/import-app/minimal/src/App.tsx
Normal file
3
e2e-tests/fixtures/import-app/minimal/src/App.tsx
Normal file
@@ -0,0 +1,3 @@
|
||||
const App = () => <div>Minimal imported app</div>;
|
||||
|
||||
export default App;
|
||||
4
e2e-tests/fixtures/import-app/minimal/src/main.tsx
Normal file
4
e2e-tests/fixtures/import-app/minimal/src/main.tsx
Normal file
@@ -0,0 +1,4 @@
|
||||
import { createRoot } from "react-dom/client";
|
||||
import App from "./App.tsx";
|
||||
|
||||
createRoot(document.getElementById("root")!).render(<App />);
|
||||
1
e2e-tests/fixtures/import-app/minimal/src/vite-env.d.ts
vendored
Normal file
1
e2e-tests/fixtures/import-app/minimal/src/vite-env.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/// <reference types="vite/client" />
|
||||
30
e2e-tests/fixtures/import-app/minimal/tsconfig.app.json
Normal file
30
e2e-tests/fixtures/import-app/minimal/tsconfig.app.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2020",
|
||||
"useDefineForClassFields": true,
|
||||
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
||||
"module": "ESNext",
|
||||
"skipLibCheck": true,
|
||||
|
||||
/* Bundler mode */
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"isolatedModules": true,
|
||||
"moduleDetection": "force",
|
||||
"noEmit": true,
|
||||
"jsx": "react-jsx",
|
||||
|
||||
/* Linting */
|
||||
"strict": false,
|
||||
"noUnusedLocals": false,
|
||||
"noUnusedParameters": false,
|
||||
"noImplicitAny": false,
|
||||
"noFallthroughCasesInSwitch": false,
|
||||
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["./src/*"]
|
||||
}
|
||||
},
|
||||
"include": ["src"]
|
||||
}
|
||||
19
e2e-tests/fixtures/import-app/minimal/tsconfig.json
Normal file
19
e2e-tests/fixtures/import-app/minimal/tsconfig.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"files": [],
|
||||
"references": [
|
||||
{ "path": "./tsconfig.app.json" },
|
||||
{ "path": "./tsconfig.node.json" }
|
||||
],
|
||||
"compilerOptions": {
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@/*": ["./src/*"]
|
||||
},
|
||||
"noImplicitAny": false,
|
||||
"noUnusedParameters": false,
|
||||
"skipLibCheck": true,
|
||||
"allowJs": true,
|
||||
"noUnusedLocals": false,
|
||||
"strictNullChecks": false
|
||||
}
|
||||
}
|
||||
22
e2e-tests/fixtures/import-app/minimal/tsconfig.node.json
Normal file
22
e2e-tests/fixtures/import-app/minimal/tsconfig.node.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ES2022",
|
||||
"lib": ["ES2023"],
|
||||
"module": "ESNext",
|
||||
"skipLibCheck": true,
|
||||
|
||||
/* Bundler mode */
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"isolatedModules": true,
|
||||
"moduleDetection": "force",
|
||||
"noEmit": true,
|
||||
|
||||
/* Linting */
|
||||
"strict": true,
|
||||
"noUnusedLocals": false,
|
||||
"noUnusedParameters": false,
|
||||
"noFallthroughCasesInSwitch": true
|
||||
},
|
||||
"include": ["vite.config.ts"]
|
||||
}
|
||||
16
e2e-tests/fixtures/import-app/minimal/vite.config.ts
Normal file
16
e2e-tests/fixtures/import-app/minimal/vite.config.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import { defineConfig } from "vite";
|
||||
import react from "@vitejs/plugin-react-swc";
|
||||
import path from "path";
|
||||
|
||||
export default defineConfig(() => ({
|
||||
server: {
|
||||
host: "::",
|
||||
port: 8080,
|
||||
},
|
||||
plugins: [react()],
|
||||
resolve: {
|
||||
alias: {
|
||||
"@": path.resolve(__dirname, "./src"),
|
||||
},
|
||||
},
|
||||
}));
|
||||
24
e2e-tests/fixtures/import-app/select-component/.gitignore
vendored
Normal file
24
e2e-tests/fixtures/import-app/select-component/.gitignore
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
@@ -0,0 +1 @@
|
||||
# AI RULES placeholder
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"$schema": "https://ui.shadcn.com/schema.json",
|
||||
"style": "new-york",
|
||||
"rsc": false,
|
||||
"tsx": true,
|
||||
"tailwind": {
|
||||
"config": "",
|
||||
"css": "src/styles/globals.css",
|
||||
"baseColor": "neutral",
|
||||
"cssVariables": true,
|
||||
"prefix": ""
|
||||
},
|
||||
"aliases": {
|
||||
"components": "@/components",
|
||||
"utils": "@/lib/utils",
|
||||
"ui": "@/components/ui",
|
||||
"lib": "@/lib",
|
||||
"hooks": "@/hooks"
|
||||
},
|
||||
"iconLibrary": "lucide"
|
||||
}
|
||||
13
e2e-tests/fixtures/import-app/select-component/index.html
Normal file
13
e2e-tests/fixtures/import-app/select-component/index.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>dyad-generated-app</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/main.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
34
e2e-tests/fixtures/import-app/select-component/package.json
Normal file
34
e2e-tests/fixtures/import-app/select-component/package.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"name": "vite_react_shadcn_ts",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"build:dev": "vite build --mode development",
|
||||
"lint": "eslint .",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"@radix-ui/react-slot": "^1.2.3",
|
||||
"@tailwindcss/vite": "^4.1.8",
|
||||
"class-variance-authority": "^0.7.1",
|
||||
"clsx": "^2.1.1",
|
||||
"lucide-react": "^0.514.0",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"react-router-dom": "^6.26.2",
|
||||
"tailwind-merge": "^3.3.1",
|
||||
"tailwindcss": "^4.1.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.5.5",
|
||||
"@types/react": "^18.3.3",
|
||||
"@types/react-dom": "^18.3.0",
|
||||
"@vitejs/plugin-react-swc": "^3.9.0",
|
||||
"tw-animate-css": "^1.3.4",
|
||||
"typescript": "^5.5.3",
|
||||
"vite": "^6.3.4"
|
||||
}
|
||||
}
|
||||
1373
e2e-tests/fixtures/import-app/select-component/pnpm-lock.yaml
generated
Normal file
1373
e2e-tests/fixtures/import-app/select-component/pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user