From e88978b1fdd4ed9795679cb62113317fd8a0f8e6 Mon Sep 17 00:00:00 2001 From: Leo Lamprecht Date: Sun, 23 Nov 2025 13:25:05 +0100 Subject: [PATCH 1/4] Improved text --- .github/workflows/post-release.yml | 20 -------------------- packages/blade-cli/README.md | 4 ++-- packages/blade-compiler/README.md | 4 ++-- packages/blade-syntax/README.md | 4 ++-- packages/blade/README.md | 4 ---- 5 files changed, 6 insertions(+), 30 deletions(-) delete mode 100644 .github/workflows/post-release.yml diff --git a/.github/workflows/post-release.yml b/.github/workflows/post-release.yml deleted file mode 100644 index 2418feebf..000000000 --- a/.github/workflows/post-release.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Post Release - -on: - release: - types: - - published - -jobs: - post-to-discord: - name: Post Release to Discord - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Post release to Discord - uses: SethCohen/github-releases-to-discord@v1 - with: - color: "5347309" #5197ed - webhook_url: ${{ secrets.DISCORD_WEBHOOK_URL }} diff --git a/packages/blade-cli/README.md b/packages/blade-cli/README.md index a59f5e2bd..6dfb08cd6 100644 --- a/packages/blade-cli/README.md +++ b/packages/blade-cli/README.md @@ -1,10 +1,10 @@ -# RONIN CLI +# Blade CLI [![tests](https://img.shields.io/github/actions/workflow/status/ronin-co/cli/validate.yml?label=tests)](https://github.com/ronin-co/cli/actions/workflows/validate.yml) [![code coverage](https://img.shields.io/codecov/c/github/ronin-co/cli)](https://codecov.io/github/ronin-co/cli) [![install size](https://packagephobia.com/badge?p=blade-cli)](https://packagephobia.com/result?p=blade-cli) -This package exposes the `blade` command, which you can run from your terminal to interact with [RONIN](https://ronin.co). +This package exposes the `blade` command. ## Setup diff --git a/packages/blade-compiler/README.md b/packages/blade-compiler/README.md index 2b998ab76..cf1fd4da1 100644 --- a/packages/blade-compiler/README.md +++ b/packages/blade-compiler/README.md @@ -1,10 +1,10 @@ -# RONIN Compiler +# Blade Compiler [![tests](https://img.shields.io/github/actions/workflow/status/ronin-co/compiler/validate.yml?label=tests)](https://github.com/ronin-co/compiler/actions/workflows/validate.yml) [![code coverage](https://img.shields.io/codecov/c/github/ronin-co/compiler)](https://codecov.io/github/ronin-co/compiler) [![install size](https://packagephobia.com/badge?p=blade-compiler)](https://packagephobia.com/result?p=blade-compiler) -This package compiles [RONIN queries](https://ronin.co/docs/queries) to [SQLite](https://www.sqlite.org) statements. +This package compiles [Blade queries](https://blade.im/queries) to [SQLite](https://www.sqlite.org) statements. ## Setup diff --git a/packages/blade-syntax/README.md b/packages/blade-syntax/README.md index 14ae64857..a0c8fc7cc 100644 --- a/packages/blade-syntax/README.md +++ b/packages/blade-syntax/README.md @@ -1,10 +1,10 @@ -# RONIN Syntax +# Blade Syntax [![tests](https://img.shields.io/github/actions/workflow/status/ronin-co/syntax/validate.yml?label=tests)](https://github.com/ronin-co/syntax/actions/workflows/validate.yml) [![code coverage](https://img.shields.io/codecov/c/github/ronin-co/syntax)](https://codecov.io/github/ronin-co/syntax) [![install size](https://packagephobia.com/badge?p=blade-syntax)](https://packagephobia.com/result?p=blade-syntax) -This package makes it possible to define [RONIN](https://ronin.co) queries and schemas in TypeScript code. +This package makes it possible to define [Blade](https://blade.im) queries and schemas in TypeScript code. ## Setup diff --git a/packages/blade/README.md b/packages/blade/README.md index d15ce68d7..1b5e4ba0a 100644 --- a/packages/blade/README.md +++ b/packages/blade/README.md @@ -18,10 +18,6 @@ A [React](https://react.dev) framework for building instant web apps. - **Automatic REST API** (Blade auto-generates a REST API at `/api` for you, for models that you want to expose) - **Zero Config Deployments** (Vercel, Cloudflare, containers, and more) -Blade works most efficiently when using SQLite databases provided by [RONIN](https://ronin.co). You can also use any other data source, however you will see performance drawbacks if that data source isn't globally fast (replicated). - -The first and currently largest known implementation of Blade is the UI of [RONIN](https://ronin.co), which has been implemented with Blade since its inception. - ## Considerations Blade purposefully does not (and likely won't ever) comply with the official specification for React Server Components, because it provides different solutions to the problems that RSC aims to solve. From b0f319fdfe1ecf75051cb4167a6ebfcefedb0c52 Mon Sep 17 00:00:00 2001 From: Leo Lamprecht Date: Sun, 23 Nov 2025 13:27:07 +0100 Subject: [PATCH 2/4] Fixed code --- packages/blade-client/README.md | 28 +--------------- packages/blade-client/package.json | 1 - .../tests/integration/triggers.test.ts | 32 +++++++++---------- packages/blade/private/server/worker/index.ts | 2 +- 4 files changed, 18 insertions(+), 45 deletions(-) diff --git a/packages/blade-client/README.md b/packages/blade-client/README.md index 12cf4b1a0..41fb35d56 100644 --- a/packages/blade-client/README.md +++ b/packages/blade-client/README.md @@ -4,33 +4,7 @@ [![code coverage](https://img.shields.io/codecov/c/github/ronin-co/client)](https://codecov.io/github/ronin-co/client) [![install size](https://packagephobia.com/badge?p=blade-client)](https://packagephobia.com/result?p=blade-client) -This package allows for querying data from [RONIN](https://ronin.co) with ease. - -## Setup - -First, install the [package](https://www.npmjs.com/package/blade-client) with a package manager of your choice: - -```bash -# Bun -bun add blade-client - -# npm -npm install blade-client -``` - -Next, create a new app token on the [RONIN dashboard](http://ronin.co) (under "Apps" in the sidebar), and add it as a environment variable named `RONIN_TOKEN` to your project. - -Afterward, you can start invoking RONIN from anywhere in your code: - -```typescript -import { get } from 'blade-client'; - -const posts = await get.posts(); -``` - -That's it! 🎉 - -You can now start inserting records with the [RONIN query syntax](https://ronin.co/docs/queries), or add them on the [RONIN dashboard](http://ronin.co). Everything you can do with the RONIN client, you can also do on the dashboard (creating records, retrieving them, filtering them, updating them, etc). +This package allows for querying data with ease. ## Contributing diff --git a/packages/blade-client/package.json b/packages/blade-client/package.json index ab8a0bbd6..3c4b320f7 100644 --- a/packages/blade-client/package.json +++ b/packages/blade-client/package.json @@ -56,7 +56,6 @@ "author": "ronin", "license": "Apache-2.0", "repository": "ronin-co/client", - "homepage": "https://ronin.co/docs/typescript-client", "engines": { "node": ">=18.17.0" }, diff --git a/packages/blade-client/tests/integration/triggers.test.ts b/packages/blade-client/tests/integration/triggers.test.ts index f1cf2cb80..fe7511202 100644 --- a/packages/blade-client/tests/integration/triggers.test.ts +++ b/packages/blade-client/tests/integration/triggers.test.ts @@ -17,7 +17,7 @@ describe('triggers', () => { accounts: { with: { email: { - endingWith: 'ronin.co', + endingWith: 'example.com', }, }, }, @@ -53,7 +53,7 @@ describe('triggers', () => { if (multipleRecords) { query.with = { email: { - endingWith: '@ronin.co', + endingWith: '@example.com', }, }; } else { @@ -87,10 +87,10 @@ describe('triggers', () => { await factory.get.accounts(); // Make sure the email address of all resolved accounts ends with the - // `@ronin.co` domain name. + // `@example.com` domain name. expect(mockStatements?.[0]).toMatchObject({ sql: 'SELECT "id", "ronin.createdAt", "ronin.createdBy", "ronin.updatedAt", "ronin.updatedBy", "handle", "email" FROM "accounts" WHERE "email" LIKE ?1', - params: ['%@ronin.co'], + params: ['%@example.com'], }); }); @@ -139,7 +139,7 @@ describe('triggers', () => { if (multipleRecords) { query.with = { email: { - endingWith: '@ronin.co', + endingWith: '@example.com', }, }; } else { @@ -173,14 +173,14 @@ describe('triggers', () => { }); await factory.get.accounts.with({ - email: { endingWith: '@ronin.co' }, + email: { endingWith: '@example.com' }, }); // Make sure the email address of all resolved accounts ends with the - // `@ronin.co` domain name. + // `@example.com` domain name. expect(mockStatements?.[0]).toMatchObject({ sql: 'SELECT "id", "ronin.createdAt", "ronin.createdBy", "ronin.updatedAt", "ronin.updatedBy", "handle", "email" FROM "accounts" WHERE "email" LIKE ?1', - params: ['%@ronin.co'], + params: ['%@example.com'], }); }); @@ -537,7 +537,7 @@ describe('triggers', () => { 'ronin.createdBy': '1234', 'ronin.updatedAt': '2024-04-16T15:02:12.710Z', 'ronin.updatedBy': '1234', - email: 'prev@ronin.co', + email: 'prev@example.com', }, { id: '2', @@ -545,13 +545,13 @@ describe('triggers', () => { 'ronin.createdBy': '1234', 'ronin.updatedAt': '2024-04-16T15:02:12.710Z', 'ronin.updatedBy': '1234', - email: 'prev@ronin.co', + email: 'prev@example.com', }, ]; const nextAccounts = previousAccounts.map((account) => ({ ...account, - email: 'test@ronin.co', + email: 'test@example.com', })); const { set } = createSyntaxFactory({ @@ -581,26 +581,26 @@ describe('triggers', () => { const accounts = (await set.accounts({ with: { email: { - endingWith: '@ronin.co', + endingWith: '@example.com', }, }, to: { - email: 'test@ronin.co', + email: 'test@example.com', }, })) as unknown as Array>; // Make sure all accounts were updated successfully. - expect(accounts.every(({ email }) => email === 'test@ronin.co')).toBe(true); + expect(accounts.every(({ email }) => email === 'test@example.com')).toBe(true); // Make sure `finalQuery` matches the initial query. expect(finalQuery).toMatchObject({ with: { email: { - endingWith: '@ronin.co', + endingWith: '@example.com', }, }, to: { - email: 'test@ronin.co', + email: 'test@example.com', }, }); diff --git a/packages/blade/private/server/worker/index.ts b/packages/blade/private/server/worker/index.ts index c549ea379..b78c4835a 100644 --- a/packages/blade/private/server/worker/index.ts +++ b/packages/blade/private/server/worker/index.ts @@ -49,7 +49,7 @@ app.use('*', secureHeaders({ xFrameOptions: false })); app.use('*', async (c, next) => { const requestURL = new URL(c.req.url); - // - `requestOrigin` might be `https://ronin.co` + // - `requestOrigin` might be `https://example.com` // - `requestPath` might be `/account/settings` const { origin: requestOrigin, pathname: requestPath } = requestURL; From 68253f18987f58621f2d0cb6b36a742e92a912ca Mon Sep 17 00:00:00 2001 From: Leo Lamprecht Date: Sun, 23 Nov 2025 13:28:01 +0100 Subject: [PATCH 3/4] Fixed text --- packages/blade-cli/README.md | 6 ------ packages/blade-compiler/README.md | 6 ------ packages/blade-syntax/README.md | 6 ------ 3 files changed, 18 deletions(-) diff --git a/packages/blade-cli/README.md b/packages/blade-cli/README.md index 6dfb08cd6..c1aee05ea 100644 --- a/packages/blade-cli/README.md +++ b/packages/blade-cli/README.md @@ -6,12 +6,6 @@ This package exposes the `blade` command. -## Setup - -You don't need to install this package explicitly, as it is already included in the [RONIN client](https://github.com/ronin-co/client). - -However, we would be excited to welcome your feature suggestions or bug fixes for the RONIN CLI. Read on to learn more about how to suggest changes. - ## Contributing To start contributing code, first make sure you have [Bun](https://bun.sh) installed, which is a JavaScript runtime. diff --git a/packages/blade-compiler/README.md b/packages/blade-compiler/README.md index cf1fd4da1..96b57f8cc 100644 --- a/packages/blade-compiler/README.md +++ b/packages/blade-compiler/README.md @@ -6,12 +6,6 @@ This package compiles [Blade queries](https://blade.im/queries) to [SQLite](https://www.sqlite.org) statements. -## Setup - -You don't need to install this package explicitly, as it is already included in the [RONIN client](https://github.com/ronin-co/client). - -However, we would be excited to welcome your feature suggestions or bug fixes for the RONIN compiler. Read on to learn more about how to suggest changes. - ## Contributing To start contributing code, first make sure you have [Bun](https://bun.sh) installed, which is a JavaScript runtime. diff --git a/packages/blade-syntax/README.md b/packages/blade-syntax/README.md index a0c8fc7cc..8011b98c5 100644 --- a/packages/blade-syntax/README.md +++ b/packages/blade-syntax/README.md @@ -6,12 +6,6 @@ This package makes it possible to define [Blade](https://blade.im) queries and schemas in TypeScript code. -## Setup - -You don't need to install this package explicitly, as it is already included in the [RONIN client](https://github.com/ronin-co/client). - -However, we would be excited to welcome your feature suggestions or bug fixes for the RONIN schema. Read on to learn more about how to suggest changes. - ## Contributing To start contributing code, first make sure you have [Bun](https://bun.sh) installed, which is a JavaScript runtime. From 7fdc97f9ffd558bc3aee86917e6eaae9898c0ade Mon Sep 17 00:00:00 2001 From: Leo Lamprecht Date: Sun, 23 Nov 2025 13:30:18 +0100 Subject: [PATCH 4/4] Upgrade all --- docs/bun.lock | 4 ++-- docs/package.json | 2 +- packages/create-blade/templates/advanced/bun.lock | 4 ++-- packages/create-blade/templates/advanced/package.json | 2 +- packages/create-blade/templates/basic/bun.lock | 4 ++-- packages/create-blade/templates/basic/package.json | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/bun.lock b/docs/bun.lock index 92dd3f586..9159c4000 100644 --- a/docs/bun.lock +++ b/docs/bun.lock @@ -10,7 +10,7 @@ "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-tooltip": "1.2.7", "@tabler/icons-react": "3.34.0", - "blade": "3.29.6", + "blade": "3.29.8", "class-variance-authority": "0.7.1", "clsx": "2.1.1", "lucide-react": "0.513.0", @@ -271,7 +271,7 @@ "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], - "blade": ["blade@3.29.6", "", { "dependencies": { "@dprint/typescript": "0.95.11", "@inquirer/prompts": "7.8.6", "@stefanprobst/rehype-extract-toc": "3.0.0", "@tailwindcss/node": "4.1.16", "@tailwindcss/oxide": "4.1.16", "dotenv": "16.5.0", "gradient-string": "3.0.0", "hive": "2.1.13", "resolve-from": "5.0.0", "rolldown": "1.0.0-beta.44" }, "bin": { "blade": "dist/private/shell/index.js" } }, "sha512-crbXZCRhsVR5DUBPoHbfuW1/+PHSnEwb9DuhWOUZRcXnQaxc5t/hkomZC+rJg4/ld+dOQC2MqbzAriS6zg9Lyw=="], + "blade": ["blade@3.29.8", "", { "dependencies": { "@dprint/typescript": "0.95.11", "@inquirer/prompts": "7.8.6", "@stefanprobst/rehype-extract-toc": "3.0.0", "@tailwindcss/node": "4.1.16", "@tailwindcss/oxide": "4.1.16", "dotenv": "16.5.0", "gradient-string": "3.0.0", "hive": "2.1.13", "resolve-from": "5.0.0", "rolldown": "1.0.0-beta.44" }, "bin": { "blade": "dist/private/shell/index.js" } }, "sha512-ocDip9QlrDSG5lGStO0XAl85T/hqdBFb8vysEcfQ9Fg8dCEdg8IoStB0svkKkxawrCugMG5SIWi/af2ZdrbRCw=="], "bun-types": ["bun-types@1.3.1", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-NMrcy7smratanWJ2mMXdpatalovtxVggkj11bScuWuiOoXTiKIu2eVS1/7qbyI/4yHedtsn175n4Sm4JcdHLXw=="], diff --git a/docs/package.json b/docs/package.json index a51a862d0..85a148e99 100644 --- a/docs/package.json +++ b/docs/package.json @@ -17,7 +17,7 @@ "@radix-ui/react-separator": "1.1.7", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-tooltip": "1.2.7", - "blade": "3.29.6", + "blade": "3.29.8", "@tabler/icons-react": "3.34.0", "class-variance-authority": "0.7.1", "clsx": "2.1.1", diff --git a/packages/create-blade/templates/advanced/bun.lock b/packages/create-blade/templates/advanced/bun.lock index b7a298f9b..87047da02 100644 --- a/packages/create-blade/templates/advanced/bun.lock +++ b/packages/create-blade/templates/advanced/bun.lock @@ -4,7 +4,7 @@ "": { "name": "advanced-example", "dependencies": { - "blade": "3.29.6", + "blade": "3.29.8", "react": "19.2.0", "react-dom": "19.2.0", }, @@ -152,7 +152,7 @@ "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - "blade": ["blade@3.29.6", "", { "dependencies": { "@dprint/typescript": "0.95.11", "@inquirer/prompts": "7.8.6", "@stefanprobst/rehype-extract-toc": "3.0.0", "@tailwindcss/node": "4.1.16", "@tailwindcss/oxide": "4.1.16", "dotenv": "16.5.0", "gradient-string": "3.0.0", "hive": "2.1.13", "resolve-from": "5.0.0", "rolldown": "1.0.0-beta.44" }, "bin": { "blade": "dist/private/shell/index.js" } }, "sha512-crbXZCRhsVR5DUBPoHbfuW1/+PHSnEwb9DuhWOUZRcXnQaxc5t/hkomZC+rJg4/ld+dOQC2MqbzAriS6zg9Lyw=="], + "blade": ["blade@3.29.8", "", { "dependencies": { "@dprint/typescript": "0.95.11", "@inquirer/prompts": "7.8.6", "@stefanprobst/rehype-extract-toc": "3.0.0", "@tailwindcss/node": "4.1.16", "@tailwindcss/oxide": "4.1.16", "dotenv": "16.5.0", "gradient-string": "3.0.0", "hive": "2.1.13", "resolve-from": "5.0.0", "rolldown": "1.0.0-beta.44" }, "bin": { "blade": "dist/private/shell/index.js" } }, "sha512-ocDip9QlrDSG5lGStO0XAl85T/hqdBFb8vysEcfQ9Fg8dCEdg8IoStB0svkKkxawrCugMG5SIWi/af2ZdrbRCw=="], "bun-types": ["bun-types@1.3.1", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-NMrcy7smratanWJ2mMXdpatalovtxVggkj11bScuWuiOoXTiKIu2eVS1/7qbyI/4yHedtsn175n4Sm4JcdHLXw=="], diff --git a/packages/create-blade/templates/advanced/package.json b/packages/create-blade/templates/advanced/package.json index c873fce3c..492b0498b 100644 --- a/packages/create-blade/templates/advanced/package.json +++ b/packages/create-blade/templates/advanced/package.json @@ -10,7 +10,7 @@ }, "author": "ronin", "dependencies": { - "blade": "3.29.6", + "blade": "3.29.8", "react": "19.2.0", "react-dom": "19.2.0" }, diff --git a/packages/create-blade/templates/basic/bun.lock b/packages/create-blade/templates/basic/bun.lock index 0382a7b7e..aae3dd7eb 100644 --- a/packages/create-blade/templates/basic/bun.lock +++ b/packages/create-blade/templates/basic/bun.lock @@ -4,7 +4,7 @@ "": { "name": "basic-example", "dependencies": { - "blade": "3.29.6", + "blade": "3.29.8", "react": "19.2.0", "react-dom": "19.2.0", }, @@ -152,7 +152,7 @@ "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], - "blade": ["blade@3.29.6", "", { "dependencies": { "@dprint/typescript": "0.95.11", "@inquirer/prompts": "7.8.6", "@stefanprobst/rehype-extract-toc": "3.0.0", "@tailwindcss/node": "4.1.16", "@tailwindcss/oxide": "4.1.16", "dotenv": "16.5.0", "gradient-string": "3.0.0", "hive": "2.1.13", "resolve-from": "5.0.0", "rolldown": "1.0.0-beta.44" }, "bin": { "blade": "dist/private/shell/index.js" } }, "sha512-crbXZCRhsVR5DUBPoHbfuW1/+PHSnEwb9DuhWOUZRcXnQaxc5t/hkomZC+rJg4/ld+dOQC2MqbzAriS6zg9Lyw=="], + "blade": ["blade@3.29.8", "", { "dependencies": { "@dprint/typescript": "0.95.11", "@inquirer/prompts": "7.8.6", "@stefanprobst/rehype-extract-toc": "3.0.0", "@tailwindcss/node": "4.1.16", "@tailwindcss/oxide": "4.1.16", "dotenv": "16.5.0", "gradient-string": "3.0.0", "hive": "2.1.13", "resolve-from": "5.0.0", "rolldown": "1.0.0-beta.44" }, "bin": { "blade": "dist/private/shell/index.js" } }, "sha512-ocDip9QlrDSG5lGStO0XAl85T/hqdBFb8vysEcfQ9Fg8dCEdg8IoStB0svkKkxawrCugMG5SIWi/af2ZdrbRCw=="], "bun-types": ["bun-types@1.3.1", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-NMrcy7smratanWJ2mMXdpatalovtxVggkj11bScuWuiOoXTiKIu2eVS1/7qbyI/4yHedtsn175n4Sm4JcdHLXw=="], diff --git a/packages/create-blade/templates/basic/package.json b/packages/create-blade/templates/basic/package.json index fbc79a35d..ae2feb42d 100644 --- a/packages/create-blade/templates/basic/package.json +++ b/packages/create-blade/templates/basic/package.json @@ -10,7 +10,7 @@ }, "author": "ronin", "dependencies": { - "blade": "3.29.6", + "blade": "3.29.8", "react": "19.2.0", "react-dom": "19.2.0" },