@warlock.js/core 5.17.1 → 5.19.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 +19 -0
- package/esm/container/development-model-modules.d.mts +22 -0
- package/esm/container/development-model-modules.d.mts.map +1 -0
- package/esm/container/index.d.mts +2 -0
- package/esm/container/index.d.mts.map +1 -1
- package/esm/container/index.mjs.map +1 -1
- package/esm/dev-server/model-module-registry.mjs +90 -0
- package/esm/dev-server/model-module-registry.mjs.map +1 -0
- package/esm/dev-server/module-loader.mjs +4 -0
- package/esm/dev-server/module-loader.mjs.map +1 -1
- package/esm/generations/add-command.action.mjs +9 -2
- package/esm/generations/add-command.action.mjs.map +1 -1
- package/esm/generations/pnpm-build-approvals.mjs +29 -0
- package/esm/generations/pnpm-build-approvals.mjs.map +1 -0
- package/esm/http/response.d.mts +3 -3
- package/esm/http/response.d.mts.map +1 -1
- package/esm/index.d.mts +3 -2
- package/esm/router/index.d.mts +1 -1
- package/esm/router/router.d.mts +8 -1
- package/esm/router/router.d.mts.map +1 -1
- package/esm/router/router.mjs +13 -0
- package/esm/router/router.mjs.map +1 -1
- package/esm/router/types.d.mts +7 -1
- package/esm/router/types.d.mts.map +1 -1
- package/llms-full.txt +54 -41
- package/llms.txt +41 -41
- package/package.json +11 -11
- package/skills/add-connector/SKILL.md +1 -1
- package/skills/benchmark-code/SKILL.md +1 -1
- package/skills/build-restful/SKILL.md +1 -1
- package/skills/build-url/SKILL.md +1 -1
- package/skills/configure-app/SKILL.md +1 -1
- package/skills/create-controller/SKILL.md +1 -1
- package/skills/create-module/SKILL.md +1 -1
- package/skills/define-resource/SKILL.md +1 -1
- package/skills/encrypt-data/SKILL.md +1 -1
- package/skills/hash-password/SKILL.md +1 -1
- package/skills/health-checks/SKILL.md +1 -1
- package/skills/lower-stage3-decorators/SKILL.md +1 -1
- package/skills/process-image/SKILL.md +1 -1
- package/skills/register-route/SKILL.md +14 -1
- package/skills/request-memo/SKILL.md +1 -1
- package/skills/request-tracing/SKILL.md +1 -1
- package/skills/resolve-path/SKILL.md +1 -1
- package/skills/retry-operation/SKILL.md +1 -1
- package/skills/run-app/SKILL.md +1 -1
- package/skills/send-mail/SKILL.md +1 -1
- package/skills/send-response/SKILL.md +1 -1
- package/skills/store-file/SKILL.md +1 -1
- package/skills/test-http/SKILL.md +1 -1
- package/skills/test-service/SKILL.md +1 -1
- package/skills/update-packages/SKILL.md +1 -1
- package/skills/upload-file/SKILL.md +1 -1
- package/skills/use-app-context/SKILL.md +1 -1
- package/skills/use-localization/SKILL.md +1 -1
- package/skills/use-middleware/SKILL.md +1 -1
- package/skills/use-model-transformers/SKILL.md +1 -1
- package/skills/use-repository/SKILL.md +1 -1
- package/skills/use-request-locals/SKILL.md +1 -1
- package/skills/validate-input/SKILL.md +1 -1
- package/skills/warlock-conventions/SKILL.md +1 -1
- package/skills/warlock-doctor/SKILL.md +1 -1
- package/skills/warlock-routes/SKILL.md +1 -1
- package/skills/wire-socket/SKILL.md +1 -1
- package/skills/write-cli-command/SKILL.md +1 -1
- package/skills/write-middleware/SKILL.md +1 -1
- package/skills/write-seeder/SKILL.md +1 -1
- package/skills/write-use-case/SKILL.md +1 -1
package/llms-full.txt
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
name: add-connector
|
|
11
|
-
description:
|
|
11
|
+
description: "Warlock — add a connector in @warlock.js/core; use when you need to add connector."
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
# Warlock — add a connector
|
|
@@ -248,7 +248,7 @@ See the [Registering a connector](#registering-a-connector) section above for th
|
|
|
248
248
|
|
|
249
249
|
---
|
|
250
250
|
name: benchmark-code
|
|
251
|
-
description:
|
|
251
|
+
description: "Warlock — benchmark code in @warlock.js/core; use when you need to benchmark code."
|
|
252
252
|
---
|
|
253
253
|
|
|
254
254
|
# Warlock — benchmark code
|
|
@@ -508,7 +508,7 @@ The `latency` is the *total* time including retries — useful for the SLO you a
|
|
|
508
508
|
|
|
509
509
|
---
|
|
510
510
|
name: build-restful
|
|
511
|
-
description:
|
|
511
|
+
description: "Warlock — build a RESTful resource in @warlock.js/core; use when you need to build restful."
|
|
512
512
|
---
|
|
513
513
|
|
|
514
514
|
# Warlock — build a RESTful resource
|
|
@@ -780,7 +780,7 @@ router.restfulResource("/orders", new OrdersRestful());
|
|
|
780
780
|
|
|
781
781
|
---
|
|
782
782
|
name: build-url
|
|
783
|
-
description:
|
|
783
|
+
description: "Warlock — build a URL in @warlock.js/core; use when you need to build url."
|
|
784
784
|
---
|
|
785
785
|
|
|
786
786
|
# Warlock — build a URL
|
|
@@ -964,7 +964,7 @@ Don't call `setBaseUrl` per request — it's process-global and races every othe
|
|
|
964
964
|
|
|
965
965
|
---
|
|
966
966
|
name: configure-app
|
|
967
|
-
description:
|
|
967
|
+
description: "Warlock — configure the app in @warlock.js/core; use when you need to configure app."
|
|
968
968
|
---
|
|
969
969
|
|
|
970
970
|
# Warlock — configure the app
|
|
@@ -1268,7 +1268,7 @@ Internal `@warlock.js/*` packages read from `config.get("<name>")` the same way
|
|
|
1268
1268
|
|
|
1269
1269
|
---
|
|
1270
1270
|
name: create-controller
|
|
1271
|
-
description:
|
|
1271
|
+
description: "Warlock — create a controller in @warlock.js/core; use when you need to create controller."
|
|
1272
1272
|
---
|
|
1273
1273
|
|
|
1274
1274
|
# Warlock — create a controller
|
|
@@ -1509,7 +1509,7 @@ No `if (!product)` branch in the controller. The error class carries the HTTP se
|
|
|
1509
1509
|
|
|
1510
1510
|
---
|
|
1511
1511
|
name: create-module
|
|
1512
|
-
description:
|
|
1512
|
+
description: "Warlock — create a module in @warlock.js/core; use when you need to create module."
|
|
1513
1513
|
---
|
|
1514
1514
|
|
|
1515
1515
|
# Warlock — create a module
|
|
@@ -1703,7 +1703,7 @@ await warmupProductCache();
|
|
|
1703
1703
|
|
|
1704
1704
|
---
|
|
1705
1705
|
name: define-resource
|
|
1706
|
-
description:
|
|
1706
|
+
description: "Warlock — define a resource in @warlock.js/core; use when you need to define resource."
|
|
1707
1707
|
---
|
|
1708
1708
|
|
|
1709
1709
|
# Warlock — define a resource
|
|
@@ -2004,7 +2004,7 @@ export const CommentResource = defineResource({
|
|
|
2004
2004
|
|
|
2005
2005
|
---
|
|
2006
2006
|
name: encrypt-data
|
|
2007
|
-
description:
|
|
2007
|
+
description: "Warlock — encrypt and fingerprint in @warlock.js/core; use when you need to encrypt data."
|
|
2008
2008
|
---
|
|
2009
2009
|
|
|
2010
2010
|
# Warlock — encrypt and fingerprint
|
|
@@ -2216,7 +2216,7 @@ Password hashing (`hashPassword`) needs `bcryptjs`, which is its own install —
|
|
|
2216
2216
|
|
|
2217
2217
|
---
|
|
2218
2218
|
name: hash-password
|
|
2219
|
-
description:
|
|
2219
|
+
description: "Warlock — hash a password in @warlock.js/core; use when you need to hash password."
|
|
2220
2220
|
---
|
|
2221
2221
|
|
|
2222
2222
|
# Warlock — hash a password
|
|
@@ -2403,7 +2403,7 @@ There is no `warlock add` feature for password hashing — `bcryptjs` is a plain
|
|
|
2403
2403
|
|
|
2404
2404
|
---
|
|
2405
2405
|
name: health-checks
|
|
2406
|
-
description:
|
|
2406
|
+
description: "Warlock — health checks & graceful shutdown in @warlock.js/core; use when you need to health checks."
|
|
2407
2407
|
---
|
|
2408
2408
|
|
|
2409
2409
|
# Warlock — health checks & graceful shutdown
|
|
@@ -2526,7 +2526,7 @@ For an even smoother handoff, give the load balancer time to observe the 503 bef
|
|
|
2526
2526
|
|
|
2527
2527
|
---
|
|
2528
2528
|
name: lower-stage3-decorators
|
|
2529
|
-
description:
|
|
2529
|
+
description: "Lower Stage-3 decorators for Vite/Vitest in @warlock.js/core; use when you need to lower stage3 decorators."
|
|
2530
2530
|
---
|
|
2531
2531
|
|
|
2532
2532
|
# Lower Stage-3 decorators for Vite/Vitest
|
|
@@ -2586,7 +2586,7 @@ It's the **same esbuild transform the production `tsx`/build path uses**, so a f
|
|
|
2586
2586
|
|
|
2587
2587
|
---
|
|
2588
2588
|
name: process-image
|
|
2589
|
-
description:
|
|
2589
|
+
description: "Warlock — process an image in @warlock.js/core; use when you need to process image."
|
|
2590
2590
|
---
|
|
2591
2591
|
|
|
2592
2592
|
# Warlock — process an image
|
|
@@ -2761,7 +2761,7 @@ See [`upload-file`](../upload-file/SKILL.md) for the multipart entry point and [
|
|
|
2761
2761
|
|
|
2762
2762
|
---
|
|
2763
2763
|
name: register-route
|
|
2764
|
-
description:
|
|
2764
|
+
description: "Warlock — register a route in @warlock.js/core; use when you need to register route."
|
|
2765
2765
|
---
|
|
2766
2766
|
|
|
2767
2767
|
# Warlock — register a route
|
|
@@ -2777,6 +2777,19 @@ import { listProductsController } from "./controllers/list-products.controller";
|
|
|
2777
2777
|
router.get("/products", listProductsController);
|
|
2778
2778
|
```
|
|
2779
2779
|
|
|
2780
|
+
## Named API metadata for browser forms
|
|
2781
|
+
|
|
2782
|
+
Give a browser-submitted API route a stable `name`. Web publishes only its
|
|
2783
|
+
name, path, and method to `useSubmitForm`; controllers, middleware, schemas,
|
|
2784
|
+
and source paths never reach the browser.
|
|
2785
|
+
|
|
2786
|
+
```ts
|
|
2787
|
+
router.post("/orders/:id", createOrderController, { name: "orders.create" });
|
|
2788
|
+
```
|
|
2789
|
+
|
|
2790
|
+
Use a concrete HTTP verb for browser forms. `router.any()` is represented as
|
|
2791
|
+
`all` metadata and requires callers to choose an explicit path and method.
|
|
2792
|
+
|
|
2780
2793
|
That's the entire contract for a simple route. `router` is a singleton; method calls register routes synchronously. The handler is a plain function (controllers are typed as `RequestHandler` — see [create-controller](../create-controller/SKILL.md)).
|
|
2781
2794
|
|
|
2782
2795
|
## HTTP verbs
|
|
@@ -2924,7 +2937,7 @@ router.get(["/health", "/healthz"], healthController);
|
|
|
2924
2937
|
|
|
2925
2938
|
---
|
|
2926
2939
|
name: request-memo
|
|
2927
|
-
description:
|
|
2940
|
+
description: "Warlock — memoize work for one request in @warlock.js/core; use when you need to request memo."
|
|
2928
2941
|
---
|
|
2929
2942
|
|
|
2930
2943
|
# Warlock — memoize work for one request
|
|
@@ -3070,7 +3083,7 @@ Reusing one key for different result types is a caller bug: TypeScript cannot co
|
|
|
3070
3083
|
|
|
3071
3084
|
---
|
|
3072
3085
|
name: request-tracing
|
|
3073
|
-
description:
|
|
3086
|
+
description: "Warlock — request tracing hooks in @warlock.js/core; use when you need to request tracing."
|
|
3074
3087
|
---
|
|
3075
3088
|
|
|
3076
3089
|
# Warlock — request tracing hooks
|
|
@@ -3282,7 +3295,7 @@ export default {
|
|
|
3282
3295
|
|
|
3283
3296
|
---
|
|
3284
3297
|
name: resolve-path
|
|
3285
|
-
description:
|
|
3298
|
+
description: "Warlock — resolve a path in @warlock.js/core; use when you need to resolve path."
|
|
3286
3299
|
---
|
|
3287
3300
|
|
|
3288
3301
|
# Warlock — resolve a path
|
|
@@ -3456,7 +3469,7 @@ If you find yourself reaching for `path.join(process.cwd(), ...)` — that's a s
|
|
|
3456
3469
|
|
|
3457
3470
|
---
|
|
3458
3471
|
name: retry-operation
|
|
3459
|
-
description:
|
|
3472
|
+
description: "Warlock — retry an operation in @warlock.js/core; use when you need to retry operation."
|
|
3460
3473
|
---
|
|
3461
3474
|
|
|
3462
3475
|
# Warlock — retry an operation
|
|
@@ -3569,7 +3582,7 @@ const result = await measure("publish-event", () =>
|
|
|
3569
3582
|
|
|
3570
3583
|
---
|
|
3571
3584
|
name: run-app
|
|
3572
|
-
description:
|
|
3585
|
+
description: "Warlock — run the app in @warlock.js/core; use when you need to run app."
|
|
3573
3586
|
---
|
|
3574
3587
|
|
|
3575
3588
|
# Warlock — run the app
|
|
@@ -4051,7 +4064,7 @@ NODE_OPTIONS=--max-old-space-size=4096 npx warlock start
|
|
|
4051
4064
|
|
|
4052
4065
|
---
|
|
4053
4066
|
name: send-mail
|
|
4054
|
-
description:
|
|
4067
|
+
description: "Warlock — send a mail in @warlock.js/core; use when you need to send mail."
|
|
4055
4068
|
---
|
|
4056
4069
|
|
|
4057
4070
|
# Warlock — send a mail
|
|
@@ -4427,7 +4440,7 @@ await Mail.to(user.email)
|
|
|
4427
4440
|
|
|
4428
4441
|
---
|
|
4429
4442
|
name: send-response
|
|
4430
|
-
description:
|
|
4443
|
+
description: "Warlock — send a response in @warlock.js/core; use when you need to send response."
|
|
4431
4444
|
---
|
|
4432
4445
|
|
|
4433
4446
|
# Warlock — send a response
|
|
@@ -4741,7 +4754,7 @@ return response.header("X-Cache", "HIT").replay({
|
|
|
4741
4754
|
|
|
4742
4755
|
---
|
|
4743
4756
|
name: store-file
|
|
4744
|
-
description:
|
|
4757
|
+
description: "Warlock — store a file in @warlock.js/core; use when you need to store file."
|
|
4745
4758
|
---
|
|
4746
4759
|
|
|
4747
4760
|
# Warlock — store a file
|
|
@@ -5135,7 +5148,7 @@ Client `PUT`s the bytes straight to R2 — your server never sees them.
|
|
|
5135
5148
|
|
|
5136
5149
|
---
|
|
5137
5150
|
name: test-http
|
|
5138
|
-
description:
|
|
5151
|
+
description: "Warlock — HTTP integration tests in @warlock.js/core; use when you need to test http."
|
|
5139
5152
|
---
|
|
5140
5153
|
|
|
5141
5154
|
# Warlock — HTTP integration tests
|
|
@@ -5476,7 +5489,7 @@ This is fine for normal test flow. It bites when you're inside a transaction the
|
|
|
5476
5489
|
|
|
5477
5490
|
---
|
|
5478
5491
|
name: test-service
|
|
5479
|
-
description:
|
|
5492
|
+
description: "Warlock — test a service in @warlock.js/core; use when you need to test service."
|
|
5480
5493
|
---
|
|
5481
5494
|
|
|
5482
5495
|
# Warlock — test a service
|
|
@@ -5865,7 +5878,7 @@ In both cases the guard's scope matches the resource's scope, which is the point
|
|
|
5865
5878
|
|
|
5866
5879
|
---
|
|
5867
5880
|
name: update-packages
|
|
5868
|
-
description:
|
|
5881
|
+
description: "Warlock — update the framework in @warlock.js/core; use when you need to update packages."
|
|
5869
5882
|
---
|
|
5870
5883
|
|
|
5871
5884
|
# Warlock — update the framework
|
|
@@ -6002,7 +6015,7 @@ Two small zero-dependency utilities back the tooling and are exported from `@war
|
|
|
6002
6015
|
|
|
6003
6016
|
---
|
|
6004
6017
|
name: upload-file
|
|
6005
|
-
description:
|
|
6018
|
+
description: "Warlock — upload a file in @warlock.js/core; use when you need to upload file."
|
|
6006
6019
|
---
|
|
6007
6020
|
|
|
6008
6021
|
# Warlock — upload a file
|
|
@@ -6317,7 +6330,7 @@ The reverse direction — sending a stored file back via `response.sendFile(...)
|
|
|
6317
6330
|
|
|
6318
6331
|
---
|
|
6319
6332
|
name: use-app-context
|
|
6320
|
-
description:
|
|
6333
|
+
description: "Warlock — use the application context in @warlock.js/core; use when you need to use app context."
|
|
6321
6334
|
---
|
|
6322
6335
|
|
|
6323
6336
|
# Warlock — use the application context
|
|
@@ -6621,7 +6634,7 @@ cors: {
|
|
|
6621
6634
|
|
|
6622
6635
|
---
|
|
6623
6636
|
name: use-localization
|
|
6624
|
-
description:
|
|
6637
|
+
description: "Warlock — translate keys + pick localized values in @warlock.js/core; use when you need to use localization."
|
|
6625
6638
|
---
|
|
6626
6639
|
|
|
6627
6640
|
# Warlock — translate keys + pick localized values
|
|
@@ -6950,7 +6963,7 @@ When a route-locales snapshot applies, `request.t()`, `request.trans()`, and `re
|
|
|
6950
6963
|
|
|
6951
6964
|
---
|
|
6952
6965
|
name: use-middleware
|
|
6953
|
-
description:
|
|
6966
|
+
description: "Warlock — use built-in middleware in @warlock.js/core; use when you need to use middleware."
|
|
6954
6967
|
---
|
|
6955
6968
|
|
|
6956
6969
|
# Warlock — use built-in middleware
|
|
@@ -7223,7 +7236,7 @@ export default {
|
|
|
7223
7236
|
|
|
7224
7237
|
---
|
|
7225
7238
|
name: use-model-transformers
|
|
7226
|
-
description:
|
|
7239
|
+
description: "Warlock — declare model transformers in @warlock.js/core; use when you need to use model transformers."
|
|
7227
7240
|
---
|
|
7228
7241
|
|
|
7229
7242
|
# Warlock — declare model transformers
|
|
@@ -7447,7 +7460,7 @@ Rule of thumb: transformers are for **pure, deterministic** transforms of the ro
|
|
|
7447
7460
|
|
|
7448
7461
|
---
|
|
7449
7462
|
name: use-repository
|
|
7450
|
-
description:
|
|
7463
|
+
description: "Warlock — use a repository in @warlock.js/core; use when you need to use repository."
|
|
7451
7464
|
---
|
|
7452
7465
|
|
|
7453
7466
|
# Warlock — use a repository
|
|
@@ -7881,7 +7894,7 @@ The third arg is a context object — `{ allValues, dateFormat, ... }` — for f
|
|
|
7881
7894
|
|
|
7882
7895
|
---
|
|
7883
7896
|
name: use-request-locals
|
|
7884
|
-
description:
|
|
7897
|
+
description: "Warlock — use typed request locals in @warlock.js/core; use when you need to use request locals."
|
|
7885
7898
|
---
|
|
7886
7899
|
|
|
7887
7900
|
# Warlock — use typed request locals
|
|
@@ -8052,7 +8065,7 @@ Writing `request.locals.organization` does not affect `request.all()`, `request.
|
|
|
8052
8065
|
|
|
8053
8066
|
---
|
|
8054
8067
|
name: validate-input
|
|
8055
|
-
description:
|
|
8068
|
+
description: "Warlock — validate a request in @warlock.js/core; use when you need to validate input."
|
|
8056
8069
|
---
|
|
8057
8070
|
|
|
8058
8071
|
# Warlock — validate a request
|
|
@@ -8366,7 +8379,7 @@ updateProductController.validation = {
|
|
|
8366
8379
|
|
|
8367
8380
|
---
|
|
8368
8381
|
name: warlock-conventions
|
|
8369
|
-
description:
|
|
8382
|
+
description: "Warlock — framework-wide conventions in @warlock.js/core; use when you need to warlock conventions."
|
|
8370
8383
|
---
|
|
8371
8384
|
|
|
8372
8385
|
# Warlock — framework-wide conventions
|
|
@@ -8499,7 +8512,7 @@ Cascade uses `@RegisterModel()` for the model registry and `@BelongsTo` / `@HasM
|
|
|
8499
8512
|
|
|
8500
8513
|
---
|
|
8501
8514
|
name: warlock-doctor
|
|
8502
|
-
description:
|
|
8515
|
+
description: "Warlock — warlock doctor in @warlock.js/core; use when you need to warlock doctor."
|
|
8503
8516
|
---
|
|
8504
8517
|
|
|
8505
8518
|
# Warlock — `warlock doctor`
|
|
@@ -8641,7 +8654,7 @@ A `⚠ routes: 0 routes registered` line is the tell that a route module threw o
|
|
|
8641
8654
|
|
|
8642
8655
|
---
|
|
8643
8656
|
name: warlock-routes
|
|
8644
|
-
description:
|
|
8657
|
+
description: "Warlock — warlock routes in @warlock.js/core; use when you need to warlock routes."
|
|
8645
8658
|
---
|
|
8646
8659
|
|
|
8647
8660
|
# Warlock — `warlock routes`
|
|
@@ -8774,7 +8787,7 @@ and exits non-zero.
|
|
|
8774
8787
|
|
|
8775
8788
|
---
|
|
8776
8789
|
name: wire-socket
|
|
8777
|
-
description:
|
|
8790
|
+
description: "Warlock — wire a Socket.IO server in @warlock.js/core; use when you need to wire socket."
|
|
8778
8791
|
---
|
|
8779
8792
|
|
|
8780
8793
|
# Warlock — wire a Socket.IO server
|
|
@@ -9062,7 +9075,7 @@ CLI commands, scheduled jobs, queue workers — anything running outside an HTTP
|
|
|
9062
9075
|
|
|
9063
9076
|
---
|
|
9064
9077
|
name: write-cli-command
|
|
9065
|
-
description:
|
|
9078
|
+
description: "Warlock — write a CLI command in @warlock.js/core; use when you need to write cli command."
|
|
9066
9079
|
---
|
|
9067
9080
|
|
|
9068
9081
|
# Warlock — write a CLI command
|
|
@@ -9377,7 +9390,7 @@ export default command({
|
|
|
9377
9390
|
|
|
9378
9391
|
---
|
|
9379
9392
|
name: write-middleware
|
|
9380
|
-
description:
|
|
9393
|
+
description: "Warlock — write a middleware in @warlock.js/core; use when you need to write middleware."
|
|
9381
9394
|
---
|
|
9382
9395
|
|
|
9383
9396
|
# Warlock — write a middleware
|
|
@@ -9605,7 +9618,7 @@ export const optionalAuth: Middleware = async ({ request, response }) => {
|
|
|
9605
9618
|
|
|
9606
9619
|
---
|
|
9607
9620
|
name: write-seeder
|
|
9608
|
-
description:
|
|
9621
|
+
description: "Warlock — write a seeder in @warlock.js/core; use when you need to write seeder."
|
|
9609
9622
|
---
|
|
9610
9623
|
|
|
9611
9624
|
# Warlock — write a seeder
|
|
@@ -9986,7 +9999,7 @@ warlock seed --transaction # (default true) — pass --transaction=false to s
|
|
|
9986
9999
|
|
|
9987
10000
|
---
|
|
9988
10001
|
name: write-use-case
|
|
9989
|
-
description:
|
|
10002
|
+
description: "Warlock — write a use case in @warlock.js/core; use when you need to write use case."
|
|
9990
10003
|
---
|
|
9991
10004
|
|
|
9992
10005
|
# Warlock — write a use case
|