@tailor-platform/sdk 1.47.1 → 1.49.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.
Files changed (91) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/dist/{actor-jk4-f0yp.d.mts → actor-BeIEiPYM.d.mts} +2 -2
  3. package/dist/{application-C7H7y0hS.mjs → application-CZMzt9jL.mjs} +82 -18
  4. package/dist/application-CZMzt9jL.mjs.map +1 -0
  5. package/dist/application-v_E2W-Fz.mjs +4 -0
  6. package/dist/brand-D-d15jx3.mjs.map +1 -1
  7. package/dist/cli/index.mjs +55 -31
  8. package/dist/cli/index.mjs.map +1 -1
  9. package/dist/cli/lib.d.mts +6 -6
  10. package/dist/cli/lib.mjs +6 -6
  11. package/dist/cli/lib.mjs.map +1 -1
  12. package/dist/cli/skills.mjs.map +1 -1
  13. package/dist/{client-DCqdtFte.mjs → client-CPW1N1Rs.mjs} +1 -1
  14. package/dist/{client-DbyKSN1F.mjs → client-_kHh0Pip.mjs} +2 -2
  15. package/dist/{client-DbyKSN1F.mjs.map → client-_kHh0Pip.mjs.map} +1 -1
  16. package/dist/configure/index.d.mts +4 -4
  17. package/dist/configure/index.mjs +51 -3
  18. package/dist/configure/index.mjs.map +1 -1
  19. package/dist/{crashreport-CNSw_BrJ.mjs → crashreport-CvmdFs4i.mjs} +5 -5
  20. package/dist/crashreport-CvmdFs4i.mjs.map +1 -0
  21. package/dist/{crashreport-DXGFd16F.mjs → crashreport-DHJuSmUc.mjs} +1 -1
  22. package/dist/enum-constants-C3KSpsYj.mjs.map +1 -1
  23. package/dist/{errors-wNQxQQBH.mjs → errors-pMPXghkO.mjs} +1 -1
  24. package/dist/{errors-wNQxQQBH.mjs.map → errors-pMPXghkO.mjs.map} +1 -1
  25. package/dist/field-DLSIuMTu.mjs.map +1 -1
  26. package/dist/file-utils-DjNi_3U_.mjs.map +1 -1
  27. package/dist/index-BQ4oi0AI.d.mts +48 -0
  28. package/dist/{index-BbOTbZFf.d.mts → index-BjXN1SdY.d.mts} +2 -2
  29. package/dist/{index-DB8EapT-.d.mts → index-C--7W0UO.d.mts} +5 -5
  30. package/dist/{index-BRvNi5q9.d.mts → index-VJW98BSy.d.mts} +2 -2
  31. package/dist/{index-iy-hNfGp.d.mts → index-nV4ZC_Ve.d.mts} +2 -2
  32. package/dist/{interceptor-CBsqEWDK.mjs → interceptor-DTNS0EtF.mjs} +1 -1
  33. package/dist/{interceptor-CBsqEWDK.mjs.map → interceptor-DTNS0EtF.mjs.map} +1 -1
  34. package/dist/{job-R5C2Hfcc.mjs → job-M3Avv_SV.mjs} +4 -3
  35. package/dist/{job-R5C2Hfcc.mjs.map → job-M3Avv_SV.mjs.map} +1 -1
  36. package/dist/kysely/index.mjs.map +1 -1
  37. package/dist/kysely-type-B8aRz_oC.mjs.map +1 -1
  38. package/dist/logger-DTNAMYGy.mjs.map +1 -1
  39. package/dist/{mock-BP-9O5On.mjs → mock-BfL09ULZ.mjs} +1 -1
  40. package/dist/{mock-BP-9O5On.mjs.map → mock-BfL09ULZ.mjs.map} +1 -1
  41. package/dist/multiline-e3IpANmS.mjs.map +1 -1
  42. package/dist/package-json-6Px8bDpG.mjs.map +1 -1
  43. package/dist/plugin/builtin/enum-constants/index.d.mts +1 -1
  44. package/dist/plugin/builtin/file-utils/index.d.mts +1 -1
  45. package/dist/plugin/builtin/kysely-type/index.d.mts +1 -1
  46. package/dist/plugin/builtin/seed/index.d.mts +1 -1
  47. package/dist/plugin/builtin/seed/index.mjs +1 -1
  48. package/dist/plugin/index.d.mts +2 -2
  49. package/dist/plugin/index.mjs.map +1 -1
  50. package/dist/{repl-editor-CZpLlOBj.mjs → repl-editor-jZ493eQI.mjs} +1 -1
  51. package/dist/{repl-editor-CZpLlOBj.mjs.map → repl-editor-jZ493eQI.mjs.map} +1 -1
  52. package/dist/{runtime-XjP6JMmP.mjs → runtime-oZgK353r.mjs} +484 -132
  53. package/dist/runtime-oZgK353r.mjs.map +1 -0
  54. package/dist/{tailordb-DjlNUV6u.mjs → schema-C5QjYEc-.mjs} +2 -42
  55. package/dist/schema-C5QjYEc-.mjs.map +1 -0
  56. package/dist/secret-file-BHpxGyNf.mjs +65 -0
  57. package/dist/secret-file-BHpxGyNf.mjs.map +1 -0
  58. package/dist/seed/index.mjs.map +1 -1
  59. package/dist/{seed-DrKY5yIF.mjs → seed-DjfAn0BC.mjs} +44 -19
  60. package/dist/seed-DjfAn0BC.mjs.map +1 -0
  61. package/dist/{service-obEU5gSM.mjs → service-DCgJxdg1.mjs} +2 -2
  62. package/dist/{service-obEU5gSM.mjs.map → service-DCgJxdg1.mjs.map} +1 -1
  63. package/dist/{tailor-db-field-Bn8ZC5lK.d.mts → tailor-db-field-4bMLe25-.d.mts} +5 -1
  64. package/dist/telemetry-C13VIFpT.mjs +4 -0
  65. package/dist/{telemetry-DcL8Fsm_.mjs → telemetry-C1Y56L5E.mjs} +1 -1
  66. package/dist/{telemetry-DcL8Fsm_.mjs.map → telemetry-C1Y56L5E.mjs.map} +1 -1
  67. package/dist/types-sir9UPht.mjs.map +1 -1
  68. package/dist/utils/test/index.d.mts +3 -3
  69. package/dist/utils/test/index.mjs +1 -1
  70. package/dist/utils/test/index.mjs.map +1 -1
  71. package/dist/vitest/environment.mjs +1 -1
  72. package/dist/vitest/environment.mjs.map +1 -1
  73. package/dist/vitest/index.mjs +1 -1
  74. package/dist/vitest/index.mjs.map +1 -1
  75. package/dist/vitest/setup.mjs +1 -1
  76. package/dist/vitest/setup.mjs.map +1 -1
  77. package/dist/{workflow.generated-i7PK4fg-.d.mts → workflow.generated-OYAu_6zX.d.mts} +12 -2
  78. package/docs/cli/application.md +4 -0
  79. package/docs/cli/workspace.md +20 -17
  80. package/docs/configuration.md +4 -0
  81. package/docs/generator/builtin.md +35 -4
  82. package/package.json +16 -16
  83. package/postinstall.mjs +1 -1
  84. package/dist/application-C7H7y0hS.mjs.map +0 -1
  85. package/dist/application-Csq5jxYP.mjs +0 -4
  86. package/dist/crashreport-CNSw_BrJ.mjs.map +0 -1
  87. package/dist/index-BXyS7xKC.d.mts +0 -21
  88. package/dist/runtime-XjP6JMmP.mjs.map +0 -1
  89. package/dist/seed-DrKY5yIF.mjs.map +0 -1
  90. package/dist/tailordb-DjlNUV6u.mjs.map +0 -1
  91. package/dist/telemetry-21afNV9_.mjs +0 -4
