sandstone-cli 2.3.2 → 2.4.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.
File without changes
@@ -1,31 +1,97 @@
1
- name: Node.js Publish
1
+ name: Publish to npm
2
2
 
3
3
  on:
4
- release:
5
- types: [created]
6
- # Allows you to run this workflow manually from the Actions tab
4
+ push:
5
+ tags:
6
+ - 'v*'
7
7
  workflow_dispatch:
8
8
 
9
+ permissions:
10
+ id-token: write
11
+ contents: write
12
+
9
13
  jobs:
10
14
  publish:
15
+ environment: release
11
16
  runs-on: ubuntu-latest
12
17
  steps:
13
- - uses: actions/checkout@v1
14
- - uses: actions/setup-node@v1
18
+ - uses: actions/checkout@v6
15
19
  with:
16
- node-version: 16
17
- - uses: pnpm/action-setup@v2
20
+ fetch-depth: 0
21
+
22
+ - name: Setup Bun
23
+ uses: oven-sh/setup-bun@v2
24
+
25
+ - name: Setup Node.js
26
+ uses: actions/setup-node@v6
18
27
  with:
19
- version: 8
20
- - run: pnpm install -f
21
- - run: pnpm install @types/node
22
- - run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ./.npmrc
23
- env:
24
- NPM_TOKEN: ${{secrets.npm_token}}
25
- - run: pnpm run build && npm publish
26
- env:
27
- NPM_TOKEN: ${{secrets.npm_token}}
28
- - run: sed -i 's/sandstone-cli/create-sandstone/g' package.json
29
- - run: npm publish
28
+ node-version: '24'
29
+ registry-url: 'https://registry.npmjs.org'
30
+
31
+ # Because GitHub & NPM can't figure out their shit
32
+ - name: Update NPM
33
+ run: npm install -g npm@latest
34
+
35
+ - name: Install dependencies
36
+ run: bun install
37
+
38
+ - name: Build
39
+ run: bun dev:build
40
+
41
+ - name: Publish sandstone-cli
42
+ run: npm publish --provenance
43
+
44
+ - name: Publish create-sandstone
45
+ run: |
46
+ sed -i 's/"sandstone-cli"/"create-sandstone"/g' package.json
47
+ npm publish --provenance
48
+
49
+ - name: Prepare release metadata
50
+ id: release
51
+ run: |
52
+ TAG="${GITHUB_REF_NAME}"
53
+ PREV_TAG=$(git tag --sort=-v:refname | grep -v "^${TAG}$" | head -n1)
54
+ echo "prev_tag=${PREV_TAG}" >> $GITHUB_OUTPUT
55
+
56
+ # Get commit message
57
+ COMMIT_MSG=$(git log -1 --format=%B)
58
+ COMMIT_TITLE=$(echo "$COMMIT_MSG" | head -n1)
59
+ COMMIT_BODY=$(echo "$COMMIT_MSG" | tail -n +3)
60
+
61
+ # Remove emoji prefix from title
62
+ CLEAN_TITLE=$(echo "$COMMIT_TITLE" | sed -E 's/^[^ ]+ //')
63
+
64
+ # Release title
65
+ echo "title=${TAG} - ${CLEAN_TITLE}" >> $GITHUB_OUTPUT
66
+
67
+ # Build release body
68
+ {
69
+ if [[ -n "$COMMIT_BODY" ]]; then
70
+ echo "$COMMIT_BODY"
71
+ echo ""
72
+ fi
73
+
74
+ if [[ -n "$PREV_TAG" ]]; then
75
+ echo "<details>"
76
+ echo "<summary>Commits since ${PREV_TAG}</summary>"
77
+ echo ""
78
+ for COMMIT in $(git log --format="%H" "${PREV_TAG}..${TAG}"); do
79
+ SUBJECT=$(git log -1 --format="%s" "$COMMIT")
80
+ AUTHOR=$(git log -1 --format="%an" "$COMMIT")
81
+ COAUTHORS=$(git log -1 --format="%(trailers:key=Co-authored-by,valueonly)" "$COMMIT" | sed -n 's/\(.*\) <.*/\1/p' | sed 's/^/, @/')
82
+ echo "- $COMMIT $SUBJECT (@${AUTHOR}${COAUTHORS})"
83
+ done
84
+ echo ""
85
+ echo "</details>"
86
+ echo ""
87
+ echo "**Full Changelog**: [${PREV_TAG}...${TAG}](https://github.com/sandstone-mc/sandstone-cli/compare/${PREV_TAG}...${TAG})"
88
+ fi
89
+ } > release_body.md
90
+
91
+ - name: Create GitHub Release
30
92
  env:
