diff --git a/.drone.jsonnet b/.drone.jsonnet
new file mode 100644
index 0000000..7da4c03
--- /dev/null
+++ b/.drone.jsonnet
@@ -0,0 +1,126 @@
+local pipe(arch) = {
+  kind: 'pipeline',
+  type: 'docker',
+  name: arch,
+  platform: {
+    arch: arch,
+  },
+  steps: [
+    {
+      name: 'deps',
+      image: 'node',
+      commands: [
+        'curl -L https://pnpm.js.org/pnpm.js | node - add --global pnpm@7',
+        'pnpm i',
+      ],
+    },
+    {
+      name: 'lint',
+      image: 'node',
+      commands: [
+        'npm run lint:ci',
+      ],
+      depends_on: [
+        'deps',
+      ],
+    },
+    {
+      name: 'build',
+      image: 'node',
+      commands: [
+        'npm run build',
+      ],
+      depends_on: [
+        'lint',
+      ],
+    },
+  ],
+  trigger: {
+    event: {
+      exclude: [
+        'tag',
+      ],
+    },
+  },
+};
+
+local release(arch) = {
+  kind: 'pipeline',
+  type: 'docker',
+  name: 'release-%s' % [arch],
+  platform: {
+    arch: arch,
+  },
+  trigger: {
+    event: [
+      'tag',
+    ],
+  },
+  steps: [
+    {
+      name: 'build',
+      image: 'node:lts',
+      commands: [
+        'curl -L https://pnpm.js.org/pnpm.js | node - add --global pnpm@7',
+        'pnpm i',
+        'pnpm build',
+      ],
+    },
+    {
+      name: 'package',
+      image: 'node:lts',
+      commands: (
+        if arch == 'arm64' then
+          [
+            'wget "https://github.com/ProcursusTeam/ldid/releases/download/v2.1.5-procursus2/ldid_linux_aarch64" -O /usr/local/bin/ldid',
+            'chmod +x /usr/local/bin/ldid',
+          ] else []
+      ) + [
+        'npm run package -- -t latest-linux-%s,latest-alpine-%s,latest-macos-%s,latest-win-%s -o dist/bin/imagebot-%s' % [arch, arch, arch, arch, arch],
+        'xz -9 dist/bin/*',
+      ],
+      depends_on: [
+        'build',
+      ],
+    },
+    {
+      name: 'release',
+      image: 'plugins/gitea-release',
+      settings: {
+        api_key: {
+          from_secret: 'release_api_key',
+        },
+        base_url: 'https://git.froth.zone',
+        files: [
+          'dist/bin/*',
+        ],
+      },
+      depends_on: [
+        'package',
+      ],
+    } +
+    (if arch == 'amd64' then
+       {
+         name: 'publish',
+         image: 'plugins/npm',
+         settings: {
+           token: {
+             from_secret: 'release_api_key',
+           },
+           registry: 'https://git.froth.zone/api/packages/sam/npm/',
+         },
+         depends_on: [
+           'build',
+         ],
+       }
+     else {}),
+  ],
+};
+
+[
+  pipe('amd64'),
+  pipe('arm64'),
+
+  release('amd64'),
+  release('arm64'),
+]
diff --git a/.drone.yml b/.drone.yml
deleted file mode 100644
index 97148b4..0000000
--- a/.drone.yml
+++ /dev/null
@@ -1,103 +0,0 @@
----
-kind: pipeline
-type: docker
-name: Build (amd64)
-platform:
-  arch: amd64
-
-steps:
-  - name: Get Dependencies
-    image: node
-    commands:
-      - curl -L https://pnpm.js.org/pnpm.js | node - add --global pnpm@7
-      - pnpm i
-
-  - name: Lint
-    image: node
-    depends_on:
-      - Get Dependencies
-    commands:
-      - npm run lint:ci
-
-  - name: Build
-    image: node
-    depends_on:
-      - Lint
-    commands:
-      - npm run build
-
-  - name: Package
-    image: node
-    depends_on:
-      - Build
-    commands:
-      - npm run package -t latest-linux-x64,latest-alpine-x64,latest-macos-x64,latest-win-x64 -o dist/bin/imagebot-x64
-    when:
-      event:
-        - tag
-
-  - name: Make Gitea Release
-    image: plugins/gitea-release
-    depends_on:
-      - Package
-    settings:
-      api_key:
-        from_secret: release_api_key
-      base_url: https://git.froth.zone
-      files:
-        - dist/bin/*
-    when:
-      event:
-        - tag
----
-kind: pipeline
-type: docker
-name: Build (arm64)
-platform:
-  arch: arm64
-
-steps:
-  - name: Get Dependencies
-    image: node
-    commands:
-      - curl -L https://pnpm.js.org/pnpm.js | node - add --global pnpm@7
-      - pnpm i
-
-  - name: Lint
-    image: node
-    depends_on:
-      - Get Dependencies
-    commands:
-      - npm run lint:ci
-
-  - name: Build
-    image: node
-    depends_on:
-      - Lint
-    commands:
-      - npm run build
-
-  - name: Package
-    image: node
-    depends_on:
-      - Build
-    commands:
-      - wget "https://github.com/ProcursusTeam/ldid/releases/download/v2.1.5-procursus2/ldid_linux_aarch64" -O /usr/local/bin/ldid && chmod +x /usr/local/bin/ldid
-      - npm run package -t latest-linux-arm64,latest-alpine-arm64,latest-macos-arm64,latest-win-arm64 -o dist/bin/imagebot-arm64
-    when:
-      event:
-        - tag
-
-  - name: Make Gitea Release
-    image: plugins/gitea-release
-    depends_on:
-      - Package
-    settings:
-      api_key:
-        from_secret: release_api_key
-      base_url: https://git.froth.zone
-      files:
-        - dist/bin/*
-    when:
-      event:
-        - tag
diff --git a/.gitignore b/.gitignore
index f83f162..5718ef2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -122,4 +122,5 @@ dist
 .dccache
 config.json
 config.jsonc
+config.json5
 images/*
\ No newline at end of file
diff --git a/package.json b/package.json
index 7b72b61..77eeae4 100644
--- a/package.json
+++ b/package.json
@@ -44,4 +44,4 @@
   "files": [
     "dist"
   ]
-}
\ No newline at end of file
+}
diff --git a/tsconfig.json b/tsconfig.json
index bda0be9..52820d8 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,7 +1,7 @@
 {
   "compilerOptions": {
     /* Basic Options */
-    "target": "es2020" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */,
+    "target": "ESNext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */,
     "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */,
     "lib": [
       "es6"
