Skip to content

Platform Adapter #39

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 58 commits into from
Apr 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
38411f0
refactor(edge-worker): Implement platform-specific adapter architecture
jumski Apr 10, 2025
c41c443
refactor(logger): replace local logger with dependency injection
jumski Apr 10, 2025
b958f45
refactor(worker): Update WorkerLifecycle and FlowWorkerLifecycle init…
jumski Apr 10, 2025
0f13d97
refactor(platform): Enhance Deno edge worker adapter with improved ty…
jumski Apr 10, 2025
15c1af6
refactor(deno): Improve environment type checking and declaration
jumski Apr 10, 2025
c171330
refactor(worker): Simplify FlowWorkerLifecycle initialization
jumski Apr 10, 2025
3eb32c8
chore(typescript): update tsconfig and add type definitions
jumski Apr 10, 2025
a7e0b2c
refactor(platform): update Deno type definitions and adapter initiali…
jumski Apr 10, 2025
bc00cc5
refactor(deno-adapter): Improve type safety and remove random UUID ge…
jumski Apr 10, 2025
df87d8f
chore(deps): update Deno types dependency
jumski Apr 10, 2025
687e800
refactor(edge-worker): Restructure worker initialization and adapter …
jumski Apr 10, 2025
e4fa45b
feat(deno-adapter): improve execution ID validation
jumski Apr 10, 2025
7b59cee
chore(edge-worker): Update project configuration and dependencies
jumski Apr 10, 2025
08ac67f
chore(deps): update package dependencies
jumski Apr 10, 2025
a2f0242
chore: update pnpm-lock.yaml
jumski Apr 10, 2025
3966ab1
chore: pnpm-lock.yaml update
jumski Apr 10, 2025
c6c05e1
chore(deps): remove unused pino dependency from package.json
jumski Apr 10, 2025
0e49d68
chore(edge-worker): Update project configuration and dependencies
jumski Apr 10, 2025
8645457
refactor(deno-adapter): Improve worker initialization and type handling
jumski Apr 10, 2025
8713b40
chore(edge-worker): Refactor project configuration and update Deno fu…
jumski Apr 10, 2025
d82a315
refactor(deno-adapter): improve worker lifecycle management
jumski Apr 11, 2025
98c4c4c
refactor(edge-worker): Remove unnecessary comment
jumski Apr 11, 2025
2d60c40
refactor(logger): simplify logger initialization in DenoAdapter
jumski Apr 11, 2025
d573823
chore(deno): Update test configuration and task commands
jumski Apr 11, 2025
efc90f1
refactor(logging): Implement dynamic logging factory with centralized…
jumski Apr 11, 2025
ae5f3cd
test(worker): update WorkerState tests with logging integration
jumski Apr 11, 2025
87c5f47
refactor(deno): improve edge worker platform adapter structure
jumski Apr 11, 2025
8d7b67d
fix(deno): update reference type import path
jumski Apr 11, 2025
6d06a44
refactor(edge-worker): Improve platform adapter and worker configuration
jumski Apr 11, 2025
0004f7c
refactor(edge-worker): Rename adapter methods and properties for plat…
jumski Apr 11, 2025
6fe89b8
refactor(edge-worker): simplify worker creation function
jumski Apr 11, 2025
ec87071
chore(eslint): update ignored paths for supabase functions
jumski Apr 11, 2025
7bf485e
style(typescript): fix eslint issues
jumski Apr 11, 2025
f79eaeb
refactor(imports): remove unused type imports from EdgeWorker module
jumski Apr 11, 2025
db5126d
chore(deps): update deno lock file and test configuration
jumski Apr 11, 2025
8b7cf43
test(edge-worker): add fake logger and update test configurations
jumski Apr 11, 2025
6d7271c
chore: pnpm-lock.yaml update
jumski Apr 11, 2025
badcb08
chore(tests): add eslint disable comment for empty function
jumski Apr 11, 2025
3ffc4b5
chore(project): Update project configuration and module export
jumski Apr 11, 2025
6ce88c4
refactor(eslint): simplify ESLint configurations across packages
jumski Apr 11, 2025
9784d3c
chore(ci): Update Node.js and pnpm versions in workflow
jumski Apr 11, 2025
8319ae9
chore(ci): Update Deno version and install sqruff CLI
jumski Apr 11, 2025
8dca80b
chore(tsconfig): update Deno type definition file extension
jumski Apr 11, 2025
cfd6b4b
Merge branch 'main' into platform-adapter
jumski Apr 14, 2025
04bad99
chore(deps): update Deno types dependency to latest version
jumski Apr 14, 2025
f486dbf
chore(typescript): update edge-worker TypeScript configuration
jumski Apr 14, 2025
13ee4b3
chore(deps): update package dependencies
jumski Apr 14, 2025
5c55c7a
chore(build): enable TypeScript trace resolution for edge worker
jumski Apr 14, 2025
22f3696
chore(deps): update Deno type references and package dependencies
jumski Apr 14, 2025
86f1c43
chore: pnpm-lock.yml
jumski Apr 14, 2025
0321644
chore(deps): update Deno types and remove build tracing
jumski Apr 14, 2025
a5f4274
chore: pnpm lock
jumski Apr 14, 2025
d4c4b28
chore(typescript): Update Deno type configurations
jumski Apr 14, 2025
50cbf99
chore(types): Add Deno type references and import cleanup
jumski Apr 14, 2025
343c26b
chore(tsconfig): simplify TypeScript types configuration
jumski Apr 14, 2025
2cf2611
chore(deps): update Deno types and TypeScript configuration
jumski Apr 14, 2025
3fe7b35
chore(types): Update Deno type definitions and TypeScript configuration
jumski Apr 14, 2025
c65f6ee
chore(deps): update TypeScript configuration and package dependencies
jumski Apr 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:

