summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--benchmark/packages/timer/src/preview.ts2
-rw-r--r--benchmark/packages/timer/src/server.ts2
-rw-r--r--biome.json4
-rw-r--r--packages/create-astro/src/actions/context.ts6
-rw-r--r--packages/create-astro/src/actions/dependencies.ts2
-rw-r--r--packages/create-astro/src/actions/project-name.ts2
-rw-r--r--packages/create-astro/src/actions/template.ts4
-rw-r--r--packages/create-astro/src/actions/typescript.ts4
-rw-r--r--packages/create-astro/src/actions/verify.ts2
-rw-r--r--packages/create-astro/src/index.ts2
-rw-r--r--packages/create-astro/src/messages.ts4
-rw-r--r--packages/db/src/core/cli/commands/gen/index.ts6
-rw-r--r--packages/db/src/core/cli/commands/link/index.ts4
-rw-r--r--packages/db/src/core/cli/commands/login/index.ts8
-rw-r--r--packages/db/src/core/cli/commands/logout/index.ts2
-rw-r--r--packages/db/src/core/cli/commands/push/index.ts16
-rw-r--r--packages/db/src/core/cli/commands/verify/index.ts6
-rw-r--r--packages/db/src/core/cli/migration-queries.ts36
-rw-r--r--packages/db/src/core/cli/migrations.ts4
-rw-r--r--packages/db/src/core/errors.ts2
-rw-r--r--packages/db/src/core/integration/file-url.ts6
-rw-r--r--packages/db/src/core/integration/index.ts24
-rw-r--r--packages/db/src/core/integration/typegen.ts2
-rw-r--r--packages/db/src/core/integration/vite-plugin-inject-env-ts.ts2
-rw-r--r--packages/db/src/core/queries.ts12
-rw-r--r--packages/db/src/core/tokens.ts2
-rw-r--r--packages/db/src/core/types.ts8
-rw-r--r--packages/db/src/runtime/db-client.ts6
-rw-r--r--packages/db/src/runtime/index.ts12
-rw-r--r--packages/db/src/runtime/types.ts4
-rw-r--r--packages/integrations/alpinejs/src/index.ts2
-rw-r--r--packages/integrations/lit/server-shim.js2
-rw-r--r--packages/integrations/lit/server.js2
-rw-r--r--packages/integrations/lit/src/index.ts2
-rw-r--r--packages/integrations/markdoc/src/content-entry-type.ts8
-rw-r--r--packages/integrations/markdoc/src/extensions/prism.ts2
-rw-r--r--packages/integrations/markdoc/src/index.ts2
-rw-r--r--packages/integrations/markdoc/src/load-config.ts4
-rw-r--r--packages/integrations/mdx/src/index.ts4
-rw-r--r--packages/integrations/mdx/src/remark-images-to-component.ts2
-rw-r--r--packages/integrations/node/src/index.ts2
-rw-r--r--packages/integrations/node/src/log-listening-on.ts4
-rw-r--r--packages/integrations/node/src/middleware.ts2
-rw-r--r--packages/integrations/node/src/preview.ts4
-rw-r--r--packages/integrations/node/src/serve-static.ts6
-rw-r--r--packages/integrations/node/src/server.ts4
-rw-r--r--packages/integrations/node/src/standalone.ts8
-rw-r--r--packages/integrations/node/src/types.ts2
-rw-r--r--packages/integrations/partytown/src/index.ts8
-rw-r--r--packages/integrations/partytown/src/sirv.ts2
-rw-r--r--packages/integrations/preact/src/index.ts4
-rw-r--r--packages/integrations/preact/src/server.ts4
-rw-r--r--packages/integrations/react/client-v17.js2
-rw-r--r--packages/integrations/react/server.js2
-rw-r--r--packages/integrations/react/vnode-children.js4
-rw-r--r--packages/integrations/sitemap/src/index.ts2
-rw-r--r--packages/integrations/solid/src/server.ts4
-rw-r--r--packages/integrations/svelte/server-v5.js2
-rw-r--r--packages/integrations/svelte/src/index.ts2
-rw-r--r--packages/integrations/vercel/src/lib/nft.ts6
-rw-r--r--packages/integrations/vercel/src/lib/redirects.ts2
-rw-r--r--packages/integrations/vercel/src/serverless/adapter.ts14
-rw-r--r--packages/integrations/vercel/src/serverless/entrypoint.ts8
-rw-r--r--packages/integrations/vercel/src/serverless/middleware.ts4
-rw-r--r--packages/integrations/vercel/src/static/adapter.ts8
-rw-r--r--packages/integrations/vue/client.js4
-rw-r--r--packages/integrations/vue/server.js4
-rw-r--r--packages/integrations/vue/src/index.ts2
-rw-r--r--packages/integrations/vue/static-html.js2
-rw-r--r--packages/markdown/remark/src/frontmatter-injection.ts2
-rw-r--r--packages/markdown/remark/src/import-plugin-default.ts4
-rw-r--r--packages/markdown/remark/src/remark-shiki.ts2
-rw-r--r--packages/markdown/remark/src/shiki.ts2
-rw-r--r--packages/telemetry/src/config.ts4
-rw-r--r--packages/telemetry/src/index.ts6
-rw-r--r--packages/telemetry/src/system-info.ts4
-rw-r--r--packages/underscore-redirects/src/astro.ts2
-rw-r--r--packages/upgrade/src/actions/context.ts2
-rw-r--r--packages/upgrade/src/actions/install.ts4
-rw-r--r--packages/upgrade/src/actions/verify.ts2
-rw-r--r--packages/upgrade/src/index.ts2
81 files changed, 193 insertions, 191 deletions
diff --git a/benchmark/packages/timer/src/preview.ts b/benchmark/packages/timer/src/preview.ts
index 4ee43ebd0..aa503c11b 100644
--- a/benchmark/packages/timer/src/preview.ts
+++ b/benchmark/packages/timer/src/preview.ts
@@ -1,5 +1,5 @@
-import type { CreatePreviewServer } from 'astro';
import { createServer } from 'node:http';
+import type { CreatePreviewServer } from 'astro';
import enableDestroy from 'server-destroy';
const preview: CreatePreviewServer = async function ({ serverEntrypoint, host, port }) {
diff --git a/benchmark/packages/timer/src/server.ts b/benchmark/packages/timer/src/server.ts
index d33e65c00..9905a627b 100644
--- a/benchmark/packages/timer/src/server.ts
+++ b/benchmark/packages/timer/src/server.ts
@@ -1,6 +1,6 @@
+import type { IncomingMessage, ServerResponse } from 'node:http';
import type { SSRManifest } from 'astro';
import { NodeApp, applyPolyfills } from 'astro/app/node';
-import type { IncomingMessage, ServerResponse } from 'node:http';
applyPolyfills();
diff --git a/biome.json b/biome.json
index fd944b5f1..8c370e91a 100644
--- a/biome.json
+++ b/biome.json
@@ -1,8 +1,8 @@
{
"$schema": "https://biomejs.dev/schemas/1.5.3/schema.json",
"files": {
- "include": ["test/**", "e2e/**"],
- "ignore": ["vendor"]
+ "include": ["test/**", "e2e/**", "packages/**"],
+ "ignore": ["vendor", "dist/**", "packages/astro/**"]
},
"organizeImports": {
"enabled": true
diff --git a/packages/create-astro/src/actions/context.ts b/packages/create-astro/src/actions/context.ts
index 8c173191d..d052cf044 100644
--- a/packages/create-astro/src/actions/context.ts
+++ b/packages/create-astro/src/actions/context.ts
@@ -1,10 +1,10 @@
-import { prompt, type Task } from '@astrojs/cli-kit';
+import os from 'node:os';
+import { type Task, prompt } from '@astrojs/cli-kit';
import { random } from '@astrojs/cli-kit/utils';
import arg from 'arg';
-import os from 'node:os';
-import { getName, getVersion } from '../messages.js';
import getSeasonalData from '../data/seasonal.js';
+import { getName, getVersion } from '../messages.js';
export interface Context {
help: boolean;
diff --git a/packages/create-astro/src/actions/dependencies.ts b/packages/create-astro/src/actions/dependencies.ts
index e420fcb71..dbca1ee0c 100644
--- a/packages/create-astro/src/actions/dependencies.ts
+++ b/packages/create-astro/src/actions/dependencies.ts
@@ -1,6 +1,6 @@
-import { color } from '@astrojs/cli-kit';
import fs from 'node:fs';
import path from 'node:path';
+import { color } from '@astrojs/cli-kit';
import { error, info, title } from '../messages.js';
import { shell } from '../shell.js';
import type { Context } from './context.js';
diff --git a/packages/create-astro/src/actions/project-name.ts b/packages/create-astro/src/actions/project-name.ts
index 8802387af..2c2d95fb9 100644
--- a/packages/create-astro/src/actions/project-name.ts
+++ b/packages/create-astro/src/actions/project-name.ts
@@ -1,7 +1,7 @@
import type { Context } from './context.js';
-import { color, generateProjectName } from '@astrojs/cli-kit';
import path from 'node:path';
+import { color, generateProjectName } from '@astrojs/cli-kit';
import { info, log, title } from '../messages.js';
import { isEmpty, toValidName } from './shared.js';
diff --git a/packages/create-astro/src/actions/template.ts b/packages/create-astro/src/actions/template.ts
index fa88fd503..e5cf22e50 100644
--- a/packages/create-astro/src/actions/template.ts
+++ b/packages/create-astro/src/actions/template.ts
@@ -1,9 +1,9 @@
import type { Context } from './context.js';
-import { color } from '@astrojs/cli-kit';
-import { downloadTemplate } from 'giget';
import fs from 'node:fs';
import path from 'node:path';
+import { color } from '@astrojs/cli-kit';
+import { downloadTemplate } from 'giget';
import { error, info, title } from '../messages.js';
export async function template(
diff --git a/packages/create-astro/src/actions/typescript.ts b/packages/create-astro/src/actions/typescript.ts
index 78f75daf5..5e9defe02 100644
--- a/packages/create-astro/src/actions/typescript.ts
+++ b/packages/create-astro/src/actions/typescript.ts
@@ -1,9 +1,9 @@
-import type { Context } from './context.js';
-import { color } from '@astrojs/cli-kit';
import { readFile, rm, writeFile } from 'node:fs/promises';
import path from 'node:path';
+import { color } from '@astrojs/cli-kit';
import stripJsonComments from 'strip-json-comments';
import { error, getVersion, info, title, typescriptByDefault } from '../messages.js';
+import type { Context } from './context.js';
type PickedTypeScriptContext = Pick<
Context,
diff --git a/packages/create-astro/src/actions/verify.ts b/packages/create-astro/src/actions/verify.ts
index a567e1d1f..a6c9cc7e1 100644
--- a/packages/create-astro/src/actions/verify.ts
+++ b/packages/create-astro/src/actions/verify.ts
@@ -1,7 +1,7 @@
import type { Context } from './context.js';
-import { color } from '@astrojs/cli-kit';
import dns from 'node:dns/promises';
+import { color } from '@astrojs/cli-kit';
import { bannerAbort, error, info, log } from '../messages.js';
import { getTemplateTarget } from './template.js';
diff --git a/packages/create-astro/src/index.ts b/packages/create-astro/src/index.ts
index abb133eeb..9f2a50a8b 100644
--- a/packages/create-astro/src/index.ts
+++ b/packages/create-astro/src/index.ts
@@ -1,5 +1,6 @@
import { getContext } from './actions/context.js';
+import { tasks } from '@astrojs/cli-kit';
import { dependencies } from './actions/dependencies.js';
import { git } from './actions/git.js';
import { help } from './actions/help.js';
@@ -10,7 +11,6 @@ import { template } from './actions/template.js';
import { setupTypeScript, typescript } from './actions/typescript.js';
import { verify } from './actions/verify.js';
import { setStdout } from './messages.js';
-import { tasks } from '@astrojs/cli-kit';
const exit = () => process.exit(0);
process.on('SIGINT', exit);
diff --git a/packages/create-astro/src/messages.ts b/packages/create-astro/src/messages.ts
index 8f6a2cf2e..984ec5aff 100644
--- a/packages/create-astro/src/messages.ts
+++ b/packages/create-astro/src/messages.ts
@@ -1,7 +1,7 @@
+import { exec } from 'node:child_process';
/* eslint no-console: 'off' */
-import { color, say as houston, label, spinner as load } from '@astrojs/cli-kit';
+import { color, label, say as houston, spinner as load } from '@astrojs/cli-kit';
import { align, sleep } from '@astrojs/cli-kit/utils';
-import { exec } from 'node:child_process';
import stripAnsi from 'strip-ansi';
import { shell } from './shell.js';
diff --git a/packages/db/src/core/cli/commands/gen/index.ts b/packages/db/src/core/cli/commands/gen/index.ts
index 551350306..25f59be45 100644
--- a/packages/db/src/core/cli/commands/gen/index.ts
+++ b/packages/db/src/core/cli/commands/gen/index.ts
@@ -1,14 +1,14 @@
+import { writeFile } from 'node:fs/promises';
import type { AstroConfig } from 'astro';
+import { bgRed, red, reset } from 'kleur/colors';
import type { Arguments } from 'yargs-parser';
-import { writeFile } from 'node:fs/promises';
+import { getMigrationQueries } from '../../migration-queries.js';
import {
MIGRATIONS_CREATED,
MIGRATIONS_UP_TO_DATE,
getMigrationStatus,
initializeMigrationsDirectory,
} from '../../migrations.js';
-import { getMigrationQueries } from '../../migration-queries.js';
-import { bgRed, red, reset } from 'kleur/colors';
export async function cmd({ config }: { config: AstroConfig; flags: Arguments }) {
const migration = await getMigrationStatus(config);
diff --git a/packages/db/src/core/cli/commands/link/index.ts b/packages/db/src/core/cli/commands/link/index.ts
index ef32341e6..542782bd3 100644
--- a/packages/db/src/core/cli/commands/link/index.ts
+++ b/packages/db/src/core/cli/commands/link/index.ts
@@ -1,11 +1,11 @@
-import type { AstroConfig } from 'astro';
import { mkdir, writeFile } from 'node:fs/promises';
+import type { AstroConfig } from 'astro';
import { bgRed, cyan } from 'kleur/colors';
import prompts from 'prompts';
import type { Arguments } from 'yargs-parser';
+import { MISSING_SESSION_ID_ERROR } from '../../../errors.js';
import { PROJECT_ID_FILE, getSessionIdFromFile } from '../../../tokens.js';
import { getAstroStudioUrl } from '../../../utils.js';
-import { MISSING_SESSION_ID_ERROR } from '../../../errors.js';
export async function cmd({ flags }: { config: AstroConfig; flags: Arguments }) {
const linkUrl = new URL(getAstroStudioUrl() + '/auth/cli/link');
diff --git a/packages/db/src/core/cli/commands/login/index.ts b/packages/db/src/core/cli/commands/login/index.ts
index e9548772a..fb0f105bc 100644
--- a/packages/db/src/core/cli/commands/login/index.ts
+++ b/packages/db/src/core/cli/commands/login/index.ts
@@ -1,12 +1,12 @@
-import type { AstroConfig } from 'astro';
-import { cyan } from 'kleur/colors';
import { mkdir, writeFile } from 'node:fs/promises';
import { createServer } from 'node:http';
+import type { AstroConfig } from 'astro';
+import { cyan } from 'kleur/colors';
+import open from 'open';
import ora from 'ora';
import type { Arguments } from 'yargs-parser';
-import { getAstroStudioUrl } from '../../../utils.js';
-import open from 'open';
import { SESSION_LOGIN_FILE } from '../../../tokens.js';
+import { getAstroStudioUrl } from '../../../utils.js';
function serveAndResolveSession(): Promise<string> {
let resolve: (value: string | PromiseLike<string>) => void,
diff --git a/packages/db/src/core/cli/commands/logout/index.ts b/packages/db/src/core/cli/commands/logout/index.ts
index feae880cc..0881dcf4c 100644
--- a/packages/db/src/core/cli/commands/logout/index.ts
+++ b/packages/db/src/core/cli/commands/logout/index.ts
@@ -1,5 +1,5 @@
-import type { AstroConfig } from 'astro';
import { unlink } from 'node:fs/promises';
+import type { AstroConfig } from 'astro';
import type { Arguments } from 'yargs-parser';
import { SESSION_LOGIN_FILE } from '../../../tokens.js';
diff --git a/packages/db/src/core/cli/commands/push/index.ts b/packages/db/src/core/cli/commands/push/index.ts
index e0d6b9306..8c3f21e4d 100644
--- a/packages/db/src/core/cli/commands/push/index.ts
+++ b/packages/db/src/core/cli/commands/push/index.ts
@@ -1,27 +1,27 @@
-import { createClient, type InStatement } from '@libsql/client';
+import { type InStatement, createClient } from '@libsql/client';
import type { AstroConfig } from 'astro';
-import { drizzle as drizzleProxy } from 'drizzle-orm/sqlite-proxy';
import { drizzle as drizzleLibsql } from 'drizzle-orm/libsql';
import { SQLiteAsyncDialect } from 'drizzle-orm/sqlite-core';
+import { drizzle as drizzleProxy } from 'drizzle-orm/sqlite-proxy';
import { red } from 'kleur/colors';
import prompts from 'prompts';
import type { Arguments } from 'yargs-parser';
+import { MISSING_SESSION_ID_ERROR } from '../../../errors.js';
import { recreateTables, seedData } from '../../../queries.js';
import { getManagedAppTokenOrExit } from '../../../tokens.js';
-import { tablesSchema, type AstroConfigWithDB, type DBSnapshot } from '../../../types.js';
+import { type AstroConfigWithDB, type DBSnapshot, tablesSchema } from '../../../types.js';
import { getRemoteDatabaseUrl } from '../../../utils.js';
import { getMigrationQueries } from '../../migration-queries.js';
import {
+ MIGRATIONS_NOT_INITIALIZED,
+ MIGRATIONS_UP_TO_DATE,
+ MIGRATION_NEEDED,
createEmptySnapshot,
- getMigrations,
getMigrationStatus,
+ getMigrations,
loadInitialSnapshot,
loadMigration,
- MIGRATION_NEEDED,
- MIGRATIONS_NOT_INITIALIZED,
- MIGRATIONS_UP_TO_DATE,
} from '../../migrations.js';
-import { MISSING_SESSION_ID_ERROR } from '../../../errors.js';
export async function cmd({ config, flags }: { config: AstroConfig; flags: Arguments }) {
const isDryRun = flags.dryRun;
diff --git a/packages/db/src/core/cli/commands/verify/index.ts b/packages/db/src/core/cli/commands/verify/index.ts
index 96b4b6576..6d839d606 100644
--- a/packages/db/src/core/cli/commands/verify/index.ts
+++ b/packages/db/src/core/cli/commands/verify/index.ts
@@ -1,12 +1,12 @@
import type { AstroConfig } from 'astro';
import type { Arguments } from 'yargs-parser';
+import { getMigrationQueries } from '../../migration-queries.js';
import {
- getMigrationStatus,
- MIGRATION_NEEDED,
MIGRATIONS_NOT_INITIALIZED,
MIGRATIONS_UP_TO_DATE,
+ MIGRATION_NEEDED,
+ getMigrationStatus,
} from '../../migrations.js';
-import { getMigrationQueries } from '../../migration-queries.js';
export async function cmd({ config, flags }: { config: AstroConfig; flags: Arguments }) {
const status = await getMigrationStatus(config);
diff --git a/packages/db/src/core/cli/migration-queries.ts b/packages/db/src/core/cli/migration-queries.ts
index 7acd1dad3..e031108e4 100644
--- a/packages/db/src/core/cli/migration-queries.ts
+++ b/packages/db/src/core/cli/migration-queries.ts
@@ -1,23 +1,10 @@
-import * as color from 'kleur/colors';
import deepDiff from 'deep-diff';
-import {
- columnSchema,
- type BooleanColumn,
- type DBTable,
- type DBTables,
- type DBColumn,
- type DBColumns,
- type DBSnapshot,
- type DateColumn,
- type ColumnType,
- type Indexes,
- type JsonColumn,
- type NumberColumn,
- type TextColumn,
-} from '../types.js';
import { SQLiteAsyncDialect } from 'drizzle-orm/sqlite-core';
+import * as color from 'kleur/colors';
import { customAlphabet } from 'nanoid';
import prompts from 'prompts';
+import { hasPrimaryKey } from '../../runtime/index.js';
+import { isSerializedSQL } from '../../runtime/types.js';
import {
getCreateIndexQueries,
getCreateTableQuery,
@@ -26,8 +13,21 @@ import {
hasDefault,
schemaTypeToSqlType,
} from '../queries.js';
-import { hasPrimaryKey } from '../../runtime/index.js';
-import { isSerializedSQL } from '../../runtime/types.js';
+import {
+ type BooleanColumn,
+ type ColumnType,
+ type DBColumn,
+ type DBColumns,
+ type DBSnapshot,
+ type DBTable,
+ type DBTables,
+ type DateColumn,
+ type Indexes,
+ type JsonColumn,
+ type NumberColumn,
+ type TextColumn,
+ columnSchema,
+} from '../types.js';
const sqlite = new SQLiteAsyncDialect();
const genTempTableName = customAlphabet('abcdefghijklmnopqrstuvwxyz', 10);
diff --git a/packages/db/src/core/cli/migrations.ts b/packages/db/src/core/cli/migrations.ts
index 8b57d4b63..671862b61 100644
--- a/packages/db/src/core/cli/migrations.ts
+++ b/packages/db/src/core/cli/migrations.ts
@@ -1,8 +1,8 @@
+import type { AstroConfig } from 'astro';
import deepDiff from 'deep-diff';
import { mkdir, readFile, readdir, writeFile } from 'fs/promises';
-import { tablesSchema, type DBSnapshot } from '../types.js';
-import type { AstroConfig } from 'astro';
import { cyan, green, yellow } from 'kleur/colors';
+import { type DBSnapshot, tablesSchema } from '../types.js';
const { applyChange, diff: generateDiff } = deepDiff;
export type MigrationStatus =
diff --git a/packages/db/src/core/errors.ts b/packages/db/src/core/errors.ts
index 2ac406b31..76a66d0dc 100644
--- a/packages/db/src/core/errors.ts
+++ b/packages/db/src/core/errors.ts
@@ -1,4 +1,4 @@
-import { cyan, bold, red, green, yellow } from 'kleur/colors';
+import { bold, cyan, green, red, yellow } from 'kleur/colors';
export const MISSING_SESSION_ID_ERROR = `${red('â–¶ Login required!')}
diff --git a/packages/db/src/core/integration/file-url.ts b/packages/db/src/core/integration/file-url.ts
index 7dc4b916e..06bc67de1 100644
--- a/packages/db/src/core/integration/file-url.ts
+++ b/packages/db/src/core/integration/file-url.ts
@@ -1,8 +1,8 @@
-import type { AstroConfig, AstroIntegration } from 'astro';
-import type { VitePlugin } from '../utils.js';
import fs from 'node:fs';
-import { pathToFileURL } from 'node:url';
import path from 'node:path';
+import { pathToFileURL } from 'node:url';
+import type { AstroConfig, AstroIntegration } from 'astro';
+import type { VitePlugin } from '../utils.js';
async function copyFile(toDir: URL, fromUrl: URL, toUrl: URL) {
await fs.promises.mkdir(toDir, { recursive: true });
diff --git a/packages/db/src/core/integration/index.ts b/packages/db/src/core/integration/index.ts
index 2ea1b74c7..d9cddfd72 100644
--- a/packages/db/src/core/integration/index.ts
+++ b/packages/db/src/core/integration/index.ts
@@ -1,21 +1,21 @@
-import type { AstroIntegration } from 'astro';
-import { vitePluginDb } from './vite-plugin-db.js';
-import { vitePluginInjectEnvTs } from './vite-plugin-inject-env-ts.js';
-import { typegen } from './typegen.js';
import { existsSync } from 'fs';
+import { dirname } from 'path';
+import { fileURLToPath } from 'url';
+import type { AstroIntegration } from 'astro';
import { mkdir, rm, writeFile } from 'fs/promises';
-import { DB_PATH } from '../consts.js';
+import { blue, yellow } from 'kleur/colors';
import { createLocalDatabaseClient } from '../../runtime/db-client.js';
-import { astroConfigWithDbSchema, type DBTables } from '../types.js';
-import { type VitePlugin } from '../utils.js';
+import { DB_PATH } from '../consts.js';
import { STUDIO_CONFIG_MISSING_WRITABLE_TABLE_ERROR, UNSAFE_WRITABLE_WARNING } from '../errors.js';
+import { recreateTables, seedData } from '../queries.js';
+import { type ManagedAppToken, getManagedAppTokenOrExit } from '../tokens.js';
+import { type DBTables, astroConfigWithDbSchema } from '../types.js';
+import { type VitePlugin } from '../utils.js';
import { errorMap } from './error-map.js';
-import { dirname } from 'path';
-import { fileURLToPath } from 'url';
-import { blue, yellow } from 'kleur/colors';
import { fileURLIntegration } from './file-url.js';
-import { recreateTables, seedData } from '../queries.js';
-import { getManagedAppTokenOrExit, type ManagedAppToken } from '../tokens.js';
+import { typegen } from './typegen.js';
+import { vitePluginDb } from './vite-plugin-db.js';
+import { vitePluginInjectEnvTs } from './vite-plugin-inject-env-ts.js';
function astroDBIntegration(): AstroIntegration {
let connectedToRemote = false;
diff --git a/packages/db/src/core/integration/typegen.ts b/packages/db/src/core/integration/typegen.ts
index ce53aa667..0436261e1 100644
--- a/packages/db/src/core/integration/typegen.ts
+++ b/packages/db/src/core/integration/typegen.ts
@@ -1,7 +1,7 @@
import { existsSync } from 'node:fs';
import { mkdir, writeFile } from 'node:fs/promises';
-import type { DBTable, DBTables } from '../types.js';
import { DB_TYPES_FILE, RUNTIME_DRIZZLE_IMPORT, RUNTIME_IMPORT } from '../consts.js';
+import type { DBTable, DBTables } from '../types.js';
export async function typegen({ tables, root }: { tables: DBTables; root: URL }) {
const content = `// This file is generated by \`studio sync\`
diff --git a/packages/db/src/core/integration/vite-plugin-inject-env-ts.ts b/packages/db/src/core/integration/vite-plugin-inject-env-ts.ts
index 91fa1228f..1202e72d6 100644
--- a/packages/db/src/core/integration/vite-plugin-inject-env-ts.ts
+++ b/packages/db/src/core/integration/vite-plugin-inject-env-ts.ts
@@ -2,11 +2,11 @@ import { existsSync } from 'node:fs';
import { readFile, writeFile } from 'node:fs/promises';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
+import type { AstroIntegrationLogger } from 'astro';
import { bold, cyan } from 'kleur/colors';
import { normalizePath } from 'vite';
import { DB_TYPES_FILE } from '../consts.js';
import type { VitePlugin } from '../utils.js';
-import type { AstroIntegrationLogger } from 'astro';
export function vitePluginInjectEnvTs(
{ srcDir, root }: { srcDir: URL; root: URL },
diff --git a/packages/db/src/core/queries.ts b/packages/db/src/core/queries.ts
index 9fd1003f6..f699a297a 100644
--- a/packages/db/src/core/queries.ts
+++ b/packages/db/src/core/queries.ts
@@ -1,19 +1,19 @@
+import type { AstroIntegrationLogger } from 'astro';
+import { type SQL, getTableName, sql } from 'drizzle-orm';
+import { SQLiteAsyncDialect, type SQLiteInsert } from 'drizzle-orm/sqlite-core';
import type { SqliteRemoteDatabase } from 'drizzle-orm/sqlite-proxy';
+import { bold } from 'kleur/colors';
import {
type BooleanColumn,
+ type ColumnType,
+ type DBColumn,
type DBTable,
type DBTables,
- type DBColumn,
type DateColumn,
- type ColumnType,
type JsonColumn,
type NumberColumn,
type TextColumn,
} from '../core/types.js';
-import { bold } from 'kleur/colors';
-import { type SQL, sql, getTableName } from 'drizzle-orm';
-import { SQLiteAsyncDialect, type SQLiteInsert } from 'drizzle-orm/sqlite-core';
-import type { AstroIntegrationLogger } from 'astro';
import type {
ColumnsConfig,
DBUserConfig,
diff --git a/packages/db/src/core/tokens.ts b/packages/db/src/core/tokens.ts
index 6b1572309..d8be850a0 100644
--- a/packages/db/src/core/tokens.ts
+++ b/packages/db/src/core/tokens.ts
@@ -2,8 +2,8 @@ import { readFile } from 'node:fs/promises';
import { homedir } from 'node:os';
import { join } from 'node:path';
import { pathToFileURL } from 'node:url';
-import { getAstroStudioEnv, getAstroStudioUrl } from './utils.js';
import { MISSING_PROJECT_ID_ERROR, MISSING_SESSION_ID_ERROR } from './errors.js';
+import { getAstroStudioEnv, getAstroStudioUrl } from './utils.js';
export const SESSION_LOGIN_FILE = pathToFileURL(join(homedir(), '.astro', 'session-token'));
export const PROJECT_ID_FILE = pathToFileURL(join(process.cwd(), '.astro', 'link'));
diff --git a/packages/db/src/core/types.ts b/packages/db/src/core/types.ts
index ec2322ed5..a4896a8be 100644
--- a/packages/db/src/core/types.ts
+++ b/packages/db/src/core/types.ts
@@ -1,10 +1,10 @@
-import { SQLiteAsyncDialect, type SQLiteInsertValue } from 'drizzle-orm/sqlite-core';
import type { InferSelectModel } from 'drizzle-orm';
-import { collectionToTable, type SqliteDB, type Table } from '../runtime/index.js';
-import { z, type ZodTypeDef } from 'zod';
import { SQL } from 'drizzle-orm';
-import { errorMap } from './integration/error-map.js';
+import { SQLiteAsyncDialect, type SQLiteInsertValue } from 'drizzle-orm/sqlite-core';
+import { type ZodTypeDef, z } from 'zod';
+import { type SqliteDB, type Table, collectionToTable } from '../runtime/index.js';
import { SERIALIZED_SQL_KEY, type SerializedSQL } from '../runtime/types.js';
+import { errorMap } from './integration/error-map.js';
export type MaybePromise<T> = T | Promise<T>;
export type MaybeArray<T> = T | T[];
diff --git a/packages/db/src/runtime/db-client.ts b/packages/db/src/runtime/db-client.ts
index 28db1138f..905820676 100644
--- a/packages/db/src/runtime/db-client.ts
+++ b/packages/db/src/runtime/db-client.ts
@@ -1,12 +1,12 @@
import type { InStatement } from '@libsql/client';
import { createClient } from '@libsql/client';
-import { type DBTables } from '../core/types.js';
+import { getTableName } from 'drizzle-orm';
import type { LibSQLDatabase } from 'drizzle-orm/libsql';
import { drizzle as drizzleLibsql } from 'drizzle-orm/libsql';
-import { drizzle as drizzleProxy } from 'drizzle-orm/sqlite-proxy';
import { type SQLiteTable } from 'drizzle-orm/sqlite-core';
+import { drizzle as drizzleProxy } from 'drizzle-orm/sqlite-proxy';
import { z } from 'zod';
-import { getTableName } from 'drizzle-orm';
+import { type DBTables } from '../core/types.js';
const isWebContainer = !!process.versions?.webcontainer;
diff --git a/packages/db/src/runtime/index.ts b/packages/db/src/runtime/index.ts
index 99d2cf31e..7ab5264cd 100644
--- a/packages/db/src/runtime/index.ts
+++ b/packages/db/src/runtime/index.ts
@@ -1,16 +1,16 @@
-import type { SqliteRemoteDatabase } from 'drizzle-orm/sqlite-proxy';
-import { type DBTable, type DBColumn } from '../core/types.js';
import { type ColumnBuilderBaseConfig, type ColumnDataType, sql } from 'drizzle-orm';
import {
+ type IndexBuilder,
+ type SQLiteColumnBuilderBase,
customType,
+ index,
integer,
sqliteTable,
text,
- index,
- type SQLiteColumnBuilderBase,
- type IndexBuilder,
} from 'drizzle-orm/sqlite-core';
-import { isSerializedSQL, type SerializedSQL } from './types.js';
+import type { SqliteRemoteDatabase } from 'drizzle-orm/sqlite-proxy';
+import { type DBColumn, type DBTable } from '../core/types.js';
+import { type SerializedSQL, isSerializedSQL } from './types.js';
export { sql };
export type SqliteDB = SqliteRemoteDatabase;
diff --git a/packages/db/src/runtime/types.ts b/packages/db/src/runtime/types.ts
index 32ee6153b..9bc35bda6 100644
--- a/packages/db/src/runtime/types.ts
+++ b/packages/db/src/runtime/types.ts
@@ -1,6 +1,6 @@
-import type { ColumnDataType, ColumnBaseConfig } from 'drizzle-orm';
+import type { ColumnBaseConfig, ColumnDataType } from 'drizzle-orm';
import type { SQLiteColumn, SQLiteTableWithColumns } from 'drizzle-orm/sqlite-core';
-import type { DBColumn, ColumnsConfig } from '../core/types.js';
+import type { ColumnsConfig, DBColumn } from '../core/types.js';
type GeneratedConfig<T extends ColumnDataType = ColumnDataType> = Pick<
ColumnBaseConfig<T, string>,
diff --git a/packages/integrations/alpinejs/src/index.ts b/packages/integrations/alpinejs/src/index.ts
index 77ea68c74..8bfdd95e5 100644
--- a/packages/integrations/alpinejs/src/index.ts
+++ b/packages/integrations/alpinejs/src/index.ts
@@ -1,6 +1,6 @@
+import { resolve } from 'node:path';
import type { AstroIntegration } from 'astro';
import type { Plugin } from 'vite';
-import { resolve } from 'node:path';
interface Options {
/**
diff --git a/packages/integrations/lit/server-shim.js b/packages/integrations/lit/server-shim.js
index ed371f89a..7cbee09f4 100644
--- a/packages/integrations/lit/server-shim.js
+++ b/packages/integrations/lit/server-shim.js
@@ -1,4 +1,4 @@
-import { customElements as litCE, HTMLElement as litShimHTMLElement } from '@lit-labs/ssr-dom-shim';
+import { HTMLElement as litShimHTMLElement, customElements as litCE } from '@lit-labs/ssr-dom-shim';
// Something at build time injects document.currentScript = undefined instead of
// document.currentScript = null. This causes Sass build to fail because it
diff --git a/packages/integrations/lit/server.js b/packages/integrations/lit/server.js
index b5e56f3c2..e3f1c0340 100644
--- a/packages/integrations/lit/server.js
+++ b/packages/integrations/lit/server.js
@@ -1,4 +1,6 @@
+// Separate import from the rest so it doesn't get re-organized after other imports
import './server-shim.js';
+
import { LitElementRenderer } from '@lit-labs/ssr/lib/lit-element-renderer.js';
import * as parse5 from 'parse5';
diff --git a/packages/integrations/lit/src/index.ts b/packages/integrations/lit/src/index.ts
index f8fbeccba..6c86bd740 100644
--- a/packages/integrations/lit/src/index.ts
+++ b/packages/integrations/lit/src/index.ts
@@ -1,5 +1,5 @@
-import type { AstroIntegration } from 'astro';
import { readFileSync } from 'node:fs';
+import type { AstroIntegration } from 'astro';
function getViteConfiguration() {
return {
diff --git a/packages/integrations/markdoc/src/content-entry-type.ts b/packages/integrations/markdoc/src/content-entry-type.ts
index eea580f72..fe15d03b0 100644
--- a/packages/integrations/markdoc/src/content-entry-type.ts
+++ b/packages/integrations/markdoc/src/content-entry-type.ts
@@ -1,12 +1,12 @@
+import fs from 'node:fs';
+import path from 'node:path';
+import { fileURLToPath } from 'node:url';
import type { Config as MarkdocConfig, Node } from '@markdoc/markdoc';
import Markdoc from '@markdoc/markdoc';
import type { AstroConfig, ContentEntryType } from 'astro';
import { emitESMImage } from 'astro/assets/utils';
import matter from 'gray-matter';
-import fs from 'node:fs';
-import path from 'node:path';
-import { fileURLToPath } from 'node:url';
-import type { Rollup, ErrorPayload as ViteErrorPayload } from 'vite';
+import type { ErrorPayload as ViteErrorPayload, Rollup } from 'vite';
import type { ComponentConfig } from './config.js';
import { htmlTokenTransform } from './html/transform/html-token-transform.js';
import type { MarkdocConfigResult } from './load-config.js';
diff --git a/packages/integrations/markdoc/src/extensions/prism.ts b/packages/integrations/markdoc/src/extensions/prism.ts
index 5cfd628ca..54f98f928 100644
--- a/packages/integrations/markdoc/src/extensions/prism.ts
+++ b/packages/integrations/markdoc/src/extensions/prism.ts
@@ -1,6 +1,6 @@
import { runHighlighterWithAstro } from '@astrojs/prism/dist/highlighter';
import { unescapeHTML } from 'astro/runtime/server/index.js';
-import { Markdoc, type AstroMarkdocConfig } from '../config.js';
+import { type AstroMarkdocConfig, Markdoc } from '../config.js';
export default function prism(): AstroMarkdocConfig {
return {
diff --git a/packages/integrations/markdoc/src/index.ts b/packages/integrations/markdoc/src/index.ts
index 15a0fa7af..1696b36e8 100644
--- a/packages/integrations/markdoc/src/index.ts
+++ b/packages/integrations/markdoc/src/index.ts
@@ -1,9 +1,9 @@
import type { AstroConfig, AstroIntegration, ContentEntryType, HookParameters } from 'astro';
import { getContentEntryType } from './content-entry-type.js';
import {
+ type MarkdocConfigResult,
SUPPORTED_MARKDOC_CONFIG_FILES,
loadMarkdocConfig,
- type MarkdocConfigResult,
} from './load-config.js';
import type { MarkdocIntegrationOptions } from './options.js';
diff --git a/packages/integrations/markdoc/src/load-config.ts b/packages/integrations/markdoc/src/load-config.ts
index 723516ce7..6ae6f5a15 100644
--- a/packages/integrations/markdoc/src/load-config.ts
+++ b/packages/integrations/markdoc/src/load-config.ts
@@ -1,7 +1,7 @@
-import type { AstroConfig } from 'astro';
-import { build as esbuild } from 'esbuild';
import * as fs from 'node:fs';
import { fileURLToPath } from 'node:url';
+import type { AstroConfig } from 'astro';
+import { build as esbuild } from 'esbuild';
import type { AstroMarkdocConfig } from './config.js';
import { MarkdocError } from './utils.js';
diff --git a/packages/integrations/mdx/src/index.ts b/packages/integrations/mdx/src/index.ts
index 80d8c1b76..adbe49e48 100644
--- a/packages/integrations/mdx/src/index.ts
+++ b/packages/integrations/mdx/src/index.ts
@@ -1,9 +1,9 @@
+import fs from 'node:fs/promises';
+import { fileURLToPath } from 'node:url';
import { markdownConfigDefaults, setVfileFrontmatter } from '@astrojs/markdown-remark';
import type { AstroIntegration, ContentEntryType, HookParameters, SSRError } from 'astro';
import astroJSXRenderer from 'astro/jsx/renderer.js';
import { parse as parseESM } from 'es-module-lexer';
-import fs from 'node:fs/promises';
-import { fileURLToPath } from 'node:url';
import type { Options as RemarkRehypeOptions } from 'remark-rehype';
import type { PluggableList } from 'unified';
import { VFile } from 'vfile';
diff --git a/packages/integrations/mdx/src/remark-images-to-component.ts b/packages/integrations/mdx/src/remark-images-to-component.ts
index 86f04aa47..4ab6a0422 100644
--- a/packages/integrations/mdx/src/remark-images-to-component.ts
+++ b/packages/integrations/mdx/src/remark-images-to-component.ts
@@ -1,6 +1,6 @@
import type { MarkdownVFile } from '@astrojs/markdown-remark';
import type { Image, Parent } from 'mdast';
-import type { MdxJsxFlowElement, MdxjsEsm, MdxJsxAttribute } from 'mdast-util-mdx';
+import type { MdxJsxAttribute, MdxJsxFlowElement, MdxjsEsm } from 'mdast-util-mdx';
import { visit } from 'unist-util-visit';
import { jsToTreeNode } from './utils.js';
diff --git a/packages/integrations/node/src/index.ts b/packages/integrations/node/src/index.ts
index 61ea5ad74..2108ec5ca 100644
--- a/packages/integrations/node/src/index.ts
+++ b/packages/integrations/node/src/index.ts
@@ -1,5 +1,5 @@
-import { AstroError } from 'astro/errors';
import type { AstroAdapter, AstroIntegration } from 'astro';
+import { AstroError } from 'astro/errors';
import type { Options, UserOptions } from './types.js';
export function getAdapter(options: Options): AstroAdapter {
diff --git a/packages/integrations/node/src/log-listening-on.ts b/packages/integrations/node/src/log-listening-on.ts
index 5ce93bfd7..5986fc64e 100644
--- a/packages/integrations/node/src/log-listening-on.ts
+++ b/packages/integrations/node/src/log-listening-on.ts
@@ -1,9 +1,9 @@
-import os from 'node:os';
import type http from 'node:http';
import https from 'node:https';
+import type { AddressInfo } from 'node:net';
+import os from 'node:os';
import type { AstroIntegrationLogger } from 'astro';
import type { Options } from './types.js';
-import type { AddressInfo } from 'node:net';
export async function logListeningOn(
logger: AstroIntegrationLogger,
diff --git a/packages/integrations/node/src/middleware.ts b/packages/integrations/node/src/middleware.ts
index 6b6c2afee..5cc4c4a46 100644
--- a/packages/integrations/node/src/middleware.ts
+++ b/packages/integrations/node/src/middleware.ts
@@ -1,6 +1,6 @@
+import type { NodeApp } from 'astro/app/node';
import { createAppHandler } from './serve-app.js';
import type { RequestHandler } from './types.js';
-import type { NodeApp } from 'astro/app/node';
/**
* Creates a middleware that can be used with Express, Connect, etc.
diff --git a/packages/integrations/node/src/preview.ts b/packages/integrations/node/src/preview.ts
index 519b68082..0e3f55ae6 100644
--- a/packages/integrations/node/src/preview.ts
+++ b/packages/integrations/node/src/preview.ts
@@ -1,9 +1,9 @@
import { fileURLToPath } from 'node:url';
+import type { CreatePreviewServer } from 'astro';
import { AstroError } from 'astro/errors';
import { logListeningOn } from './log-listening-on.js';
-import { createServer } from './standalone.js';
-import type { CreatePreviewServer } from 'astro';
import type { createExports } from './server.js';
+import { createServer } from './standalone.js';
type ServerModule = ReturnType<typeof createExports>;
type MaybeServerModule = Partial<ServerModule>;
diff --git a/packages/integrations/node/src/serve-static.ts b/packages/integrations/node/src/serve-static.ts
index b0b1e1766..a65e52e96 100644
--- a/packages/integrations/node/src/serve-static.ts
+++ b/packages/integrations/node/src/serve-static.ts
@@ -1,10 +1,10 @@
+import fs from 'node:fs';
+import type { IncomingMessage, ServerResponse } from 'node:http';
import path from 'node:path';
import url from 'node:url';
-import fs from 'node:fs';
+import type { NodeApp } from 'astro/app/node';
import send from 'send';
-import type { IncomingMessage, ServerResponse } from 'node:http';
import type { Options } from './types.js';
-import type { NodeApp } from 'astro/app/node';
/**
* Creates a Node.js http listener for static files and prerendered pages.
diff --git a/packages/integrations/node/src/server.ts b/packages/integrations/node/src/server.ts
index 73b59c53f..1fb9d93e5 100644
--- a/packages/integrations/node/src/server.ts
+++ b/packages/integrations/node/src/server.ts
@@ -1,8 +1,8 @@
+import type { SSRManifest } from 'astro';
import { NodeApp, applyPolyfills } from 'astro/app/node';
+import createMiddleware from './middleware.js';
import { createStandaloneHandler } from './standalone.js';
import startServer from './standalone.js';
-import createMiddleware from './middleware.js';
-import type { SSRManifest } from 'astro';
import type { Options } from './types.js';
applyPolyfills();
diff --git a/packages/integrations/node/src/standalone.ts b/packages/integrations/node/src/standalone.ts
index 9fa8bd88c..35f1ee8d8 100644
--- a/packages/integrations/node/src/standalone.ts
+++ b/packages/integrations/node/src/standalone.ts
@@ -1,13 +1,13 @@
-import http from 'node:http';
import https from 'https';
import fs from 'node:fs';
+import http from 'node:http';
+import type { PreviewServer } from 'astro';
+import type { NodeApp } from 'astro/app/node';
import enableDestroy from 'server-destroy';
+import { logListeningOn } from './log-listening-on.js';
import { createAppHandler } from './serve-app.js';
import { createStaticHandler } from './serve-static.js';
-import { logListeningOn } from './log-listening-on.js';
-import type { NodeApp } from 'astro/app/node';
import type { Options } from './types.js';
-import type { PreviewServer } from 'astro';
export default function standalone(app: NodeApp, options: Options) {
const port = process.env.PORT ? Number(process.env.PORT) : options.port ?? 8080;
diff --git a/packages/integrations/node/src/types.ts b/packages/integrations/node/src/types.ts
index 3c03dffac..010053de5 100644
--- a/packages/integrations/node/src/types.ts
+++ b/packages/integrations/node/src/types.ts
@@ -1,6 +1,6 @@
-import type { NodeApp } from 'astro/app/node';
import type { IncomingMessage, ServerResponse } from 'node:http';
import type { SSRManifest } from 'astro';
+import type { NodeApp } from 'astro/app/node';
export interface UserOptions {
/**
diff --git a/packages/integrations/partytown/src/index.ts b/packages/integrations/partytown/src/index.ts
index 85b6af764..6930b1336 100644
--- a/packages/integrations/partytown/src/index.ts
+++ b/packages/integrations/partytown/src/index.ts
@@ -1,11 +1,11 @@
-import type { PartytownConfig } from '@builder.io/partytown/integration';
-import { partytownSnippet } from '@builder.io/partytown/integration';
-import { copyLibFiles, libDirPath } from '@builder.io/partytown/utils';
-import type { AstroIntegration } from 'astro';
import { createRequire } from 'module';
import * as fs from 'node:fs';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
+import type { PartytownConfig } from '@builder.io/partytown/integration';
+import { partytownSnippet } from '@builder.io/partytown/integration';
+import { copyLibFiles, libDirPath } from '@builder.io/partytown/utils';
+import type { AstroIntegration } from 'astro';
import sirv from './sirv.js';
const resolve = createRequire(import.meta.url).resolve;
diff --git a/packages/integrations/partytown/src/sirv.ts b/packages/integrations/partytown/src/sirv.ts
index e6f7c6218..ce4136f2f 100644
--- a/packages/integrations/partytown/src/sirv.ts
+++ b/packages/integrations/partytown/src/sirv.ts
@@ -32,10 +32,10 @@
import * as fs from 'node:fs';
import { join, normalize, resolve } from 'node:path';
+import { URL } from 'node:url';
// import { totalist } from 'totalist/sync';
// import { parse } from '@polka/url';
import { lookup } from 'mrmime';
-import { URL } from 'node:url';
const noop = () => {};
diff --git a/packages/integrations/preact/src/index.ts b/packages/integrations/preact/src/index.ts
index 85f9bed0f..a2264a990 100644
--- a/packages/integrations/preact/src/index.ts
+++ b/packages/integrations/preact/src/index.ts
@@ -1,6 +1,6 @@
-import { preact, type PreactPluginOptions as VitePreactPluginOptions } from '@preact/preset-vite';
-import type { AstroIntegration, AstroRenderer, ViteUserConfig } from 'astro';
import { fileURLToPath } from 'node:url';
+import { type PreactPluginOptions as VitePreactPluginOptions, preact } from '@preact/preset-vite';
+import type { AstroIntegration, AstroRenderer, ViteUserConfig } from 'astro';
const babelCwd = new URL('../', import.meta.url);
diff --git a/packages/integrations/preact/src/server.ts b/packages/integrations/preact/src/server.ts
index 01b2ba100..c502e68db 100644
--- a/packages/integrations/preact/src/server.ts
+++ b/packages/integrations/preact/src/server.ts
@@ -1,7 +1,7 @@
import type { AstroComponentMetadata } from 'astro';
-import { Component as BaseComponent, h, type VNode } from 'preact';
-import prepass from 'preact-ssr-prepass';
+import { Component as BaseComponent, type VNode, h } from 'preact';
import { render } from 'preact-render-to-string';
+import prepass from 'preact-ssr-prepass';
import { getContext } from './context.js';
import { restoreSignalsOnProps, serializeSignals } from './signals.js';
import StaticHtml from './static-html.js';
diff --git a/packages/integrations/react/client-v17.js b/packages/integrations/react/client-v17.js
index 625dba6bf..565c688d4 100644
--- a/packages/integrations/react/client-v17.js
+++ b/packages/integrations/react/client-v17.js
@@ -1,5 +1,5 @@
import { createElement } from 'react';
-import { render, hydrate, unmountComponentAtNode } from 'react-dom';
+import { hydrate, render, unmountComponentAtNode } from 'react-dom';
import StaticHtml from './static-html.js';
export default (element) =>
diff --git a/packages/integrations/react/server.js b/packages/integrations/react/server.js
index b3ddeb6b1..f7de2ff2e 100644
--- a/packages/integrations/react/server.js
+++ b/packages/integrations/react/server.js
@@ -1,7 +1,7 @@
import React from 'react';
import ReactDOM from 'react-dom/server';
-import StaticHtml from './static-html.js';
import { incrementId } from './context.js';
+import StaticHtml from './static-html.js';
import opts from 'astro:react:opts';
const slotName = (str) => str.trim().replace(/[-_]([a-z])/g, (_, w) => w.toUpperCase());
diff --git a/packages/integrations/react/vnode-children.js b/packages/integrations/react/vnode-children.js
index 0b26ef423..e0751c95a 100644
--- a/packages/integrations/react/vnode-children.js
+++ b/packages/integrations/react/vnode-children.js
@@ -1,5 +1,5 @@
-import { parse, DOCUMENT_NODE, ELEMENT_NODE, TEXT_NODE } from 'ultrahtml';
-import { createElement, Fragment } from 'react';
+import { Fragment, createElement } from 'react';
+import { DOCUMENT_NODE, ELEMENT_NODE, TEXT_NODE, parse } from 'ultrahtml';
let ids = 0;
export default function convert(children) {
diff --git a/packages/integrations/sitemap/src/index.ts b/packages/integrations/sitemap/src/index.ts
index 11f19f5de..9b1ea5ddb 100644
--- a/packages/integrations/sitemap/src/index.ts
+++ b/packages/integrations/sitemap/src/index.ts
@@ -1,6 +1,6 @@
-import type { AstroConfig, AstroIntegration } from 'astro';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
+import type { AstroConfig, AstroIntegration } from 'astro';
import type { EnumChangefreq, LinkItem as LinkItemBase, SitemapItemLoose } from 'sitemap';
import { simpleSitemapAndIndex } from 'sitemap';
import { ZodError } from 'zod';
diff --git a/packages/integrations/solid/src/server.ts b/packages/integrations/solid/src/server.ts
index 81f150d93..a91658ea3 100644
--- a/packages/integrations/solid/src/server.ts
+++ b/packages/integrations/solid/src/server.ts
@@ -1,11 +1,11 @@
import {
+ NoHydration,
+ Suspense,
createComponent,
generateHydrationScript,
- NoHydration,
renderToString,
renderToStringAsync,
ssr,
- Suspense,
} from 'solid-js/web';
import { getContext, incrementId } from './context.js';
import type { RendererContext } from './types.js';
diff --git a/packages/integrations/svelte/server-v5.js b/packages/integrations/svelte/server-v5.js
index e1d246ff4..b4ef33824 100644
--- a/packages/integrations/svelte/server-v5.js
+++ b/packages/integrations/svelte/server-v5.js
@@ -1,5 +1,5 @@
-import { render } from 'svelte/server';
import { add_snippet_symbol } from 'svelte/internal';
+import { render } from 'svelte/server';
// Allow a slot to be rendered as a snippet (dev validation only)
const tagSlotAsSnippet = import.meta.env.DEV ? add_snippet_symbol : (s) => s;
diff --git a/packages/integrations/svelte/src/index.ts b/packages/integrations/svelte/src/index.ts
index 695214223..9c38b9d05 100644
--- a/packages/integrations/svelte/src/index.ts
+++ b/packages/integrations/svelte/src/index.ts
@@ -1,7 +1,7 @@
+import { fileURLToPath } from 'node:url';
import type { Options } from '@sveltejs/vite-plugin-svelte';
import { svelte, vitePreprocess } from '@sveltejs/vite-plugin-svelte';
import type { AstroIntegration, AstroRenderer } from 'astro';
-import { fileURLToPath } from 'node:url';
import { VERSION } from 'svelte/compiler';
import type { UserConfig } from 'vite';
diff --git a/packages/integrations/vercel/src/lib/nft.ts b/packages/integrations/vercel/src/lib/nft.ts
index 585a45e99..6daf12558 100644
--- a/packages/integrations/vercel/src/lib/nft.ts
+++ b/packages/integrations/vercel/src/lib/nft.ts
@@ -1,6 +1,6 @@
-import type { AstroIntegrationLogger } from 'astro';
-import { relative, relative as relativePath } from 'node:path';
+import { relative as relativePath } from 'node:path';
import { fileURLToPath } from 'node:url';
+import type { AstroIntegrationLogger } from 'astro';
import { copyFilesToFunction } from './fs.js';
export async function copyDependenciesToFunction(
@@ -21,7 +21,7 @@ export async function copyDependenciesToFunction(
cache: object
): Promise<{ handler: string }> {
const entryPath = fileURLToPath(entry);
- logger.info(`Bundling function ${relative(fileURLToPath(outDir), entryPath)}`);
+ logger.info(`Bundling function ${relativePath(fileURLToPath(outDir), entryPath)}`);
// Get root of folder of the system (like C:\ on Windows or / on Linux)
let base = entry;
diff --git a/packages/integrations/vercel/src/lib/redirects.ts b/packages/integrations/vercel/src/lib/redirects.ts
index 20a5e502c..8f8db4dcf 100644
--- a/packages/integrations/vercel/src/lib/redirects.ts
+++ b/packages/integrations/vercel/src/lib/redirects.ts
@@ -1,6 +1,6 @@
+import nodePath from 'node:path';
import { appendForwardSlash } from '@astrojs/internal-helpers/path';
import type { AstroConfig, RouteData, RoutePart } from 'astro';
-import nodePath from 'node:path';
const pathJoin = nodePath.posix.join;
diff --git a/packages/integrations/vercel/src/serverless/adapter.ts b/packages/integrations/vercel/src/serverless/adapter.ts
index 2f2e4f747..2cb35a517 100644
--- a/packages/integrations/vercel/src/serverless/adapter.ts
+++ b/packages/integrations/vercel/src/serverless/adapter.ts
@@ -1,3 +1,6 @@
+import { existsSync, readFileSync } from 'node:fs';
+import { basename } from 'node:path';
+import { pathToFileURL } from 'node:url';
import type {
AstroAdapter,
AstroConfig,
@@ -7,25 +10,22 @@ import type {
} from 'astro';
import { AstroError } from 'astro/errors';
import glob from 'fast-glob';
-import { basename } from 'node:path';
-import { pathToFileURL } from 'node:url';
-import { existsSync, readFileSync } from 'node:fs';
import {
- getAstroImageConfig,
- getDefaultImageConfig,
type DevImageService,
type VercelImageConfig,
+ getAstroImageConfig,
+ getDefaultImageConfig,
} from '../image/shared.js';
import { removeDir, writeJson } from '../lib/fs.js';
import { copyDependenciesToFunction } from '../lib/nft.js';
import { escapeRegex, getRedirects } from '../lib/redirects.js';
import {
- getSpeedInsightsViteConfig,
type VercelSpeedInsightsConfig,
+ getSpeedInsightsViteConfig,
} from '../lib/speed-insights.js';
import {
- getInjectableWebAnalyticsContent,
type VercelWebAnalyticsConfig,
+ getInjectableWebAnalyticsContent,
} from '../lib/web-analytics.js';
import { generateEdgeMiddleware } from './middleware.js';
diff --git a/packages/integrations/vercel/src/serverless/entrypoint.ts b/packages/integrations/vercel/src/serverless/entrypoint.ts
index 661e75f1c..67047a7ed 100644
--- a/packages/integrations/vercel/src/serverless/entrypoint.ts
+++ b/packages/integrations/vercel/src/serverless/entrypoint.ts
@@ -1,11 +1,11 @@
-import type { SSRManifest } from 'astro';
-import { applyPolyfills, NodeApp } from 'astro/app/node';
import type { IncomingMessage, ServerResponse } from 'node:http';
+import type { SSRManifest } from 'astro';
+import { NodeApp, applyPolyfills } from 'astro/app/node';
import {
- ASTRO_PATH_HEADER,
- ASTRO_PATH_PARAM,
ASTRO_LOCALS_HEADER,
ASTRO_MIDDLEWARE_SECRET_HEADER,
+ ASTRO_PATH_HEADER,
+ ASTRO_PATH_PARAM,
} from './adapter.js';
applyPolyfills();
diff --git a/packages/integrations/vercel/src/serverless/middleware.ts b/packages/integrations/vercel/src/serverless/middleware.ts
index bf38a3a9f..1875cce00 100644
--- a/packages/integrations/vercel/src/serverless/middleware.ts
+++ b/packages/integrations/vercel/src/serverless/middleware.ts
@@ -1,9 +1,9 @@
import { existsSync } from 'node:fs';
-import { fileURLToPath, pathToFileURL } from 'node:url';
import { builtinModules } from 'node:module';
+import { fileURLToPath, pathToFileURL } from 'node:url';
import {
- ASTRO_MIDDLEWARE_SECRET_HEADER,
ASTRO_LOCALS_HEADER,
+ ASTRO_MIDDLEWARE_SECRET_HEADER,
ASTRO_PATH_HEADER,
NODE_PATH,
} from './adapter.js';
diff --git a/packages/integrations/vercel/src/static/adapter.ts b/packages/integrations/vercel/src/static/adapter.ts
index 7bc793e40..d7fd57fd5 100644
--- a/packages/integrations/vercel/src/static/adapter.ts
+++ b/packages/integrations/vercel/src/static/adapter.ts
@@ -1,21 +1,21 @@
import type { AstroAdapter, AstroConfig, AstroIntegration } from 'astro';
import {
- getAstroImageConfig,
- getDefaultImageConfig,
type DevImageService,
type VercelImageConfig,
+ getAstroImageConfig,
+ getDefaultImageConfig,
} from '../image/shared.js';
import { emptyDir, writeJson } from '../lib/fs.js';
import { isServerLikeOutput } from '../lib/prerender.js';
import { getRedirects } from '../lib/redirects.js';
import {
- getSpeedInsightsViteConfig,
type VercelSpeedInsightsConfig,
+ getSpeedInsightsViteConfig,
} from '../lib/speed-insights.js';
import {
- getInjectableWebAnalyticsContent,
type VercelWebAnalyticsConfig,
+ getInjectableWebAnalyticsContent,
} from '../lib/web-analytics.js';
const PACKAGE_NAME = '@astrojs/vercel/static';
diff --git a/packages/integrations/vue/client.js b/packages/integrations/vue/client.js
index a6eed651a..3fdf53dae 100644
--- a/packages/integrations/vue/client.js
+++ b/packages/integrations/vue/client.js
@@ -1,6 +1,6 @@
-import { h, createSSRApp, createApp, Suspense } from 'vue';
-import { setup } from 'virtual:@astrojs/vue/app';
+import { Suspense, createApp, createSSRApp, h } from 'vue';
import StaticHtml from './static-html.js';
+import { setup } from 'virtual:@astrojs/vue/app';
export default (element) =>
async (Component, props, slotted, { client }) => {
diff --git a/packages/integrations/vue/server.js b/packages/integrations/vue/server.js
index 4bcf04903..55d61871d 100644
--- a/packages/integrations/vue/server.js
+++ b/packages/integrations/vue/server.js
@@ -1,7 +1,7 @@
-import { h, createSSRApp } from 'vue';
+import { createSSRApp, h } from 'vue';
import { renderToString } from 'vue/server-renderer';
-import { setup } from 'virtual:@astrojs/vue/app';
import StaticHtml from './static-html.js';
+import { setup } from 'virtual:@astrojs/vue/app';
function check(Component) {
return !!Component['ssrRender'] || !!Component['__ssrInlineRender'];
diff --git a/packages/integrations/vue/src/index.ts b/packages/integrations/vue/src/index.ts
index 8aa7cde0d..b65d27499 100644
--- a/packages/integrations/vue/src/index.ts
+++ b/packages/integrations/vue/src/index.ts
@@ -2,9 +2,9 @@ import path from 'node:path';
import type { Options as VueOptions } from '@vitejs/plugin-vue';
import vue from '@vitejs/plugin-vue';
import type { Options as VueJsxOptions } from '@vitejs/plugin-vue-jsx';
+import { MagicString } from '@vue/compiler-sfc';
import type { AstroIntegration, AstroRenderer } from 'astro';
import type { Plugin, UserConfig } from 'vite';
-import { MagicString } from '@vue/compiler-sfc';
interface Options extends VueOptions {
jsx?: boolean | VueJsxOptions;
diff --git a/packages/integrations/vue/static-html.js b/packages/integrations/vue/static-html.js
index 885319026..689b56a70 100644
--- a/packages/integrations/vue/static-html.js
+++ b/packages/integrations/vue/static-html.js
@@ -1,4 +1,4 @@
-import { h, defineComponent } from 'vue';
+import { defineComponent, h } from 'vue';
/**
* Astro passes `children` as a string of HTML, so we need
diff --git a/packages/markdown/remark/src/frontmatter-injection.ts b/packages/markdown/remark/src/frontmatter-injection.ts
index 91b98ebcb..cb53d2ab2 100644
--- a/packages/markdown/remark/src/frontmatter-injection.ts
+++ b/packages/markdown/remark/src/frontmatter-injection.ts
@@ -1,4 +1,4 @@
-import type { VFileData as Data, VFile } from 'vfile';
+import type { VFile, VFileData as Data } from 'vfile';
import type { MarkdownAstroData } from './types.js';
function isValidAstroData(obj: unknown): obj is MarkdownAstroData {
diff --git a/packages/markdown/remark/src/import-plugin-default.ts b/packages/markdown/remark/src/import-plugin-default.ts
index ede7cba7d..8c1d01b56 100644
--- a/packages/markdown/remark/src/import-plugin-default.ts
+++ b/packages/markdown/remark/src/import-plugin-default.ts
@@ -1,7 +1,7 @@
-// This file should be imported as `#import-plugin`
-import { resolve as importMetaResolve } from 'import-meta-resolve';
import path from 'node:path';
import { pathToFileURL } from 'node:url';
+// This file should be imported as `#import-plugin`
+import { resolve as importMetaResolve } from 'import-meta-resolve';
import type * as unified from 'unified';
let cwdUrlStr: string | undefined;
diff --git a/packages/markdown/remark/src/remark-shiki.ts b/packages/markdown/remark/src/remark-shiki.ts
index ebf70fbec..7c1cdd075 100644
--- a/packages/markdown/remark/src/remark-shiki.ts
+++ b/packages/markdown/remark/src/remark-shiki.ts
@@ -1,5 +1,5 @@
import { visit } from 'unist-util-visit';
-import { createShikiHighlighter, type ShikiHighlighter } from './shiki.js';
+import { type ShikiHighlighter, createShikiHighlighter } from './shiki.js';
import type { RemarkPlugin, ShikiConfig } from './types.js';
export function remarkShiki(config?: ShikiConfig): ReturnType<RemarkPlugin> {
diff --git a/packages/markdown/remark/src/shiki.ts b/packages/markdown/remark/src/shiki.ts
index 4024d4bc1..26ee22bfa 100644
--- a/packages/markdown/remark/src/shiki.ts
+++ b/packages/markdown/remark/src/shiki.ts
@@ -1,6 +1,6 @@
+import type { Properties } from 'hast';
import { bundledLanguages, createCssVariablesTheme, getHighlighter } from 'shikiji';
import { visit } from 'unist-util-visit';
-import type { Properties } from 'hast';
import type { ShikiConfig } from './types.js';
export interface ShikiHighlighter {
diff --git a/packages/telemetry/src/config.ts b/packages/telemetry/src/config.ts
index dee6c1d25..dba5d5fc4 100644
--- a/packages/telemetry/src/config.ts
+++ b/packages/telemetry/src/config.ts
@@ -1,9 +1,9 @@
-import dget from 'dlv';
-import { dset } from 'dset';
import fs from 'node:fs';
import os from 'node:os';
import path from 'node:path';
import process from 'node:process';
+import dget from 'dlv';
+import { dset } from 'dset';
export interface ConfigOptions {
name: string;
diff --git a/packages/telemetry/src/index.ts b/packages/telemetry/src/index.ts
index e103d2a16..ba7cea108 100644
--- a/packages/telemetry/src/index.ts
+++ b/packages/telemetry/src/index.ts
@@ -1,11 +1,11 @@
+import { randomBytes } from 'node:crypto';
import { isCI } from 'ci-info';
import debug from 'debug';
-import { randomBytes } from 'node:crypto';
import * as KEY from './config-keys.js';
import { GlobalConfig } from './config.js';
import { post } from './post.js';
-import { getProjectInfo, type ProjectInfo } from './project-info.js';
-import { getSystemInfo, type SystemInfo } from './system-info.js';
+import { type ProjectInfo, getProjectInfo } from './project-info.js';
+import { type SystemInfo, getSystemInfo } from './system-info.js';
export type AstroTelemetryOptions = { astroVersion: string; viteVersion: string };
export type TelemetryEvent = { eventName: string; payload: Record<string, any> };
diff --git a/packages/telemetry/src/system-info.ts b/packages/telemetry/src/system-info.ts
index 0953736d7..1315c63c9 100644
--- a/packages/telemetry/src/system-info.ts
+++ b/packages/telemetry/src/system-info.ts
@@ -1,7 +1,7 @@
-import { name as ciName, isCI } from 'ci-info';
+import os from 'node:os';
+import { isCI, name as ciName } from 'ci-info';
import isDocker from 'is-docker';
import isWSL from 'is-wsl';
-import os from 'node:os';
/**
* Astro Telemetry -- System Info
diff --git a/packages/underscore-redirects/src/astro.ts b/packages/underscore-redirects/src/astro.ts
index c8ff5208a..74c3034fb 100644
--- a/packages/underscore-redirects/src/astro.ts
+++ b/packages/underscore-redirects/src/astro.ts
@@ -1,5 +1,5 @@
-import type { AstroConfig, RouteData, ValidRedirectStatus } from 'astro';
import { posix } from 'node:path';
+import type { AstroConfig, RouteData, ValidRedirectStatus } from 'astro';
import { Redirects } from './redirects.js';
const pathJoin = posix.join;
diff --git a/packages/upgrade/src/actions/context.ts b/packages/upgrade/src/actions/context.ts
index f821864b5..f89095e7b 100644
--- a/packages/upgrade/src/actions/context.ts
+++ b/packages/upgrade/src/actions/context.ts
@@ -1,6 +1,6 @@
+import { pathToFileURL } from 'node:url';
import { prompt } from '@astrojs/cli-kit';
import arg from 'arg';
-import { pathToFileURL } from 'node:url';
import detectPackageManager from 'which-pm-runs';
export interface Context {
diff --git a/packages/upgrade/src/actions/install.ts b/packages/upgrade/src/actions/install.ts
index 3c294a8ee..6014b404c 100644
--- a/packages/upgrade/src/actions/install.ts
+++ b/packages/upgrade/src/actions/install.ts
@@ -1,10 +1,10 @@
import type { Context, PackageInfo } from './context.js';
-import { color, say } from '@astrojs/cli-kit';
-import { random, sleep } from '@astrojs/cli-kit/utils';
import fs from 'node:fs';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
+import { color, say } from '@astrojs/cli-kit';
+import { random, sleep } from '@astrojs/cli-kit/utils';
import {
banner,
bye,
diff --git a/packages/upgrade/src/actions/verify.ts b/packages/upgrade/src/actions/verify.ts
index 8233a5caf..8d4c6f1e7 100644
--- a/packages/upgrade/src/actions/verify.ts
+++ b/packages/upgrade/src/actions/verify.ts
@@ -1,9 +1,9 @@
import type { Context, PackageInfo } from './context.js';
-import { color } from '@astrojs/cli-kit';
import dns from 'node:dns/promises';
import { existsSync } from 'node:fs';
import { readFile } from 'node:fs/promises';
+import { color } from '@astrojs/cli-kit';
import semverCoerce from 'semver/functions/coerce.js';
import semverDiff from 'semver/functions/diff.js';
import semverParse from 'semver/functions/parse.js';
diff --git a/packages/upgrade/src/index.ts b/packages/upgrade/src/index.ts
index 8dac82c1c..28e32e473 100644
--- a/packages/upgrade/src/index.ts
+++ b/packages/upgrade/src/index.ts
@@ -2,7 +2,7 @@ import { getContext } from './actions/context.js';
import { help } from './actions/help.js';
import { install } from './actions/install.js';
-import { verify, collectPackageInfo } from './actions/verify.js';
+import { collectPackageInfo, verify } from './actions/verify.js';
import { setStdout } from './messages.js';
const exit = () => process.exit(0);