@@ -1,5 +1,5 @@
1
1
  /// <reference types="@tailor-platform/function-types" />
2
- import { A as RelationType, Bt as InferredAttributeMap, D as DefinedDBFieldMetadata, Dt as ArrayFieldOutput, E as DBFieldMetadata, F as AuthConfig, Ft as FieldValidateInput, Ht as TailorUser, It as Validators, Jt as output, M as TailorDBServiceInput, Mt as FieldOutput, O as GqlOperationsConfig, Pt as TailorToTs, Wt as InferFieldsOutput, Y as TailorField, c as PluginConfigs, ht as BuiltinIdP, i as TailorDBType$1, j as SerialConfig, jt as FieldOptions, k as IndexDef, kt as EnumValue, qt as Prettify, r as TailorDBField$1, t as TailorAnyDBField$1 } from "./tailor-db-field-Bn8ZC5lK.mjs";
2
+ import { A as RelationType, Bt as InferredAttributeMap, D as DefinedDBFieldMetadata, Dt as ArrayFieldOutput, E as DBFieldMetadata, F as AuthConfig, Ft as FieldValidateInput, Ht as TailorUser, It as Validators, Jt as output, M as TailorDBServiceInput, Mt as FieldOutput, O as GqlOperationsConfig, Pt as TailorToTs, Wt as InferFieldsOutput, Y as TailorField, c as PluginConfigs, ht as BuiltinIdP, i as TailorDBType$1, j as SerialConfig, jt as FieldOptions, k as IndexDef, kt as EnumValue, qt as Prettify, r as TailorDBField$1, t as TailorAnyDBField$1 } from "./tailor-db-field-4bMLe25-.mjs";
3
3
  import { NonEmptyObject } from "type-fest";