- uses: pnpm/action-setup@v4
with:
version: 9
version: '8.14.1'

# This enables task distribution via Nx Cloud
# Run this command as early as possible, before dependencies are installed
Expand All @@ -31,13 +31,13 @@ jobs:
# Cache node_modules
- uses: actions/setup-node@v4
with:
node-version: 20
node-version: '20.18.1'
cache: 'pnpm'

- name: Setup Deno
uses: denoland/setup-deno@v2
with:
deno-version: 1.x
deno-version: '1.45.2'

- name: Install sqruff
uses: quarylabs/install-sqruff-cli-action@main
Expand Down
14 changes: 12 additions & 2 deletions eslint.config.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,18 @@ const nx = require('@nx/eslint-plugin');
module.exports = [
{
files: ['**/*.json'],
// Override or add rules here
rules: {},
rules: {
'@nx/dependency-checks': [
'error',
{
ignoredFiles: [
'{projectRoot}/eslint.config.{js,cjs,mjs}',
'{projectRoot}/vite.config.{js,ts,mjs,mts}',
],
ignoredDependencies: ['tslib'],
},
],
},
languageOptions: {
parser: require('jsonc-eslint-parser'),
},
Expand Down
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
"jsr": "^0.13.4",
"nx": "20.3.0",
"prettier": "^2.6.2",
"supabase": "^2.6.8",
"tslib": "^2.3.0",
"typescript": "~5.6.2",
"typescript-eslint": "^8.13.0",
Expand Down
21 changes: 1 addition & 20 deletions pkgs/core/eslint.config.cjs
Original file line number Diff line number Diff line change
@@ -1,22 +1,3 @@
const baseConfig = require('../../eslint.config.cjs');

module.exports = [
...baseConfig,
{
files: ['**/*.json'],
rules: {
'@nx/dependency-checks': [
'error',
{
ignoredFiles: [
'{projectRoot}/eslint.config.{js,cjs,mjs}',
'{projectRoot}/vite.config.{js,ts,mjs,mts}',
],
},
],
},
languageOptions: {
parser: require('jsonc-eslint-parser'),
},
},
];
module.exports = [...baseConfig];
3 changes: 2 additions & 1 deletion pkgs/core/tsconfig.lib.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
"compilerOptions": {
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo"
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
"types": ["node"]
},
"include": ["src/**/*.ts"],
"references": [
Expand Down
21 changes: 1 addition & 20 deletions pkgs/dsl/eslint.config.cjs
Original file line number Diff line number Diff line change
@@ -1,22 +1,3 @@
const baseConfig = require('../../eslint.config.cjs');

module.exports = [
...baseConfig,
{
files: ['**/*.json'],
rules: {
'@nx/dependency-checks': [
'error',
{
ignoredFiles: [
'{projectRoot}/eslint.config.{js,cjs,mjs}',
'{projectRoot}/vite.config.{js,ts,mjs,mts}*',
],
},
],
},
languageOptions: {
parser: require('jsonc-eslint-parser'),
},
},
];
module.exports = [...baseConfig];
3 changes: 2 additions & 1 deletion pkgs/dsl/tsconfig.lib.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
"compilerOptions": {
"rootDir": "src",
"outDir": "dist",
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo"
"tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
"types": ["node"]
},
"include": ["src/**/*.ts"],
"references": [],
Expand Down
4 changes: 1 addition & 3 deletions pkgs/edge-worker/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
supabase/migrations/*
supabase/functions/_src/*
supabase/functions/**/deno.json
supabase/functions/**/deno.lock
supabase/functions/_dist/
78 changes: 7 additions & 71 deletions pkgs/edge-worker/deno.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 8 additions & 12 deletions pkgs/edge-worker/deno.test.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
"name": "@pgflow/edge-worker",
"version": "0.0.9",
"license": "AGPL-3.0",
"exports": "./mod.ts",
"exports": "./src/index.ts",
"unstable": ["sloppy-imports"],
"imports": {
"@henrygd/queue": "jsr:@henrygd/queue@^1.0.7",
"@std/assert": "jsr:@std/assert@^0.224.0",
Expand All @@ -11,31 +12,26 @@
"@std/testing/mock": "jsr:@std/testing/mock@^0.224.0",
"postgres": "npm:[email protected]",
"@pgflow/core": "../core/src/index.ts",
"@pgflow/dsl": "../dsl/src/index.ts"
"@pgflow/dsl": "../dsl/src/index.ts",
"deno/full.d.ts": "npm:@teidesu/[email protected]/full.d.ts"
},
"tasks": {
"db:down": "docker compose -f tests/db/compose.yaml down --volumes --remove-orphans",
"db:clean": "rm tests/db/migrations/*.sql || true",
"db:copy-migrations": "./scripts/concatenate-migrations.sh",
"db:up": "docker compose -f tests/db/compose.yaml up --detach && ./scripts/wait-for-localhost 5432",
"db:ensure": "deno task db:down && deno task db:clean && deno task db:copy-migrations && deno task db:up && sleep 5",
"test:integration": "deno task db:ensure && deno test --allow-net --allow-env tests/integration",
"db:ensure": "deno task --config deno.test.json db:down && deno task --config deno.test.json db:clean && deno task --config deno.test.json db:copy-migrations && deno task --config deno.test.json db:up && sleep 5",
"test:integration": "deno task --config deno.test.json db:ensure && deno test --allow-net --allow-env tests/integration",
"jsr:download-count": "deno run --allow-net jsr:@inbestigator/saves @pgflow/edge-worker"
},
"lint": {
"exclude": ["supabase/functions/_src/", "dist/", "build/", "node_modules/"],
"exclude": ["supabase/functions/", "dist/", "node_modules/"],
"rules": {
"exclude": ["no-slow-types"]
}
},
"publish": {
"include": [
"README.md",
"LICENSE.md",
"CHANGELOG.md",
"mod.ts",
"src/**/*.ts"
],
"include": ["README.md", "LICENSE.md", "CHANGELOG.md", "src/**/*.ts"],
"exclude": ["__tests__/**/*"]
}
}
19 changes: 1 addition & 18 deletions pkgs/edge-worker/eslint.config.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,6 @@ const baseConfig = require('../../eslint.config.cjs');
module.exports = [
...baseConfig,
{
files: ['**/*.json'],
rules: {
'@nx/dependency-checks': [
'error',
{
ignoredFiles: [
'{projectRoot}/eslint.config.{js,cjs,mjs}',
'{projectRoot}/vite.config.{js,ts,mjs,mts}',
],
},
],
},
languageOptions: {
parser: require('jsonc-eslint-parser'),
},
},
{
ignores: ['**/supabase/functions/_src/**/*'],
ignores: ['**/supabase/functions/_dist/**/*'],
},
];
1 change: 0 additions & 1 deletion pkgs/edge-worker/mod.ts

This file was deleted.

14 changes: 9 additions & 5 deletions pkgs/edge-worker/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,23 @@
"exports": {
"./package.json": "./package.json",
".": {
"types": "./index.d.ts",
"import": "./index.js"
"types": "./dist/index.d.ts",
"import": "./dist/index.js"
}
},
"files": [
"dist"
],
"dependencies": {
"@henrygd/queue": "^1.0.7",
"pino": "^9.6.0",
"postgres": "3.4.5",
"@pgflow/core": "workspace:*",
"@pgflow/dsl": "workspace:*"
"@pgflow/dsl": "workspace:*",
"postgres": "3.4.5"
},
"devDependencies": {
"@types/deno": "npm:@teidesu/[email protected]",
"@types/node": "~18.16.9",
"supabase": "2.21.1"
},
"publishConfig": {
"access": "public"
Expand Down
Loading