@tailor-platform/create-sdk 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @tailor-platform/create-sdk
2
2
 
3
+ ## 2.1.0
4
+
5
+ ## 2.0.1
6
+
7
+ ### Patch Changes
8
+
9
+ - [#1957](https://github.com/tailor-platform/sdk/pull/1957) [`a465547`](https://github.com/tailor-platform/sdk/commit/a465547df712ca8c607c1e42cf12c15fe3e830d1) Thanks [@toiroakr](https://github.com/toiroakr)! - Invoke the CLI as `npx @tailor-platform/sdk <command>` wherever an invocation is written for you. `npx` resolves a command it cannot find locally as a package name, so `npx tailor` fell through to an unrelated `tailor` package on npm whenever the SDK was not installed in the project — including in CI, where npm installs without prompting. Omitting the version specifier keeps using the project's installed SDK when there is one.
10
+
11
+ - Setup examples in the README, the quickstart, and the scaffolded project READMEs now use the package-runner form. Bun examples use `bun tailor <command>`, which resolves the local binary without fetching from the registry.
12
+ - Workflows generated by `tailor setup` use `npx @tailor-platform/sdk` for npm projects and `bun run tailor` for Bun projects. `tailor setup check` reports the template as outdated so existing projects regenerate; re-run `tailor setup` to pick it up.
13
+ - The `v2/seed-exec-to-cli-plugin` and `v2/sdk-skills-shim` codemods write the package-runner form when the invocation they produce goes through a runner that installs from the registry (`npx`, `bunx`, `pnpm`/`yarn dlx`, `npm exec`). A runner that resolves project binaries, such as `pnpm exec`, still gets the bare `tailor` binary.
14
+
3
15
  ## 2.0.0
4
16
 
5
17
  ### Major Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tailor-platform/create-sdk",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "A CLI tool to quickly create a new Tailor Platform SDK project",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -18,7 +18,7 @@
18
18
  "type": "module",
19
19
  "dependencies": {
20
20
  "@clack/prompts": "1.7.0",
21
- "execa": "10.0.0",
21
+ "execa": "10.0.1",
22
22
  "picocolors": "1.1.1",
23
23
  "pkg-types": "2.3.1",
24
24
  "politty": "0.11.6",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/node": "24.13.3",
29
- "eslint-plugin-zod": "4.7.0",
29
+ "eslint-plugin-zod": "4.9.0",
30
30
  "oxlint": "1.76.0",
31
31
  "oxlint-tsgolint": "7.0.2001",
32
32
  "tsdown": "0.22.14",
@@ -16,7 +16,7 @@
16
16
  },
17
17
  "devDependencies": {
18
18
  "@tailor-platform/eslint-plugin-sdk": "0.2.0",
19
- "@tailor-platform/sdk": "2.0.0",
19
+ "@tailor-platform/sdk": "2.1.0",
20
20
  "@types/node": "24.13.3",
21
21
  "oxfmt": "0.61.0",
22
22
  "oxlint": "1.76.0",
@@ -38,7 +38,14 @@ export default defineConfig({
38
38
  }),
39
39
  idp: [idp],
40
40
  db: { "main-db": { files: ["./src/db/*.ts"] } },
41
- resolver: { "main-resolver": { files: ["./src/resolver/*.ts"] } },
41
+ resolver: {
42
+ "main-resolver": {
43
+ files: ["./src/resolver/*.ts"],
44
+ // Every resolver in this namespace requires an authenticated caller.
45
+ // A single resolver opts out with `permission: "allowAnonymous"`.
46
+ defaultPermission: [{ conditions: [[{ user: "_loggedIn" }, "=", true]], permit: true }],
47
+ },
48
+ },
42
49
  executor: { files: ["./src/executor/*.ts"] },
43
50
  workflow: { files: ["./src/workflow/*.ts"] },
44
51
  });
@@ -18,8 +18,8 @@
18
18
  },
19
19
  "devDependencies": {
20
20
  "@tailor-platform/eslint-plugin-sdk": "0.2.0",
21
- "@tailor-platform/sdk": "2.0.0",
22
- "@tailor-platform/sdk-plugin-seed": "0.1.0",
21
+ "@tailor-platform/sdk": "2.1.0",
22
+ "@tailor-platform/sdk-plugin-seed": "0.1.1",
23
23
  "@types/node": "24.13.3",
24
24
  "oxfmt": "0.61.0",
25
25
  "oxlint": "1.76.0",
@@ -31,7 +31,14 @@ export default defineConfig({
31
31
  }),
32
32
  idp: [idp],
33
33
  db: { "main-db": { files: ["./src/db/*.ts"] } },
34
- resolver: { "main-resolver": { files: ["./src/resolver/*.ts"] } },
34
+ resolver: {
35
+ "main-resolver": {
36
+ files: ["./src/resolver/*.ts"],
37
+ // Every resolver in this namespace requires an authenticated caller.
38
+ // A single resolver opts out with `permission: "allowAnonymous"`.
39
+ defaultPermission: [{ conditions: [[{ user: "_loggedIn" }, "=", true]], permit: true }],
40
+ },
41
+ },
35
42
  });
