From d4faea2fa9caf5cf8c84ca5b6a1e6f93144e7c6a Mon Sep 17 00:00:00 2001 From: Reversean Date: Thu, 11 Dec 2025 22:58:42 +0300 Subject: [PATCH] feat(sveltekit-integration): set up sveltekit package workspace - Create packages/svelte with TypeScript and Vite configuration - Configure workspace - Add minimal package structure with build support --- README.md | 1 + packages/sveltekit/README.md | 23 +++++++++++++++++++++++ packages/sveltekit/package.json | 28 ++++++++++++++++++++++++++++ packages/sveltekit/src/index.ts | 8 ++++++++ packages/sveltekit/tsconfig.json | 10 ++++++++++ packages/sveltekit/vite.config.ts | 23 +++++++++++++++++++++++ 6 files changed, 93 insertions(+) create mode 100644 packages/sveltekit/README.md create mode 100644 packages/sveltekit/package.json create mode 100644 packages/sveltekit/src/index.ts create mode 100644 packages/sveltekit/tsconfig.json create mode 100644 packages/sveltekit/vite.config.ts diff --git a/README.md b/README.md index 1787ef6..9991a32 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ Error tracking for JavaScript/TypeScript applications. ## Packages - **[@hawk.so/javascript](./packages/javascript)** - Core JavaScript/TypeScript error tracking SDK +- **[@hawk.so/sveltekit](packages/sveltekit)** - Hawk integration for SvelteKit apps ## License diff --git a/packages/sveltekit/README.md b/packages/sveltekit/README.md new file mode 100644 index 0000000..1518e7e --- /dev/null +++ b/packages/sveltekit/README.md @@ -0,0 +1,23 @@ +# Hawk SDK for SvelteKit + +Hawk Error Tracker integration for SvelteKit applications. + +## Usage + +**1. Install package:** + +```shell +npm install @hawk.so/sveltekit --save +``` + +SvelteKit is supported out of the box. Initialize Hawk in app's client hooks. + +**2. Create or update `src/hooks.client.ts`:** + +```ts +import Hawk from '@hawk.so/sveltekit'; + +new Hawk({ + token: 'YOUR_INTEGRATION_TOKEN' +}); +``` diff --git a/packages/sveltekit/package.json b/packages/sveltekit/package.json new file mode 100644 index 0000000..4c7586f --- /dev/null +++ b/packages/sveltekit/package.json @@ -0,0 +1,28 @@ +{ + "name": "@hawk.so/sveltekit", + "version": "1.0.0", + "description": "SvelteKit integration for Hawk Error Tracker", + "main": "./dist/hawk-sveltekit.umd.js", + "module": "./dist/hawk-sveltekit.mjs", + "types": "dist/index.d.ts", + "scripts": { + "build": "vite build" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/codex-team/hawk.javascript.git", + "directory": "packages/sveltekit" + }, + "author": { + "name": "CodeX", + "email": "team@codex.so" + }, + "license": "AGPL-3.0-only", + "bugs": { + "url": "https://github.com/codex-team/hawk.javascript/issues" + }, + "homepage": "https://github.com/codex-team/hawk.javascript#readme", + "dependencies": { + "@hawk.so/javascript": "^3.0.0" + } +} diff --git a/packages/sveltekit/src/index.ts b/packages/sveltekit/src/index.ts new file mode 100644 index 0000000..e37aee1 --- /dev/null +++ b/packages/sveltekit/src/index.ts @@ -0,0 +1,8 @@ +/** + * \@hawk.so/sveltekit + * + * SvelteKit integration for Hawk Error tracker + */ + +export * from '@hawk.so/javascript'; +export { default } from '@hawk.so/javascript'; diff --git a/packages/sveltekit/tsconfig.json b/packages/sveltekit/tsconfig.json new file mode 100644 index 0000000..56896f0 --- /dev/null +++ b/packages/sveltekit/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src" + }, + "include": [ + "src/**/*" + ] +} diff --git a/packages/sveltekit/vite.config.ts b/packages/sveltekit/vite.config.ts new file mode 100644 index 0000000..7549433 --- /dev/null +++ b/packages/sveltekit/vite.config.ts @@ -0,0 +1,23 @@ +import path from 'path'; +import dts from 'vite-plugin-dts'; +import { defineConfig } from 'vite'; + +export default defineConfig(() => { + return { + build: { + lib: { + entry: path.resolve(__dirname, 'src', 'index.ts'), + name: 'Hawk', + fileName: 'hawk-sveltekit', + }, + rollupOptions: { + external: ['sveltekit', '@hawk.so/javascript'], + }, + }, + plugins: [ + dts({ + tsconfigPath: './tsconfig.json', + }), + ], + }; +});