4
4
  import { StandardSchemaV1 } from "@standard-schema/spec";
5
5
 
@@ -1164,6 +1164,16 @@ type WorkflowServiceInput = WorkflowServiceConfig;
1164
1164
  interface AppConfig<Auth extends AuthConfig = AuthConfig, Idp extends IdPConfig[] = IdPConfig[], StaticWebsites extends StaticWebsiteConfig[] = StaticWebsiteConfig[], Env extends Record<string, string | number | boolean> = Record<string, string | number | boolean>> {
1165
1165
  /** Application name (required). */
1166
1166
  name: string;
1167
+ /**
1168
+ * Stable identifier used to track the application across renames.
1169
+ * Managed by the SDK: auto-generated and written into `tailor.config.ts`
1170
+ * on first `deploy`. Delete this field if you want the SDK to assign a
1171
+ * new id on the next `deploy` — typical case: `tailor.config.ts` was
1172
+ * copied from another project and the new application should not share
1173
+ * the original's id. Existing resources are re-tagged with the new id;
1174
+ * data is preserved.
1175
+ */
1176
+ id?: string;
1167
1177
  /** Environment variables accessible via `context.env` in resolvers and via the second argument `{ env }` in workflow job bodies. */
1168
1178
  env?: Env;
1169
1179
  /** Allowed CORS origins. Must be an array of strings, e.g. `["https://example.com"]`. */
@@ -1207,4 +1217,4 @@ type ConcurrencyPolicy = {
1207
1217
  };
1208
1218
  //#endregion
1209
1219
  export { PermissionCondition as A, IdPInput as C, TailorDBInstance as D, TailorDBField as E, AllowedValues as F, AllowedValuesOutput as I, TailorTypePermission as M, unsafeAllowAllGqlPermission as N, TailorDBType as O, unsafeAllowAllTypePermission as P, IdPGqlOperationsInput as S, TailorAnyDBType as T, IdPExternalConfig as _, ExecutorServiceInput as a, IdPEmailConfig as b, ResolverServiceInput as c, StaticWebsiteConfig as d, StaticWebsiteDefinitionBrand as f, IdPConfig as g, SecretsDefinitionBrand as h, ExecutorServiceConfig as i, TailorTypeGqlPermission as j, db as k, WorkflowServiceConfig as l, SecretsConfig as m, RetryPolicy as n, ResolverExternalConfig as o, StaticWebsiteInput as p, AppConfig as r, ResolverServiceConfig as s, ConcurrencyPolicy as t, WorkflowServiceInput as u, IdPUserField as v, TailorAnyDBField as w, IdPGqlOperations as x, IdpDefinitionBrand as y };
1210
- //# sourceMappingURL=workflow.generated-i7PK4fg-.d.mts.map
1220
+ //# sourceMappingURL=workflow.generated-OYAu_6zX.d.mts.map
@@ -136,6 +136,10 @@ See [Global Options](../cli-reference.md#global-options) for options available t
136
136
 
137
137
  <!-- politty:command:deploy:global-options-link:end -->
138
138
 
139
+ **Config File Modification:**
140
+
141
+ On first run, `deploy` automatically injects a stable `id: "<uuid>"` field into your `defineConfig({...})` call in `tailor.config.ts`. This UUID is used to track your application across renames so the SDK can recognize ownership across renames. Commit the generated id to version control. See [Configuration](../configuration.md#application-settings) for details.
142
+
139
143
  **Migration Handling:**
140
144
 
141
145
  When migrations are configured (`db.tailordb.migration` in config), the `deploy` command automatically:
@@ -71,15 +71,16 @@ tailor-sdk workspace create [options]
71
71
 
72
72
  **Options**
73
73
 
74
- | Option | Alias | Description | Required | Default | Env |
75
- | ------------------------------------- | ----- | ----------------------------------------------------- | -------- | ------- | --------------------------------- |
76
- | `--name <NAME>` | `-n` | Workspace name | Yes | - | - |
77
- | `--region <REGION>` | `-r` | Workspace region (us-west, asia-northeast) | Yes | - | - |
78
- | `--delete-protection` | `-d` | Enable delete protection | No | `false` | - |
79
- | `--organization-id <ORGANIZATION_ID>` | `-o` | Organization ID to workspace associate with | No | - | `TAILOR_PLATFORM_ORGANIZATION_ID` |
80
- | `--folder-id <FOLDER_ID>` | `-f` | Folder ID to workspace associate with | No | - | `TAILOR_PLATFORM_FOLDER_ID` |
81
- | `--profile-name <PROFILE_NAME>` | `-p` | Profile name to create | No | - | - |
82
- | `--profile-user <PROFILE_USER>` | - | User email for the profile (defaults to current user) | No | - | - |
74
+ | Option | Alias | Description | Required | Default | Env |
75
+ | ------------------------------------- | ----- | ----------------------------------------------------------------------------------------------------------- | -------- | --------- | --------------------------------- |
76
+ | `--name <NAME>` | `-n` | Workspace name | Yes | - | - |
77
+ | `--region <REGION>` | `-r` | Workspace region (us-west, asia-northeast) | Yes | - | - |
78
+ | `--delete-protection` | `-d` | Enable delete protection | No | `false` | - |
79
+ | `--organization-id <ORGANIZATION_ID>` | `-o` | Organization ID to workspace associate with | No | - | `TAILOR_PLATFORM_ORGANIZATION_ID` |
80
+ | `--folder-id <FOLDER_ID>` | `-f` | Folder ID to workspace associate with | No | - | `TAILOR_PLATFORM_FOLDER_ID` |
81
+ | `--profile-name <PROFILE_NAME>` | `-p` | Profile name to create | No | - | - |
82
+ | `--profile-user <PROFILE_USER>` | - | User email for the profile (defaults to current user) | No | - | - |
83
+ | `--permission <PERMISSION>` | - | Profile permission (requires --profile-name). 'read' blocks all write commands while the profile is active. | No | `"write"` | - |
83
84
 
84
85
  <!-- politty:command:workspace create:options:end -->
85
86
 
@@ -240,10 +241,11 @@ tailor-sdk profile create [options] <name>
240
241
 
241
242
  **Options**
242
243
 
243
- | Option | Alias | Description | Required | Default |
244
- | ------------------------------- | ----- | ------------ | -------- | ------- |
245
- | `--user <USER>` | `-u` | User email | Yes | - |
246
- | `--workspace-id <WORKSPACE_ID>` | `-w` | Workspace ID | Yes | - |
244
+ | Option | Alias | Description | Required | Default |
245
+ | ------------------------------- | ----- | --------------------------------------------------------------------------------- | -------- | --------- |
246
+ | `--user <USER>` | `-u` | User email | Yes | - |
247
+ | `--workspace-id <WORKSPACE_ID>` | `-w` | Workspace ID | Yes | - |
248
+ | `--permission <PERMISSION>` | - | Profile permission. 'read' blocks all write commands while the profile is active. | No | `"write"` |
247
249
 
248
250
  <!-- politty:command:profile create:options:end -->
249
251
 
@@ -318,10 +320,11 @@ tailor-sdk profile update [options] <name>
318
320
 
319
321
  **Options**
320
322
 
321
- | Option | Alias | Description | Required | Default |
322
- | ------------------------------- | ----- | ---------------- | -------- | ------- |
323
- | `--user <USER>` | `-u` | New user email | No | - |
324
- | `--workspace-id <WORKSPACE_ID>` | `-w` | New workspace ID | No | - |
323
+ | Option | Alias | Description | Required | Default |
324
+ | ------------------------------- | ----- | ------------------------------------------------------------------------------------ | -------- | ------- |
325
+ | `--user <USER>` | `-u` | New user email | No | - |
326
+ | `--workspace-id <WORKSPACE_ID>` | `-w` | New workspace ID | No | - |
327
+ | `--permission <PERMISSION>` | - | Profile permission. 'read' blocks all write commands; 'write' lifts the restriction. | No | - |
325
328
 
326
329
  <!-- politty:command:profile update:options:end -->
327
330
 
@@ -19,6 +19,8 @@ For service-specific documentation, see:
19
19
  import { defineConfig } from "@tailor-platform/sdk";
20
20
 
21
21
  export default defineConfig({
22
+ // SDK-managed app id — do not edit, except when copying this config to a separate app.
23
+ // id: "<uuid>" — written here automatically on first run
22
24
  name: "my-app",
23
25
  cors: ["https://example.com"],
24
26
  allowedIpAddresses: ["192.168.1.0/24"],
@@ -28,6 +30,8 @@ export default defineConfig({
28
30
 
29
31
  **Name**: Set the application name.
30
32
 
33
+ **Id (auto-managed)**: A stable identifier used to recognize resources managed by the SDK across renames. On first `deploy`, the SDK injects an `id: "<uuid>"` field into your `defineConfig({...})` call and commits it to `tailor.config.ts`. Keep it under version control; do not edit it by hand. Delete it only if you want the SDK to assign a new id on the next `deploy` — typically when `tailor.config.ts` was copied from another project and the new application should not share the original's id. Auto-injection requires `defineConfig({...})` to be called with an inline object literal: if the argument is a separate variable (e.g. `defineConfig(config)`), or if `tailor.config.ts` is a wrapper that re-exports `defineConfig` from another file, the SDK cannot inject — add the `id` field manually to the file that contains the actual `defineConfig({...})` object literal.
34
+
31
35
  **CORS**: Specify CORS settings as an array. You can also include Static Website URL references (e.g. `website.url`) in this array; see [Static Website](./services/staticwebsite.md).
32
36
 
33
37
  **Allowed IP Addresses**: Specify IP addresses allowed to access the application in CIDR format.
@@ -183,10 +183,41 @@ Generates seed data configuration files for database initialization.
183
183
  ["@tailor-platform/seed", { distPath: "./seed", machineUserName: "admin" }];
184
184
  ```
185
185
 
186
- | Option | Type | Description |
187
- | ----------------- | -------- | -------------------------------------------------------- |
188
- | `distPath` | `string` | Output directory path (required) |
189
- | `machineUserName` | `string` | Default machine user name (can be overridden at runtime) |
186
+ | Option | Type | Description |
187
+ | -------------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
188
+ | `distPath` | `string` | Output directory path (required) |
189
+ | `machineUserName` | `string` | Default machine user name (can be overridden at runtime) |
190
+ | `disableIdpUserSync` | `{ userToIdp?: boolean; idpToUser?: boolean }` | Skip emitting individual `_User <-> userProfile` foreign keys. Both directions are emitted by default. See [IdP user synchronization](#idp-user-synchronization). |
191
+
192
+ ### IdP user synchronization
193
+
194
+ When `auth.userProfile` is configured, the seed plugin treats the userProfile
195
+ type (e.g. `User`) and the IdP-managed `_User` table as a pair. By default it
196
+ emits foreign keys in both directions so that `validate` rejects any row in
197
+ either table that does not have a matching counterpart:
198
+
199
+ | Direction | Foreign key | Catches |
200
+ | ----------- | ---------------------------------------------- | ---------------------------------------------- |
201
+ | `idpToUser` | `_User.name` → `<userProfile>.<usernameField>` | Creating an IdP credential with no profile row |
202
+ | `userToIdp` | `<userProfile>.<usernameField>` → `_User.name` | Creating a profile row with no IdP credential |
203
+
204
+ Neither direction is enforced by the runtime. In production it is normal for
205
+ one side to exist without the other — for example a userProfile row exists
206
+ the moment a user is invited, but the corresponding `_User` row appears only
207
+ after the user finishes signing up. To seed such states, set the relevant
208
+ direction in `disableIdpUserSync` to `true`:
209
+
210
+ ```typescript
211
+ // Allow seeding invited-but-not-registered userProfile rows.
212
+ // Still rejects _User rows without a matching userProfile row.
213
+ ["@tailor-platform/seed", { distPath: "./seed", disableIdpUserSync: { userToIdp: true } }];
214
+
215
+ // Allow seeding _User rows whose userProfile does not exist yet.
216
+ // Still rejects userProfile rows without a matching _User row.
217
+ ["@tailor-platform/seed", { distPath: "./seed", disableIdpUserSync: { idpToUser: true } }];
218
+ ```
219
+
220
+ Omitted directions default to `false` (FK emitted).
190
221
 
191
222
  ### Output
192
223
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tailor-platform/sdk",
3
- "version": "1.47.1",
3
+ "version": "1.49.0",
4
4
  "description": "Tailor Platform SDK - The SDK to work with Tailor Platform",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -21,6 +21,10 @@
21
21
  "skills"
22
22
  ],
23
23
  "type": "module",
24
+ "sideEffects": [
25
+ "./dist/cli/**/*.mjs",
26
+ "./dist/vitest/setup.mjs"
27
+ ],
24
28
  "main": "./dist/configure/index.mjs",
25
29
  "types": "./dist/configure/index.d.mts",
26
30
  "exports": {
@@ -91,8 +95,8 @@
91
95
  "@bufbuild/protobuf": "2.12.0",
92
96
  "@connectrpc/connect": "2.1.1",
93
97
  "@connectrpc/connect-node": "2.1.1",
94
- "@inquirer/core": "11.1.9",
95
- "@inquirer/prompts": "8.4.2",
98
+ "@inquirer/core": "11.1.10",
99
+ "@inquirer/prompts": "8.4.3",
96
100
  "@jridgewell/trace-mapping": "0.3.31",
97
101
  "@liam-hq/cli": "0.7.24",
98
102
  "@napi-rs/keyring": "1.3.0",
@@ -127,39 +131,34 @@
127
131
  "pgsql-ast-parser": "12.0.2",
128
132
  "pkg-types": "2.3.1",
129
133
  "politty": "0.4.15",
130
- "rolldown": "1.0.0",
134
+ "rolldown": "1.0.1",
131
135
  "semver": "7.7.4",
132
136
  "serve": "14.2.6",
133
137
  "sql-highlight": "6.1.0",
134
138
  "std-env": "4.1.0",
135
139
  "table": "6.9.0",
136
140
  "ts-cron-validator": "1.1.5",
137
- "tsx": "4.21.0",
141
+ "tsx": "4.21.1",
138
142
  "type-fest": "5.6.0",
139
143
  "undici": "6.25.0",
140
144
  "xdg-basedir": "5.1.0",
141
145
  "zod": "4.3.6"
142
146
  },
143
147
  "devDependencies": {
144
- "@eslint/js": "10.0.1",
145
148
  "@opentelemetry/sdk-trace-base": "2.7.1",
146
149
  "@types/madge": "5.0.3",
147
150
  "@types/mime-types": "3.0.1",
148
- "@types/node": "24.12.3",
151
+ "@types/node": "24.12.4",
149
152
  "@types/semver": "7.7.1",
150
- "@typescript/native-preview": "7.0.0-dev.20260503.1",
151
- "@vitest/coverage-v8": "4.1.5",
152
- "eslint": "10.3.0",
153
- "eslint-plugin-jsdoc": "62.9.0",
154
- "eslint-plugin-oxlint": "1.61.0",
153
+ "@typescript/native-preview": "7.0.0-dev.20260516.1",
154
+ "@vitest/coverage-v8": "4.1.6",
155
155
  "oxfmt": "0.46.0",
156
156
  "oxlint": "1.61.0",
157
157
  "oxlint-tsgolint": "0.22.1",
158
158
  "sonda": "0.11.1",
159
159
  "tsdown": "0.22.0",
160
160
  "typescript": "5.9.3",
161
- "typescript-eslint": "8.59.2",
162
- "vitest": "4.1.5",
161
+ "vitest": "4.1.6",
163
162
  "zinfer": "0.1.8"
164
163
  },
165
164
  "peerDependencies": {
@@ -186,8 +185,9 @@
186
185
  "docs:check": "vitest run --project=unit src/cli/docs.test.ts",
187
186
  "docs:update": "POLITTY_DOCS_UPDATE=true vitest run --project=unit src/cli/docs.test.ts",
188
187
  "build": "tsdown",
189
- "lint": "oxlint --type-aware . && eslint --cache .",
190
- "lint:fix": "oxlint --type-aware . --fix && eslint --cache . --fix",
188
+ "lint": "oxlint --type-aware .",
189
+ "check:public-api-jsdoc": "tsx scripts/check-public-api-jsdoc.ts",
190
+ "lint:fix": "oxlint --type-aware . --fix",
191
191
  "typecheck": "tsc --noEmit",
192
192
  "typecheck:go": "tsgo",
193
193
  "perf:typecheck": "bash scripts/perf/exec.sh",
package/postinstall.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { existsSync } from "node:fs";
4
+ import { register } from "node:module";
4
5
  import { dirname, resolve } from "node:path";
5
6
  import { pathToFileURL } from "node:url";
6
- import { register } from "node:module";
7
7
  import { findUpSync } from "find-up-simple";
8
8
 
9
9
  const __dirname = import.meta.dirname;