36
43
 
37
44
  export const plugins = definePlugins(
@@ -9,9 +9,9 @@ This project was bootstrapped with [Create Tailor Platform SDK](https://www.npmj
9
9
  1. Create a new workspace:
10
10
 
11
11
  ```bash
12
- npx tailor login
13
- npx tailor workspace create --name <workspace-name> --region <workspace-region>
14
- npx tailor workspace list
12
+ npx @tailor-platform/sdk login
13
+ npx @tailor-platform/sdk workspace create --name <workspace-name> --region <workspace-region>
14
+ npx @tailor-platform/sdk workspace list
15
15
  # For yarn: yarn tailor <command>
16
16
  # For pnpm: pnpm tailor <command>
17
17
  # For bun: bun tailor <command>
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "devDependencies": {
16
16
  "@tailor-platform/eslint-plugin-sdk": "0.2.0",
17
- "@tailor-platform/sdk": "2.0.0",
17
+ "@tailor-platform/sdk": "2.1.0",
18
18
  "@types/node": "24.13.3",
19
19
  "oxfmt": "0.61.0",
20
20
  "oxlint": "1.76.0",
@@ -4,7 +4,13 @@ import { kyselyTypePlugin } from "@tailor-platform/sdk/plugin/kysely-type";
4
4
  export default defineConfig({
5
5
  name: "hello-world",
6
6
  db: { "main-db": { files: [`./src/db/*.ts`] } },
7
- resolver: { "main-resolver": { files: [`./src/resolvers/**/*.ts`] } },
7
+ resolver: {
8
+ "main-resolver": {
9
+ files: [`./src/resolvers/**/*.ts`],
10
+ // This template defines no auth, so its resolvers are public by design.
11
+ defaultPermission: "allowAnonymous",
12
+ },
13
+ },
8
14
  });
9
15
 
10
16
  export const plugins = definePlugins(
@@ -9,9 +9,9 @@ This project was bootstrapped with [Create Tailor Platform SDK](https://www.npmj
9
9
  1. Create a new workspace:
10
10
 
11
11
  ```bash
12
- npx tailor login
13
- npx tailor workspace create --name <workspace-name> --region <workspace-region>
14
- npx tailor workspace list
12
+ npx @tailor-platform/sdk login
13
+ npx @tailor-platform/sdk workspace create --name <workspace-name> --region <workspace-region>
14
+ npx @tailor-platform/sdk workspace list
15
15
  # For yarn: yarn tailor <command>
16
16
  # For pnpm: pnpm tailor <command>
17
17
  # For bun: bun tailor <command>
@@ -36,9 +36,9 @@ npm run deploy -- --workspace-id <your-workspace-id>
36
36
 
37
37
  ```bash
38
38
  # Get Manager's token
39
- npx tailor machineuser token manager --workspace-id <your-workspace-id>
39
+ npx @tailor-platform/sdk machineuser token manager --workspace-id <your-workspace-id>
40
40
  # Get Staff's token
41
- npx tailor machineuser token staff --workspace-id <your-workspace-id>
41
+ npx @tailor-platform/sdk machineuser token staff --workspace-id <your-workspace-id>
42
42
  ```
43
43
 
44
44
  ## Features
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "devDependencies": {
16
16
  "@tailor-platform/eslint-plugin-sdk": "0.2.0",
17
- "@tailor-platform/sdk": "2.0.0",
17
+ "@tailor-platform/sdk": "2.1.0",
18
18
  "@types/node": "24.13.3",
19
19
  "oxfmt": "0.61.0",
20
20
  "oxlint": "1.76.0",
@@ -5,7 +5,14 @@ import { user } from "./src/db/user";
5
5
  export default defineConfig({
6
6
  name: "inventory-management",
7
7
  db: { "main-db": { files: [`./src/db/*.ts`] } },
8
- resolver: { "main-resolver": { files: [`./src/resolver/*.ts`] } },
8
+ resolver: {
9
+ "main-resolver": {
10
+ files: ["./src/resolver/*.ts"],
11
+ // Every resolver in this namespace requires an authenticated caller.
12
+ // A single resolver opts out with `permission: "allowAnonymous"`.
13
+ defaultPermission: [{ conditions: [[{ user: "_loggedIn" }, "=", true]], permit: true }],
14
+ },
15
+ },
9
16
  auth: defineAuth("main-auth", {
10
17
  userProfile: {
11
18
  type: user,
@@ -16,8 +16,8 @@ This project contains two applications: `user` and `admin`.
16
16
  1. Create a new workspace:
17
17
 
18
18
  ```bash
19
- npx tailor login
20
- npx tailor workspace create --name <workspace-name> --region <workspace-region>
19
+ npx @tailor-platform/sdk login
20
+ npx @tailor-platform/sdk workspace create --name <workspace-name> --region <workspace-region>
21
21
  ```
22
22
 
23
23
  2. Deploy the project:
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "devDependencies": {
17
17
  "@tailor-platform/eslint-plugin-sdk": "0.2.0",
18
- "@tailor-platform/sdk": "2.0.0",
18
+ "@tailor-platform/sdk": "2.1.0",
19
19
  "@types/node": "24.13.3",
20
20
  "oxfmt": "0.61.0",
21
21
  "oxlint": "1.76.0",
@@ -16,7 +16,7 @@
16
16
  },
17
17
  "devDependencies": {
18
18
  "@tailor-platform/eslint-plugin-sdk": "0.2.0",
19
- "@tailor-platform/sdk": "2.0.0",
19
+ "@tailor-platform/sdk": "2.1.0",
20
20
  "@types/node": "24.13.3",
21
21
  "oxfmt": "0.61.0",
22
22
  "oxlint": "1.76.0",
@@ -3,6 +3,9 @@ import { createResolver, t } from "@tailor-platform/sdk";
3
3
  const resolver = createResolver({
4
4
  name: "add",
5
5
  operation: "query",
6
+ // Overrides the namespace's `defaultPermission`: this resolver reads no
7
+ // data, so anonymous callers are allowed.
8
+ permission: "allowAnonymous",
6
9
  input: {
7
10
  left: t.int(),
8
11
  right: t.int(),
@@ -20,7 +20,14 @@ export default defineConfig({
20
20
  },
21
21
  }),
22
22
  db: { "main-db": { files: ["./src/db/*.ts"] } },
23
- resolver: { "main-resolver": { files: ["./src/resolver/*.ts"] } },
23
+ resolver: {
24
+ "main-resolver": {
25
+ files: ["./src/resolver/*.ts"],
26
+ // Every resolver in this namespace requires an authenticated caller.
27
+ // A single resolver opts out with `permission: "allowAnonymous"`.
28
+ defaultPermission: [{ conditions: [[{ user: "_loggedIn" }, "=", true]], permit: true }],
29
+ },
30
+ },
24
31
  });
25
32
 
26
33
  export const plugins = definePlugins(kyselyTypePlugin({ distPath: "./src/generated/db.ts" }));
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "devDependencies": {
16
16
  "@tailor-platform/eslint-plugin-sdk": "0.2.0",
17
- "@tailor-platform/sdk": "2.0.0",
17
+ "@tailor-platform/sdk": "2.1.0",
18
18
  "@types/node": "24.13.3",
19
19
  "oxfmt": "0.61.0",
20
20
  "oxlint": "1.76.0",
@@ -16,7 +16,7 @@
16
16
  },
17
17
  "devDependencies": {
18
18
  "@tailor-platform/eslint-plugin-sdk": "0.2.0",
19
- "@tailor-platform/sdk": "2.0.0",
19
+ "@tailor-platform/sdk": "2.1.0",
20
20
  "@types/node": "24.13.3",
21
21
  "oxfmt": "0.61.0",
22
22
  "oxlint": "1.76.0",
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "devDependencies": {
19
19
  "@tailor-platform/eslint-plugin-sdk": "0.2.0",
20
- "@tailor-platform/sdk": "2.0.0",
20
+ "@tailor-platform/sdk": "2.1.0",
21
21
  "@types/node": "24.13.3",
22
22
  "graphql": "17.0.2",
23
23
  "graphql-request": "7.4.0",
@@ -16,7 +16,14 @@ export default defineConfig({
16
16
  },
17
17
  }),
18
18
  db: { "main-db": { files: ["./src/db/*.ts"] } },
19
- resolver: { "main-resolver": { files: ["./src/resolver/*.ts"] } },
19
+ resolver: {
20
+ "main-resolver": {
21
+ files: ["./src/resolver/*.ts"],
22
+ // Every resolver in this namespace requires an authenticated caller.
23
+ // A single resolver opts out with `permission: "allowAnonymous"`.
24
+ defaultPermission: [{ conditions: [[{ user: "_loggedIn" }, "=", true]], permit: true }],
25
+ },
26
+ },
20
27
  workflow: { files: ["./src/workflow/*.ts"] },
21
28
  });
22
29