@tailor-platform/create-sdk 2.15.0 → 2.17.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 +16 -0
  2. package/package.json +7 -7
  3. package/templates/.gitignore +3 -0
  4. package/templates/executor/.gitignore +2 -0
  5. package/templates/executor/.oxlintrc.json +9 -0
  6. package/templates/executor/node_modules/.bin/oxfmt +55 -0
  7. package/templates/executor/node_modules/.bin/oxlint +55 -0
  8. package/templates/executor/node_modules/.bin/tailor +55 -0
  9. package/templates/executor/node_modules/.bin/tsc +55 -0
  10. package/templates/executor/node_modules/.bin/tsgolint +55 -0
  11. package/templates/executor/node_modules/.bin/tsserver +55 -0
  12. package/templates/executor/node_modules/.bin/vitest +55 -0
  13. package/templates/executor/package.json +3 -3
  14. package/templates/generators/.gitignore +2 -0
  15. package/templates/generators/.oxlintrc.json +9 -0
  16. package/templates/generators/node_modules/.bin/oxfmt +55 -0
  17. package/templates/generators/node_modules/.bin/oxlint +55 -0
  18. package/templates/generators/node_modules/.bin/tailor +55 -0
  19. package/templates/generators/node_modules/.bin/tailor-seed +55 -0
  20. package/templates/generators/node_modules/.bin/tsc +55 -0
  21. package/templates/generators/node_modules/.bin/tsgolint +55 -0
  22. package/templates/generators/node_modules/.bin/tsserver +55 -0
  23. package/templates/generators/node_modules/.bin/vitest +55 -0
  24. package/templates/generators/package.json +4 -4
  25. package/templates/hello-world/.gitignore +2 -0
  26. package/templates/hello-world/.oxlintrc.json +9 -0
  27. package/templates/hello-world/node_modules/.bin/oxfmt +55 -0
  28. package/templates/hello-world/node_modules/.bin/oxlint +55 -0
  29. package/templates/hello-world/node_modules/.bin/tailor +55 -0
  30. package/templates/hello-world/node_modules/.bin/tsc +55 -0
  31. package/templates/hello-world/node_modules/.bin/tsgolint +55 -0
  32. package/templates/hello-world/node_modules/.bin/tsserver +55 -0
  33. package/templates/hello-world/package.json +3 -3
  34. package/templates/inventory-management/.gitignore +2 -0
  35. package/templates/inventory-management/.oxlintrc.json +9 -0
  36. package/templates/inventory-management/node_modules/.bin/oxfmt +55 -0
  37. package/templates/inventory-management/node_modules/.bin/oxlint +55 -0
  38. package/templates/inventory-management/node_modules/.bin/tailor +55 -0
  39. package/templates/inventory-management/node_modules/.bin/tsc +55 -0
  40. package/templates/inventory-management/node_modules/.bin/tsgolint +55 -0
  41. package/templates/inventory-management/node_modules/.bin/tsserver +55 -0
  42. package/templates/inventory-management/package.json +3 -3
  43. package/templates/multi-application/.gitignore +2 -0
  44. package/templates/multi-application/.oxlintrc.json +9 -0
  45. package/templates/multi-application/node_modules/.bin/oxfmt +55 -0
  46. package/templates/multi-application/node_modules/.bin/oxlint +55 -0
  47. package/templates/multi-application/node_modules/.bin/tailor +55 -0
  48. package/templates/multi-application/node_modules/.bin/tsc +55 -0
  49. package/templates/multi-application/node_modules/.bin/tsgolint +55 -0
  50. package/templates/multi-application/node_modules/.bin/tsserver +55 -0
  51. package/templates/multi-application/package.json +3 -3
  52. package/templates/resolver/.gitignore +2 -0
  53. package/templates/resolver/.oxlintrc.json +9 -0
  54. package/templates/resolver/node_modules/.bin/oxfmt +55 -0
  55. package/templates/resolver/node_modules/.bin/oxlint +55 -0
  56. package/templates/resolver/node_modules/.bin/tailor +55 -0
  57. package/templates/resolver/node_modules/.bin/tsc +55 -0
  58. package/templates/resolver/node_modules/.bin/tsgolint +55 -0
  59. package/templates/resolver/node_modules/.bin/tsserver +55 -0
  60. package/templates/resolver/node_modules/.bin/vitest +55 -0
  61. package/templates/resolver/package.json +3 -3
  62. package/templates/static-web-site/.gitignore +2 -0
  63. package/templates/static-web-site/.oxlintrc.json +9 -0
  64. package/templates/static-web-site/node_modules/.bin/oxfmt +55 -0
  65. package/templates/static-web-site/node_modules/.bin/oxlint +55 -0
  66. package/templates/static-web-site/node_modules/.bin/tailor +55 -0
  67. package/templates/static-web-site/node_modules/.bin/tsc +55 -0
  68. package/templates/static-web-site/node_modules/.bin/tsgolint +55 -0
  69. package/templates/static-web-site/node_modules/.bin/tsserver +55 -0
  70. package/templates/static-web-site/package.json +3 -3
  71. package/templates/tailordb/.gitignore +2 -0
  72. package/templates/tailordb/.oxlintrc.json +9 -0
  73. package/templates/tailordb/node_modules/.bin/oxfmt +55 -0
  74. package/templates/tailordb/node_modules/.bin/oxlint +55 -0
  75. package/templates/tailordb/node_modules/.bin/tailor +55 -0
  76. package/templates/tailordb/node_modules/.bin/tsc +55 -0
  77. package/templates/tailordb/node_modules/.bin/tsgolint +55 -0
  78. package/templates/tailordb/node_modules/.bin/tsserver +55 -0
  79. package/templates/tailordb/node_modules/.bin/vitest +55 -0
  80. package/templates/tailordb/package.json +3 -3
  81. package/templates/workflow/.gitignore +2 -0
  82. package/templates/workflow/.oxlintrc.json +9 -0
  83. package/templates/workflow/node_modules/.bin/oxfmt +55 -0
  84. package/templates/workflow/node_modules/.bin/oxlint +55 -0
  85. package/templates/workflow/node_modules/.bin/tailor +55 -0
  86. package/templates/workflow/node_modules/.bin/tsc +55 -0
  87. package/templates/workflow/node_modules/.bin/tsgolint +55 -0
  88. package/templates/workflow/node_modules/.bin/tsserver +55 -0
  89. package/templates/workflow/node_modules/.bin/vitest +55 -0
  90. package/templates/workflow/package.json +3 -3
  91. package/templates/generators/.prettierrc +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @tailor-platform/create-sdk