31
- NPM_TOKEN: ${{secrets.npm_token}}
93
+ GH_TOKEN: ${{ github.token }}
94
+ run: |
95
+ gh release create "${{ github.ref_name }}" \
96
+ --title "${{ steps.release.outputs.title }}" \
97
+ --notes-file release_body.md
package/LICENSE CHANGED
File without changes
package/README.md CHANGED
@@ -24,3 +24,9 @@ USAGE
24
24
  ...
25
25
  ```
26
26
  <!-- usagestop -->
27
+
28
+ # Development
29
+ ```sh-session
30
+ $ bun dev:build
31
+ $ bun link
32
+ ```
package/bun.lock CHANGED
@@ -22,6 +22,7 @@
22
22
  "obliterator": "^2.0.5",
23
23
  "react": "^19.2.4",
24
24
  "semver": "^7.5.4",
25
+ "source-map-js": "^1.2.1",
25
26
  },
26
27
  "devDependencies": {
27
28
  "@types/adm-zip": "^0.5.2",
@@ -31,12 +32,13 @@
31
32
  "@types/semver": "^7.5.3",
32
33
  "bun-types": "^1.3.9",
33
34
  "node-pty": "^1.1.0",
34
- "sandstone": "^1.0.0-beta.3",
35
+ "sandstone": "^1.0.0-beta.4",
35
36
  "typescript": "^5.2.2",
36
37
  },
37
38
  },
38
39
  },
39
40
  "trustedDependencies": [
41
+ "node-pty",
40
42
  "@parcel/watcher",
41
43
  ],
42
44
  "packages": {
@@ -144,7 +146,7 @@
144
146
 
145
147
  "adm-zip": ["adm-zip@0.5.16", "", {}, "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ=="],
146
148
 
147
- "ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="],
149
+ "ajv": ["ajv@6.14.0", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw=="],
148
150
 
149
151
  "ansi-escapes": ["ansi-escapes@7.2.0", "", { "dependencies": { "environment": "^1.0.0" } }, "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw=="],
150
152
 
@@ -282,11 +284,11 @@
282
284
 
283
285
  "jsonstream-next": ["jsonstream-next@3.0.0", "", { "dependencies": { "jsonparse": "^1.2.0", "through2": "^4.0.2" }, "bin": { "jsonstream-next": "bin.js" } }, "sha512-aAi6oPhdt7BKyQn1SrIIGZBt0ukKuOUE1qV6kJ3GgioSOYzsRc8z9Hfr1BVmacA/jLe9nARfmgMGgn68BqIAgg=="],
284
286
 
285
- "lodash": ["lodash@4.17.23", "", {}, "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w=="],
287
+ "lodash": ["lodash@4.18.1", "", {}, "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q=="],
286
288
 
287
289
  "lodash.reduce": ["lodash.reduce@4.6.0", "", {}, "sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw=="],
288
290
 
289
- "lru-cache": ["lru-cache@11.2.6", "", {}, "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ=="],
291
+ "lru-cache": ["lru-cache@11.3.3", "", {}, "sha512-JvNw9Y81y33E+BEYPr0U7omo+U9AySnsMsEiXgwT6yqd31VQWTLNQqmT4ou5eqPFUrTfIDFta2wKhB1hyohtAQ=="],
290
292
 
291
293
  "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="],
292
294
 
@@ -294,7 +296,7 @@
294
296
 
295
297
  "mimic-fn": ["mimic-fn@2.1.0", "", {}, "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="],
296
298
 
297
- "moo": ["moo@0.5.2", "", {}, "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q=="],
299
+ "moo": ["moo@0.5.3", "", {}, "sha512-m2fmM2dDm7GZQsY7KK2cme8agi+AAljILjQnof7p1ZMDe6dQ4bdnSMx0cPppudoeNv5hEFQirN6u+O4fDE0IWA=="],
298
300
 
299
301
  "mute-stream": ["mute-stream@3.0.0", "", {}, "sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw=="],
300
302
 
@@ -370,7 +372,7 @@
370
372
 
371
373
  "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
372
374
 
373
- "sandstone": ["sandstone@1.0.0-beta.3", "", { "dependencies": { "@sinclair/typebox": "^0.31.21", "@smithed-mc/data-types": "^0.1.2", "@types/nearley": "^2.11.5", "@types/node": "24", "@typescript/analyze-trace": "^0.4.0", "adm-zip": "^0.5.10", "fs-extra": "^11.1.1", "lodash": "^4.17.21", "nanoid": "^3.3.6", "nearley": "^2.20.1", "node-fetch": "^3.3.2", "prismarine-nbt": "^2.2.1", "semver": "^7.5.4" } }, "sha512-aQNz7uxBQW+B5mQshFiFnTt81ecc77KIih7jDvryM0kdhqtOuF5hwxR7vi3RXvTWkrLVGpnW/D3qClj3ufD0FQ=="],
375
+ "sandstone": ["sandstone@1.0.0-beta.4", "", { "dependencies": { "@sinclair/typebox": "^0.31.21", "@smithed-mc/data-types": "^0.1.2", "@types/nearley": "^2.11.5", "@types/node": "24", "@typescript/analyze-trace": "^0.4.0", "adm-zip": "^0.5.10", "fs-extra": "^11.1.1", "lodash": "^4.17.21", "nanoid": "^3.3.6", "nearley": "^2.20.1", "node-fetch": "^3.3.2", "prismarine-nbt": "^2.2.1", "semver": "^7.5.4" } }, "sha512-aByaHl2SpcTU4MaLF/aboOpV4KhOxC9v20I0p9QMQTsxCEBoT2Ub+B+VlpM/6G4g8vUQQkx8qw6/i6p26e9P8Q=="],
374
376
 
375
377
  "scheduler": ["scheduler@0.27.0", "", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="],
376
378
 
@@ -382,13 +384,15 @@
382
384
 
383
385
  "slice-ansi": ["slice-ansi@7.1.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "is-fullwidth-code-point": "^5.0.0" } }, "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w=="],
384
386
 
387
+ "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
388
+
385
389
  "spdx-correct": ["spdx-correct@3.2.0", "", { "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA=="],
386
390
 
387
391
  "spdx-exceptions": ["spdx-exceptions@2.5.0", "", {}, "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w=="],
388
392
 
389
393
  "spdx-expression-parse": ["spdx-expression-parse@3.0.1", "", { "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q=="],
390
394
 
391
- "spdx-license-ids": ["spdx-license-ids@3.0.22", "", {}, "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ=="],
395
+ "spdx-license-ids": ["spdx-license-ids@3.0.23", "", {}, "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw=="],
392
396
 
393
397
  "split2": ["split2@3.2.2", "", { "dependencies": { "readable-stream": "^3.0.0" } }, "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg=="],
394
398
 
@@ -458,17 +462,17 @@
458
462
 
459
463
  "figlet/commander": ["commander@14.0.2", "", {}, "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ=="],
460
464
 
461
- "micromatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
465
+ "micromatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="],
462
466
 
463
467
  "nearley/commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="],
464
468
 
465
469
  "protodef/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
466
470
 
467
- "read-package-up/type-fest": ["type-fest@5.4.4", "", { "dependencies": { "tagged-tag": "^1.0.0" } }, "sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw=="],
471
+ "read-package-up/type-fest": ["type-fest@5.5.0", "", { "dependencies": { "tagged-tag": "^1.0.0" } }, "sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g=="],
468
472
 
469
- "read-pkg/type-fest": ["type-fest@5.4.4", "", { "dependencies": { "tagged-tag": "^1.0.0" } }, "sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw=="],
473
+ "read-pkg/type-fest": ["type-fest@5.5.0", "", { "dependencies": { "tagged-tag": "^1.0.0" } }, "sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g=="],
470
474
 
471
- "sandstone/@types/node": ["@types/node@24.10.13", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg=="],
475
+ "sandstone/@types/node": ["@types/node@24.12.2", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g=="],
472
476
 
473
477
  "sandstone/nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="],
474
478
 
package/lib/create.js CHANGED
@@ -5,15 +5,29 @@ var __getProtoOf = Object.getPrototypeOf;
5
5
  var __defProp = Object.defineProperty;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ function __accessProp(key) {
9
+ return this[key];
10
+ }
11
+ var __toESMCache_node;
12
+ var __toESMCache_esm;
8
13
  var __toESM = (mod, isNodeMode, target) => {
14
+ var canCache = mod != null && typeof mod === "object";
15
+ if (canCache) {
16
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
17
+ var cached = cache.get(mod);
18
+ if (cached)
19
+ return cached;
20
+ }
9
21
  target = mod != null ? __create(__getProtoOf(mod)) : {};
10
22
  const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
11
23
  for (let key of __getOwnPropNames(mod))
12
24
  if (!__hasOwnProp.call(to, key))
13
25
  __defProp(to, key, {
14
- get: () => mod[key],
26
+ get: __accessProp.bind(mod, key),
15
27
  enumerable: true
16
28
  });
29
+ if (canCache)
30
+ cache.set(mod, to);
17
31
  return to;
18
32
  };
19
33
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
@@ -5680,7 +5694,7 @@ var {
5680
5694
  import figlet from "figlet";
5681
5695
 
5682
5696
  // src/version.ts
5683
- var CLI_VERSION = "2.3.2";
5697
+ var CLI_VERSION = "2.4.0";
5684
5698
 
5685
5699
  // src/commands/create.ts
5686
5700
  var import_semver = __toESM(require_semver2(), 1);
@@ -6789,7 +6803,7 @@ async function createCommand2(_project, opts) {
6789
6803
  default: false
6790
6804
  }) === true ? "library" : "pack";
6791
6805
  const sv = (v) => new import_semver.SemVer(v);
6792
- const versions = [[sv("1.0.0-beta.3"), sv(CLI_VERSION)]];
6806
+ const versions = [[sv("1.0.0-beta.4"), sv(CLI_VERSION)], [sv("1.0.0-beta.3"), sv("2.3.2")]];
6793
6807
  const version = await select({
6794
6808
  message: "Which version of Sandstone do you want to use? These are the only supported versions for new projects.",
6795
6809
  choices: versions.map((v) => {
@@ -6972,3 +6986,5 @@ var BuildOptions = {
6972
6986
  var commander2 = new Command;
6973
6987
  console.log(figlet.textSync("Sandstone"));
6974
6988
  commander2.version(CLI_VERSION).description("Create a new Sandstone project. \u26CF").addOption(BuildOptions.get("name")).addOption(BuildOptions.get("namespace")).addOption(BuildOptions.get("world")).addOption(BuildOptions.get("clientPath")).addOption(BuildOptions.get("serverPath")).action(createCommand2).addArgument(new Argument("<projectName>", "Not the name of the output pack")).parse(process.argv);
6989
+
6990
+ //# debugId=45B3F367D9AC639764756E2164756E21