2
2
 
3
+ ## 2.17.0
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2364](https://github.com/tailor-platform/sdk/pull/2364) [`fa5b087`](https://github.com/tailor-platform/sdk/commit/fa5b0872e637d1b4c5d1fb9c7f8f38074dffd545) Thanks [@dqn](https://github.com/dqn)! - Remove the unused empty `.prettierrc` from the `generators` template, completing the same cleanup already applied to the other templates. The template formats with `oxfmt`, and `.oxfmtrc.json` keeps the generated `src/generated/` and `src/seed/` output out of formatting.
8
+
9
+ ## 2.16.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#2313](https://github.com/tailor-platform/sdk/pull/2313) [`9817890`](https://github.com/tailor-platform/sdk/commit/98178900a5208a734fb3977eeab94fa103cce6c3) Thanks [@dqn](https://github.com/dqn)! - Add two lint rules that flag, in files defining a resolver, executor, workflow job, or HTTP adapter, the Node-only globals (`no-node-only-globals`) and Node built-in module imports (`no-node-builtin-imports`) that the Tailor Platform runtime does not provide. Both print the same suggested alternative the build does, and both leave configuration, scripts, and tests alone. Enabled in newly scaffolded projects.
14
+
15
+ - [#2314](https://github.com/tailor-platform/sdk/pull/2314) [`8351e86`](https://github.com/tailor-platform/sdk/commit/8351e866d65a07109b965f11f56d55d8207fbe2c) Thanks [@dqn](https://github.com/dqn)! - Add three lint rules that check literal values against constraints the build otherwise validates only at `tailor generate` / `tailor deploy` time: `valid-execution-policy-definition` (a workflow execution policy `name` or `key` outside the platform grammar), `valid-workflow-retry-policy` (a `retryPolicy` outside the platform limits, such as `initialBackoff` greater than `maxBackoff`), and `valid-resolver-permission` (a permission with no `permit: true` policy, or a condition that does not compare exactly one `user` operand to a string or a boolean). Values the rules cannot resolve to literals are left to the build. Enabled in newly scaffolded projects.
16
+
17
+ - [#2312](https://github.com/tailor-platform/sdk/pull/2312) [`c2ae1ac`](https://github.com/tailor-platform/sdk/commit/c2ae1acd688dd13df0a0d21d8d76ebc756415ab4) Thanks [@dqn](https://github.com/dqn)! - Add lint rules that catch workflow mistakes the build otherwise reports only at `tailor generate` / `tailor deploy` time: `valid-workflow-job-definition` (a `createWorkflowJob` `name` that is not a string literal or a `body` that is not an inline function), `no-job-start-outside-body` (a job's `.start()` called outside any job body in the same file), `no-direct-exec-job-function` (calling `execJobFunction` directly instead of `.start()`), and `valid-workflow-exports` (a `createWorkflow` result that is not the default export, or a job that is not a named export). Enabled in newly scaffolded projects.
18
+
3
19
  ## 2.15.0
4
20
 
5
21
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tailor-platform/create-sdk",
3
- "version": "2.15.0",
3
+ "version": "2.17.0",
4
4
  "description": "A CLI tool to quickly create a new Tailor Platform SDK project",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -8,6 +8,9 @@
8
8
  "url": "git+https://github.com/tailor-platform/sdk.git",
9
9
  "directory": "packages/create-sdk"
10
10
  },
11
+ "bin": {
12
+ "create-sdk": "dist/index.js"
13
+ },
11
14
  "files": [
12
15
  "CHANGELOG.md",
13
16
  "dist",
@@ -21,12 +24,12 @@
21
24
  "@politty/zod": "0.2.1",
22
25
  "execa": "10.0.1",
23
26
  "picocolors": "1.1.1",
24
- "pkg-types": "2.3.2",
27
+ "pkg-types": "2.3.3",
25
28
  "zod": "4.5.4"
26
29
  },
27
30
  "devDependencies": {
28
- "@types/node": "24.13.3",
29
- "eslint-plugin-zod": "4.12.0",
31
+ "@types/node": "24.13.4",
32
+ "eslint-plugin-zod": "4.12.1",
30
33
  "oxlint": "1.81.0",
31
34
  "oxlint-tsgolint": "7.0.2001",
32
35
  "tsdown": "0.23.0",
@@ -39,8 +42,5 @@
39
42
  "knip": "knip",
40
43
  "typecheck": "tsc --noEmit",
41
44
  "publint": "publint --strict"
42
- },
43
- "bin": {
44
- "create-sdk": "dist/index.js"
45
45
  }
46
46
  }
@@ -0,0 +1,3 @@
1
+ # Ignore .turbo to prevent it from being included in npm packages.
2
+ # For some reason, `.turbo/` doesn't work properly, so we use `*/.turbo/`.
3
+ */.turbo/
@@ -0,0 +1,2 @@
1
+ node_modules/
2
+ .tailor/
@@ -16,8 +16,17 @@
16
16
  "ignorePatterns": [".tailor/", "src/generated/", "tailor.d.ts"],
17
17
  "rules": {
18
18
  "tailor-sdk/no-api-prefix-in-path-pattern": "warn",
19
+ "tailor-sdk/no-direct-exec-job-function": "warn",
19
20
  "tailor-sdk/no-execute-script-arg-stringify": "warn",
21
+ "tailor-sdk/no-job-start-outside-body": "warn",
22
+ "tailor-sdk/no-node-builtin-imports": "warn",
23
+ "tailor-sdk/no-node-only-globals": "warn",
20
24
  "tailor-sdk/no-unconditional-permit": "warn",
25
+ "tailor-sdk/valid-execution-policy-definition": "warn",
26
+ "tailor-sdk/valid-resolver-permission": "warn",
27
+ "tailor-sdk/valid-workflow-exports": "warn",
28
+ "tailor-sdk/valid-workflow-job-definition": "warn",
29
+ "tailor-sdk/valid-workflow-retry-policy": "warn",
21
30
  "import/default": "off",
22
31
  "import/namespace": "off",
23
32
  "import/no-duplicates": ["error", { "considerQueryString": true }],
@@ -0,0 +1,55 @@
1
+ #!/bin/sh
2
+ # Resolve $0 through symlinks so basedir is the shim's real directory.
3
+ # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
+ link="$0"
5
+ hops=0
6
+ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
7
+ hops=$((hops+1))
8
+ target=$(readlink "$link")
9
+ case "$target" in
10
+ /*) link="$target" ;;
11
+ *) link="$(dirname "$link")/$target" ;;
12
+ esac
13
+ done
14
+ basedir=$(dirname "$(echo "$link" | sed -e 's,\\,/,g')")
15
+ basedir_win="$basedir"
16
+ exe=""
17
+ msys=""
18
+
19
+ case `uname -a` in
20
+ *CYGWIN*|*MINGW*|*MSYS*)
21
+ if command -v cygpath > /dev/null 2>&1; then
22
+ basedir_win=`cygpath -w "$basedir"`
23
+ fi
24
+ exe=".exe"
25
+ msys="true"
26
+ ;;
27
+ *WSL2*)
28
+ if command -v wslpath > /dev/null 2>&1; then
29
+ basedir_win="$(wslpath -w "$basedir" 2> /dev/null)"
30
+ if [ $? -ne 0 ] || [ -z "$basedir_win" ]; then
31
+ basedir_win="$basedir"
32
+ else
33
+ exe=".exe"
34
+ fi
35
+ fi
36
+ ;;
37
+ esac
38
+
39
+ if [ -z "$NODE_PATH" ]; then
40
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/oxfmt@0.66.0/node_modules/oxfmt/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/oxfmt@0.66.0/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules"
41
+ else
42
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/oxfmt@0.66.0/node_modules/oxfmt/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/oxfmt@0.66.0/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules:$NODE_PATH"
43
+ fi
44
+ if [ -n "$exe" ] && [ -x "$basedir/node.exe" ]; then
45
+ exec "$basedir/node.exe" "$basedir_win/../oxfmt/bin/oxfmt" "$@"
46
+ elif [ -x "$basedir/node" ]; then
47
+ exec "$basedir/node" "$basedir/../oxfmt/bin/oxfmt" "$@"
48
+ elif command -v node >/dev/null 2>&1; then
49
+ exec node "$basedir/../oxfmt/bin/oxfmt" "$@"
50
+ elif [ -n "$exe" ] && command -v node.exe >/dev/null 2>&1; then
51
+ exec node.exe "$basedir_win/../oxfmt/bin/oxfmt" "$@"
52
+ else
53
+ exec node "$basedir/../oxfmt/bin/oxfmt" "$@"
54
+ fi
55
+ # cmd-shim-target=/home/runner/work/sdk/sdk/packages/create-sdk/templates/executor/node_modules/oxfmt/bin/oxfmt
@@ -0,0 +1,55 @@
1
+ #!/bin/sh
2
+ # Resolve $0 through symlinks so basedir is the shim's real directory.
3
+ # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
+ link="$0"
5
+ hops=0
6
+ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
7
+ hops=$((hops+1))
8
+ target=$(readlink "$link")
9
+ case "$target" in
10
+ /*) link="$target" ;;
11
+ *) link="$(dirname "$link")/$target" ;;
12
+ esac
13
+ done
14
+ basedir=$(dirname "$(echo "$link" | sed -e 's,\\,/,g')")
15
+ basedir_win="$basedir"
16
+ exe=""
17
+ msys=""
18
+
19
+ case `uname -a` in
20
+ *CYGWIN*|*MINGW*|*MSYS*)
21
+ if command -v cygpath > /dev/null 2>&1; then
22
+ basedir_win=`cygpath -w "$basedir"`
23
+ fi
24
+ exe=".exe"
25
+ msys="true"
26
+ ;;
27
+ *WSL2*)
28
+ if command -v wslpath > /dev/null 2>&1; then
29
+ basedir_win="$(wslpath -w "$basedir" 2> /dev/null)"
30
+ if [ $? -ne 0 ] || [ -z "$basedir_win" ]; then
31
+ basedir_win="$basedir"
32
+ else
33
+ exe=".exe"
34
+ fi
35
+ fi
36
+ ;;
37
+ esac
38
+
39
+ if [ -z "$NODE_PATH" ]; then
40
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/oxlint@1.81.0_oxlint-tsgolint@7.0.2001/node_modules/oxlint/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/oxlint@1.81.0_oxlint-tsgolint@7.0.2001/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules"
41
+ else
42
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/oxlint@1.81.0_oxlint-tsgolint@7.0.2001/node_modules/oxlint/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/oxlint@1.81.0_oxlint-tsgolint@7.0.2001/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules:$NODE_PATH"
43
+ fi
44
+ if [ -n "$exe" ] && [ -x "$basedir/node.exe" ]; then
45
+ exec "$basedir/node.exe" "$basedir_win/../oxlint/bin/oxlint" "$@"
46
+ elif [ -x "$basedir/node" ]; then
47
+ exec "$basedir/node" "$basedir/../oxlint/bin/oxlint" "$@"
48
+ elif command -v node >/dev/null 2>&1; then
49
+ exec node "$basedir/../oxlint/bin/oxlint" "$@"
50
+ elif [ -n "$exe" ] && command -v node.exe >/dev/null 2>&1; then
51
+ exec node.exe "$basedir_win/../oxlint/bin/oxlint" "$@"
52
+ else
53
+ exec node "$basedir/../oxlint/bin/oxlint" "$@"
54
+ fi
55
+ # cmd-shim-target=/home/runner/work/sdk/sdk/packages/create-sdk/templates/executor/node_modules/oxlint/bin/oxlint
@@ -0,0 +1,55 @@
1
+ #!/bin/sh
2
+ # Resolve $0 through symlinks so basedir is the shim's real directory.
3
+ # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
+ link="$0"
5
+ hops=0
6
+ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
7
+ hops=$((hops+1))
8
+ target=$(readlink "$link")
9
+ case "$target" in
10
+ /*) link="$target" ;;
11
+ *) link="$(dirname "$link")/$target" ;;
12
+ esac
13
+ done
14
+ basedir=$(dirname "$(echo "$link" | sed -e 's,\\,/,g')")
15
+ basedir_win="$basedir"
16
+ exe=""
17
+ msys=""
18
+
19
+ case `uname -a` in
20
+ *CYGWIN*|*MINGW*|*MSYS*)
21
+ if command -v cygpath > /dev/null 2>&1; then
22
+ basedir_win=`cygpath -w "$basedir"`
23
+ fi
24
+ exe=".exe"
25
+ msys="true"
26
+ ;;
27
+ *WSL2*)
28
+ if command -v wslpath > /dev/null 2>&1; then
29
+ basedir_win="$(wslpath -w "$basedir" 2> /dev/null)"
30
+ if [ $? -ne 0 ] || [ -z "$basedir_win" ]; then
31
+ basedir_win="$basedir"
32
+ else
33
+ exe=".exe"
34
+ fi
35
+ fi
36
+ ;;
37
+ esac
38
+
39
+ if [ -z "$NODE_PATH" ]; then
40
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules"
41
+ else
42
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules:$NODE_PATH"
43
+ fi
44
+ if [ -n "$exe" ] && [ -x "$basedir/node.exe" ]; then
45
+ exec "$basedir/node.exe" "$basedir_win/../@tailor-platform/sdk/bin/tailor.mjs" "$@"
46
+ elif [ -x "$basedir/node" ]; then
47
+ exec "$basedir/node" "$basedir/../@tailor-platform/sdk/bin/tailor.mjs" "$@"
48
+ elif command -v node >/dev/null 2>&1; then
49
+ exec node "$basedir/../@tailor-platform/sdk/bin/tailor.mjs" "$@"
50
+ elif [ -n "$exe" ] && command -v node.exe >/dev/null 2>&1; then
51
+ exec node.exe "$basedir_win/../@tailor-platform/sdk/bin/tailor.mjs" "$@"
52
+ else
53
+ exec node "$basedir/../@tailor-platform/sdk/bin/tailor.mjs" "$@"
54
+ fi
55
+ # cmd-shim-target=/home/runner/work/sdk/sdk/packages/create-sdk/templates/executor/node_modules/@tailor-platform/sdk/./bin/tailor.mjs
@@ -0,0 +1,55 @@
1
+ #!/bin/sh
2
+ # Resolve $0 through symlinks so basedir is the shim's real directory.
3
+ # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
+ link="$0"
5
+ hops=0
6
+ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
7
+ hops=$((hops+1))
8
+ target=$(readlink "$link")
9
+ case "$target" in
10
+ /*) link="$target" ;;
11
+ *) link="$(dirname "$link")/$target" ;;
12
+ esac
13
+ done
14
+ basedir=$(dirname "$(echo "$link" | sed -e 's,\\,/,g')")
15
+ basedir_win="$basedir"
16
+ exe=""
17
+ msys=""
18
+
19
+ case `uname -a` in
20
+ *CYGWIN*|*MINGW*|*MSYS*)
21
+ if command -v cygpath > /dev/null 2>&1; then
22
+ basedir_win=`cygpath -w "$basedir"`
23
+ fi
24
+ exe=".exe"
25
+ msys="true"
26
+ ;;
27
+ *WSL2*)
28
+ if command -v wslpath > /dev/null 2>&1; then
29
+ basedir_win="$(wslpath -w "$basedir" 2> /dev/null)"
30
+ if [ $? -ne 0 ] || [ -z "$basedir_win" ]; then
31
+ basedir_win="$basedir"
32
+ else
33
+ exe=".exe"
34
+ fi
35
+ fi
36
+ ;;
37
+ esac
38
+
39
+ if [ -z "$NODE_PATH" ]; then
40
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/typescript@6.0.3/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules"
41
+ else
42
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/typescript@6.0.3/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules:$NODE_PATH"
43
+ fi
44
+ if [ -n "$exe" ] && [ -x "$basedir/node.exe" ]; then
45
+ exec "$basedir/node.exe" "$basedir_win/../typescript/bin/tsc" "$@"
46
+ elif [ -x "$basedir/node" ]; then
47
+ exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
48
+ elif command -v node >/dev/null 2>&1; then
49
+ exec node "$basedir/../typescript/bin/tsc" "$@"
50
+ elif [ -n "$exe" ] && command -v node.exe >/dev/null 2>&1; then
51
+ exec node.exe "$basedir_win/../typescript/bin/tsc" "$@"
52
+ else
53
+ exec node "$basedir/../typescript/bin/tsc" "$@"
54
+ fi
55
+ # cmd-shim-target=/home/runner/work/sdk/sdk/packages/create-sdk/templates/executor/node_modules/typescript/./bin/tsc
@@ -0,0 +1,55 @@
1
+ #!/bin/sh
2
+ # Resolve $0 through symlinks so basedir is the shim's real directory.
3
+ # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
+ link="$0"
5
+ hops=0
6
+ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
7
+ hops=$((hops+1))
8
+ target=$(readlink "$link")
9
+ case "$target" in
10
+ /*) link="$target" ;;
11
+ *) link="$(dirname "$link")/$target" ;;
12
+ esac
13
+ done
14
+ basedir=$(dirname "$(echo "$link" | sed -e 's,\\,/,g')")
15
+ basedir_win="$basedir"
16
+ exe=""
17
+ msys=""
18
+
19
+ case `uname -a` in
20
+ *CYGWIN*|*MINGW*|*MSYS*)
21
+ if command -v cygpath > /dev/null 2>&1; then
22
+ basedir_win=`cygpath -w "$basedir"`
23
+ fi
24
+ exe=".exe"
25
+ msys="true"
26
+ ;;
27
+ *WSL2*)
28
+ if command -v wslpath > /dev/null 2>&1; then
29
+ basedir_win="$(wslpath -w "$basedir" 2> /dev/null)"
30
+ if [ $? -ne 0 ] || [ -z "$basedir_win" ]; then
31
+ basedir_win="$basedir"
32
+ else
33
+ exe=".exe"
34
+ fi
35
+ fi
36
+ ;;
37
+ esac
38
+
39
+ if [ -z "$NODE_PATH" ]; then
40
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/oxlint-tsgolint@7.0.2001/node_modules/oxlint-tsgolint/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/oxlint-tsgolint@7.0.2001/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules"
41
+ else
42
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/oxlint-tsgolint@7.0.2001/node_modules/oxlint-tsgolint/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/oxlint-tsgolint@7.0.2001/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules:$NODE_PATH"
43
+ fi
44
+ if [ -n "$exe" ] && [ -x "$basedir/node.exe" ]; then
45
+ exec "$basedir/node.exe" "$basedir_win/../oxlint-tsgolint/bin/tsgolint.js" "$@"
46
+ elif [ -x "$basedir/node" ]; then
47
+ exec "$basedir/node" "$basedir/../oxlint-tsgolint/bin/tsgolint.js" "$@"
48
+ elif command -v node >/dev/null 2>&1; then
49
+ exec node "$basedir/../oxlint-tsgolint/bin/tsgolint.js" "$@"
50
+ elif [ -n "$exe" ] && command -v node.exe >/dev/null 2>&1; then
51
+ exec node.exe "$basedir_win/../oxlint-tsgolint/bin/tsgolint.js" "$@"
52
+ else
53
+ exec node "$basedir/../oxlint-tsgolint/bin/tsgolint.js" "$@"
54
+ fi
55
+ # cmd-shim-target=/home/runner/work/sdk/sdk/packages/create-sdk/templates/executor/node_modules/oxlint-tsgolint/./bin/tsgolint.js
@@ -0,0 +1,55 @@
1
+ #!/bin/sh
2
+ # Resolve $0 through symlinks so basedir is the shim's real directory.
3
+ # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
+ link="$0"
5
+ hops=0
6
+ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
7
+ hops=$((hops+1))
8
+ target=$(readlink "$link")
9
+ case "$target" in
10
+ /*) link="$target" ;;
11
+ *) link="$(dirname "$link")/$target" ;;
12
+ esac
13
+ done
14
+ basedir=$(dirname "$(echo "$link" | sed -e 's,\\,/,g')")
15
+ basedir_win="$basedir"
16
+ exe=""
17
+ msys=""
18
+
19
+ case `uname -a` in
20
+ *CYGWIN*|*MINGW*|*MSYS*)
21
+ if command -v cygpath > /dev/null 2>&1; then
22
+ basedir_win=`cygpath -w "$basedir"`
23
+ fi
24
+ exe=".exe"
25
+ msys="true"
26
+ ;;
27
+ *WSL2*)
28
+ if command -v wslpath > /dev/null 2>&1; then
29
+ basedir_win="$(wslpath -w "$basedir" 2> /dev/null)"
30
+ if [ $? -ne 0 ] || [ -z "$basedir_win" ]; then
31
+ basedir_win="$basedir"
32
+ else
33
+ exe=".exe"
34
+ fi
35
+ fi
36
+ ;;
37
+ esac
38
+
39
+ if [ -z "$NODE_PATH" ]; then
40
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/typescript@6.0.3/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules"
41
+ else
42
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/typescript@6.0.3/node_modules/typescript/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/typescript@6.0.3/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules:$NODE_PATH"
43
+ fi
44
+ if [ -n "$exe" ] && [ -x "$basedir/node.exe" ]; then
45
+ exec "$basedir/node.exe" "$basedir_win/../typescript/bin/tsserver" "$@"
46
+ elif [ -x "$basedir/node" ]; then
47
+ exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
48
+ elif command -v node >/dev/null 2>&1; then
49
+ exec node "$basedir/../typescript/bin/tsserver" "$@"
50
+ elif [ -n "$exe" ] && command -v node.exe >/dev/null 2>&1; then
51
+ exec node.exe "$basedir_win/../typescript/bin/tsserver" "$@"
52
+ else
53
+ exec node "$basedir/../typescript/bin/tsserver" "$@"
54
+ fi
55
+ # cmd-shim-target=/home/runner/work/sdk/sdk/packages/create-sdk/templates/executor/node_modules/typescript/./bin/tsserver
@@ -0,0 +1,55 @@
1
+ #!/bin/sh
2
+ # Resolve $0 through symlinks so basedir is the shim's real directory.
3
+ # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
+ link="$0"
5
+ hops=0
6
+ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
7
+ hops=$((hops+1))
8
+ target=$(readlink "$link")
9
+ case "$target" in
10
+ /*) link="$target" ;;
11
+ *) link="$(dirname "$link")/$target" ;;
12
+ esac
13
+ done
14
+ basedir=$(dirname "$(echo "$link" | sed -e 's,\\,/,g')")
15
+ basedir_win="$basedir"
16
+ exe=""
17
+ msys=""
18
+
19
+ case `uname -a` in
20
+ *CYGWIN*|*MINGW*|*MSYS*)
21
+ if command -v cygpath > /dev/null 2>&1; then
22
+ basedir_win=`cygpath -w "$basedir"`
23
+ fi
24
+ exe=".exe"
25
+ msys="true"
26
+ ;;
27
+ *WSL2*)
28
+ if command -v wslpath > /dev/null 2>&1; then
29
+ basedir_win="$(wslpath -w "$basedir" 2> /dev/null)"
30
+ if [ $? -ne 0 ] || [ -z "$basedir_win" ]; then
31
+ basedir_win="$basedir"
32
+ else
33
+ exe=".exe"
34
+ fi
35
+ fi
36
+ ;;
37
+ esac
38
+
39
+ if [ -z "$NODE_PATH" ]; then
40
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/vitest@5.0.0_@opentelemetry+api@1.9.1_@types+node@24.13.4_@vitest+coverage-v8@5.0.0_vit_9537d0eae3d455743a86158ad92f325f/node_modules/vitest/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/vitest@5.0.0_@opentelemetry+api@1.9.1_@types+node@24.13.4_@vitest+coverage-v8@5.0.0_vit_9537d0eae3d455743a86158ad92f325f/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules"
41
+ else
42
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/vitest@5.0.0_@opentelemetry+api@1.9.1_@types+node@24.13.4_@vitest+coverage-v8@5.0.0_vit_9537d0eae3d455743a86158ad92f325f/node_modules/vitest/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/vitest@5.0.0_@opentelemetry+api@1.9.1_@types+node@24.13.4_@vitest+coverage-v8@5.0.0_vit_9537d0eae3d455743a86158ad92f325f/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules:$NODE_PATH"
43
+ fi
44
+ if [ -n "$exe" ] && [ -x "$basedir/node.exe" ]; then
45
+ exec "$basedir/node.exe" "$basedir_win/../vitest/vitest.mjs" "$@"
46
+ elif [ -x "$basedir/node" ]; then
47
+ exec "$basedir/node" "$basedir/../vitest/vitest.mjs" "$@"
48
+ elif command -v node >/dev/null 2>&1; then
49
+ exec node "$basedir/../vitest/vitest.mjs" "$@"
50
+ elif [ -n "$exe" ] && command -v node.exe >/dev/null 2>&1; then
51
+ exec node.exe "$basedir_win/../vitest/vitest.mjs" "$@"
52
+ else
53
+ exec node "$basedir/../vitest/vitest.mjs" "$@"
54
+ fi
55
+ # cmd-shim-target=/home/runner/work/sdk/sdk/packages/create-sdk/templates/executor/node_modules/vitest/./vitest.mjs
@@ -14,9 +14,9 @@
14
14
  "typecheck": "tsc --noEmit"
15
15
  },
16
16
  "devDependencies": {
17
- "@tailor-platform/eslint-plugin-sdk": "0.2.3",
18
- "@tailor-platform/sdk": "2.15.0",
19
- "@types/node": "24.13.3",
17
+ "@tailor-platform/eslint-plugin-sdk": "0.3.0",
18
+ "@tailor-platform/sdk": "2.17.0",
19
+ "@types/node": "24.13.4",
20
20
  "oxfmt": "0.66.0",
21
21
  "oxlint": "1.81.0",
22
22
  "oxlint-tsgolint": "7.0.2001",
@@ -0,0 +1,2 @@
1
+ node_modules/
2
+ .tailor/
@@ -16,8 +16,17 @@
16
16
  "ignorePatterns": [".tailor/", "src/generated/", "src/seed/", "tailor.d.ts"],
17
17
  "rules": {
18
18
  "tailor-sdk/no-api-prefix-in-path-pattern": "warn",
19
+ "tailor-sdk/no-direct-exec-job-function": "warn",
19
20
  "tailor-sdk/no-execute-script-arg-stringify": "warn",
21
+ "tailor-sdk/no-job-start-outside-body": "warn",
22
+ "tailor-sdk/no-node-builtin-imports": "warn",
23
+ "tailor-sdk/no-node-only-globals": "warn",
20
24
  "tailor-sdk/no-unconditional-permit": "warn",
25
+ "tailor-sdk/valid-execution-policy-definition": "warn",
26
+ "tailor-sdk/valid-resolver-permission": "warn",
27
+ "tailor-sdk/valid-workflow-exports": "warn",
28
+ "tailor-sdk/valid-workflow-job-definition": "warn",
29
+ "tailor-sdk/valid-workflow-retry-policy": "warn",
21
30
  "import/default": "off",
22
31
  "import/namespace": "off",
23
32
  "import/no-duplicates": ["error", { "considerQueryString": true }],
@@ -0,0 +1,55 @@
1
+ #!/bin/sh
2
+ # Resolve $0 through symlinks so basedir is the shim's real directory.
3
+ # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
+ link="$0"
5
+ hops=0
6
+ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
7
+ hops=$((hops+1))
8
+ target=$(readlink "$link")
9
+ case "$target" in
10
+ /*) link="$target" ;;
11
+ *) link="$(dirname "$link")/$target" ;;
12
+ esac
13
+ done
14
+ basedir=$(dirname "$(echo "$link" | sed -e 's,\\,/,g')")
15
+ basedir_win="$basedir"
16
+ exe=""
17
+ msys=""
18
+
19
+ case `uname -a` in
20
+ *CYGWIN*|*MINGW*|*MSYS*)
21
+ if command -v cygpath > /dev/null 2>&1; then
22
+ basedir_win=`cygpath -w "$basedir"`
23
+ fi
24
+ exe=".exe"
25
+ msys="true"
26
+ ;;
27
+ *WSL2*)
28
+ if command -v wslpath > /dev/null 2>&1; then
29
+ basedir_win="$(wslpath -w "$basedir" 2> /dev/null)"
30
+ if [ $? -ne 0 ] || [ -z "$basedir_win" ]; then
31
+ basedir_win="$basedir"
32
+ else
33
+ exe=".exe"
34
+ fi
35
+ fi
36
+ ;;
37
+ esac
38
+
39
+ if [ -z "$NODE_PATH" ]; then
40
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/oxfmt@0.66.0/node_modules/oxfmt/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/oxfmt@0.66.0/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules"
41
+ else
42
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/oxfmt@0.66.0/node_modules/oxfmt/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/oxfmt@0.66.0/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules:$NODE_PATH"
43
+ fi
44
+ if [ -n "$exe" ] && [ -x "$basedir/node.exe" ]; then
45
+ exec "$basedir/node.exe" "$basedir_win/../oxfmt/bin/oxfmt" "$@"
46
+ elif [ -x "$basedir/node" ]; then
47
+ exec "$basedir/node" "$basedir/../oxfmt/bin/oxfmt" "$@"
48
+ elif command -v node >/dev/null 2>&1; then
49
+ exec node "$basedir/../oxfmt/bin/oxfmt" "$@"
50
+ elif [ -n "$exe" ] && command -v node.exe >/dev/null 2>&1; then
51
+ exec node.exe "$basedir_win/../oxfmt/bin/oxfmt" "$@"
52
+ else
53
+ exec node "$basedir/../oxfmt/bin/oxfmt" "$@"
54
+ fi
55
+ # cmd-shim-target=/home/runner/work/sdk/sdk/packages/create-sdk/templates/generators/node_modules/oxfmt/bin/oxfmt
@@ -0,0 +1,55 @@
1
+ #!/bin/sh
2
+ # Resolve $0 through symlinks so basedir is the shim's real directory.
3
+ # Cap hops at the kernel's ELOOP limit so a cycle cannot hang the shim.
4
+ link="$0"
5
+ hops=0
6
+ while [ -L "$link" ] && [ "$hops" -lt 40 ]; do
7
+ hops=$((hops+1))
8
+ target=$(readlink "$link")
9
+ case "$target" in
10
+ /*) link="$target" ;;
11
+ *) link="$(dirname "$link")/$target" ;;
12
+ esac
13
+ done
14
+ basedir=$(dirname "$(echo "$link" | sed -e 's,\\,/,g')")
15
+ basedir_win="$basedir"
16
+ exe=""
17
+ msys=""
18
+
19
+ case `uname -a` in
20
+ *CYGWIN*|*MINGW*|*MSYS*)
21
+ if command -v cygpath > /dev/null 2>&1; then
22
+ basedir_win=`cygpath -w "$basedir"`
23
+ fi
24
+ exe=".exe"
25
+ msys="true"
26
+ ;;
27
+ *WSL2*)
28
+ if command -v wslpath > /dev/null 2>&1; then
29
+ basedir_win="$(wslpath -w "$basedir" 2> /dev/null)"
30
+ if [ $? -ne 0 ] || [ -z "$basedir_win" ]; then
31
+ basedir_win="$basedir"
32
+ else
33
+ exe=".exe"
34
+ fi
35
+ fi
36
+ ;;
37
+ esac
38
+
39
+ if [ -z "$NODE_PATH" ]; then
40
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/oxlint@1.81.0_oxlint-tsgolint@7.0.2001/node_modules/oxlint/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/oxlint@1.81.0_oxlint-tsgolint@7.0.2001/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules"
41
+ else
42
+ export NODE_PATH="/home/runner/work/sdk/sdk/node_modules/.pnpm/oxlint@1.81.0_oxlint-tsgolint@7.0.2001/node_modules/oxlint/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/oxlint@1.81.0_oxlint-tsgolint@7.0.2001/node_modules:/home/runner/work/sdk/sdk/node_modules/.pnpm/node_modules:$NODE_PATH"
43
+ fi
44
+ if [ -n "$exe" ] && [ -x "$basedir/node.exe" ]; then
45
+ exec "$basedir/node.exe" "$basedir_win/../oxlint/bin/oxlint" "$@"
46
+ elif [ -x "$basedir/node" ]; then
47
+ exec "$basedir/node" "$basedir/../oxlint/bin/oxlint" "$@"
48
+ elif command -v node >/dev/null 2>&1; then
49
+ exec node "$basedir/../oxlint/bin/oxlint" "$@"
50
+ elif [ -n "$exe" ] && command -v node.exe >/dev/null 2>&1; then
51
+ exec node.exe "$basedir_win/../oxlint/bin/oxlint" "$@"
52
+ else
53
+ exec node "$basedir/../oxlint/bin/oxlint" "$@"
54
+ fi
55
+ # cmd-shim-target=/home/runner/work/sdk/sdk/packages/create-sdk/templates/generators/node_modules/oxlint/bin/oxlint