From 9f7b0df40e208261ebf954300b85369ddd21df0e Mon Sep 17 00:00:00 2001 From: Lu Yifei <118034848+LuYifei2011@users.noreply.github.com> Date: Sun, 8 Nov 2026 14:15:01 +0800 Subject: [PATCH] chore: migrate packager repository metadata to ScCNv5 --- .github/actions/setup-specialized/action.yml | 2 +- .npmrc | 1 - README.md | 8 ++++---- docs/specialized-builds.md | 2 +- node-api-docs/README.md | 8 ++++---- node-api-docs/demo-simple.js | 2 +- node-api-docs/demo.js | 2 +- package.json | 8 ++++---- src/packager/brand.js | 6 +++--- 9 files changed, 19 insertions(+), 20 deletions(-) delete mode 100644 .npmrc diff --git a/.github/actions/setup-specialized/action.yml b/.github/actions/setup-specialized/action.yml index 2a28357..e12185c 100644 --- a/.github/actions/setup-specialized/action.yml +++ b/.github/actions/setup-specialized/action.yml @@ -18,7 +18,7 @@ runs: fi - uses: actions/checkout@v6 with: - repository: ScratchCN/Scratch-vm + repository: ScCNv5/scratch-vm ref: ${{ inputs.vm-ref }} path: scratch-vm persist-credentials: false diff --git a/.npmrc b/.npmrc deleted file mode 100644 index 9dee295..0000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -@sccn:registry=https://git.fmcraft.us.kg/api/packages/ScCN/npm/ diff --git a/README.md b/README.md index fe04f29..b07b1da 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ An independent modified version of [TurboWarp Packager](https://github.com/TurboWarp/packager), focused on offline, program-specific players that jointly compile Scratch scripts and the runtime. See [the build architecture](docs/specialized-builds.md). -Source: https://github.com/LuYifei2011/tw-packager +Source: https://github.com/ScCNv5/packager -Website: https://luyifei2011.github.io/tw-packager/ +Website: https://sccnv5.github.io/packager/ Converts Scratch projects into HTML files, zip archives, or executable programs for Windows, macOS, and Linux. @@ -12,7 +12,7 @@ Compilation and obfuscation are not encryption or DRM. They can make casual insp ## Development -Keep the matching modified `scratch-vm` checkout beside this repository. Install dependencies in both checkouts (Node 22.15 or newer): +Keep the matching modified [`ScCNv5/scratch-vm`](https://github.com/ScCNv5/scratch-vm) checkout beside this repository. Install dependencies in both checkouts (Node 22.15 or newer): ``` npm ci --prefix ../scratch-vm @@ -59,7 +59,7 @@ Note that npm is a very buggy piece of software and our dependency tree is very The packager is deployed as a simple static website. You can host it anywhere by just copying the `dist` folder after a build. -This fork includes `.github/workflows/deploy.yml` for GitHub Pages. In the repository's **Settings → Pages**, set **Source** to **GitHub Actions**. A push to `main`, or a manual run of “Deploy to GitHub Pages”, will test the project, build the production website and standalone version, upload the Pages artifact, and deploy it to `https://luyifei2011.github.io/tw-packager/`. +This fork includes `.github/workflows/deploy.yml` for GitHub Pages. In the repository's **Settings → Pages**, set **Source** to **GitHub Actions**. A push to `main`, or a manual run of “Deploy to GitHub Pages”, will test the project, build the production website and standalone version, upload the Pages artifact, and deploy it to `https://sccnv5.github.io/packager/`. We use GitHub Actions and GitHub Pages to manage our deployment. If you want to do this too: diff --git a/docs/specialized-builds.md b/docs/specialized-builds.md index 46202d5..611fdd4 100644 --- a/docs/specialized-builds.md +++ b/docs/specialized-builds.md @@ -75,7 +75,7 @@ Playwright's Chromium, Firefox and WebKit binaries must be installed for browser To exercise aggressive mode through the public Node API, HTML/ZIP packaging, real browser playback and browser Worker parity, run `node test/specialized-build.mjs --aggressive` and `node test/specialized-worker-input.mjs --aggressive` before `node test/specialized-browser.mjs`. These regenerate the local acceptance artifacts for the selected mode. -CI checks out both repositories as siblings. Set the `SPECIALIZED_VM_REF` repository variable to the full commit SHA containing the matching VM changes; workflows reject an absent or floating revision. No commit is invented or automatically pushed by local builds. `node test/specialized-differential.mjs --linked` runs the same fixture comparison against the complete linked/pruned/renamed production VM, in addition to the faster continuation-only harness. +CI checks out `ScCNv5/scratch-vm` and `ScCNv5/packager` as siblings. Set the `SPECIALIZED_VM_REF` repository variable to the full commit SHA containing the matching VM changes; workflows reject an absent or floating revision. Before enabling CI after a migration or history rewrite, push the matching VM revision to `ScCNv5/scratch-vm`, then set the variable in `ScCNv5/packager` to the SHA printed by `git -C ../scratch-vm rev-parse HEAD`. Local builds do not push commits. `node test/specialized-differential.mjs --linked` runs the same fixture comparison against the complete linked/pruned/renamed production VM, in addition to the faster continuation-only harness. The execution harness covers all 112 existing VM fixtures and compares variables, lists and SAY event order with JS AOT. The linked variant also exercises serialization, pruning and joint transformation; it caught headless target-layer loss and inline legacy primitive registration, both corrected in the implementation. Separate lifecycle tests cover stale Promise completions after stop/restart and completion during pause. Artifact tests reject direct/aliased/computed dynamic evaluation, runtime imports and generators, and inspect source removal, capability removal, seed determinism and dispatch structure. Browser tests prohibit JavaScript dynamic evaluation and exercise playback, API isolation, async extensions, actual WebGL pen pixels and Node/Worker byte equality. diff --git a/node-api-docs/README.md b/node-api-docs/README.md index 40b0d24..5166c82 100644 --- a/node-api-docs/README.md +++ b/node-api-docs/README.md @@ -3,7 +3,7 @@ ## Installing ```bash -npm install --save-exact @luyifei2011/tw-packager +npm install --save-exact @sccn/tw-packager ``` We suggest that you use `--save-exact` (or, with yarn, `--exact`) to make sure you always install the same version. This is important because we don't promise API compatibility across even minor updates. @@ -14,7 +14,7 @@ We suggest that you use `--save-exact` (or, with yarn, `--exact`) to make sure y The Node.js API is still in beta. -There are no promises of API stability between updates even across minor updates. Always pin to an exact version and don't update without testing. We don't go out of our way to break the API, but we don't let it stop us from making changes. We try to mention noteworthy changes in the [GitHub releases](https://github.com/TurboWarp/packager/releases) changelog. +There are no promises of API stability between updates even across minor updates. Always pin to an exact version and don't update without testing. We don't go out of our way to break the API, but we don't let it stop us from making changes. We try to mention noteworthy changes in the [GitHub releases](https://github.com/ScCNv5/packager/releases) changelog. ### Release cadence @@ -34,7 +34,7 @@ The Node.js module as published on npm is not intended to work in a browser rega Large assets such as Electron binaries are not stored in this repository and will be downloaded from a remote server on demand. While we aren't actively removing old files, we can't promise they will exist forever. Downloads are validated with a SHA-256 checksum and cached locally. -Large assets are cached in `node_modules/@luyifei2011/tw-packager/.packager-cache`. You may want to periodically clean this folder. +Large assets are cached in `node_modules/@sccn/tw-packager/.packager-cache`. You may want to periodically clean this folder. ## Using the API @@ -43,7 +43,7 @@ See demo.js or demo-simple.js for a full example. First, you can import the module like this: ```js -const Packager = require('@luyifei2011/tw-packager'); +const Packager = require('@sccn/tw-packager'); ``` ### Load a project diff --git a/node-api-docs/demo-simple.js b/node-api-docs/demo-simple.js index 34ad639..568e85c 100644 --- a/node-api-docs/demo-simple.js +++ b/node-api-docs/demo-simple.js @@ -1,7 +1,7 @@ const fs = require('fs'); const path = require('path'); -// You should use require('@luyifei2011/tw-packager') instead +// You should use require('@sccn/tw-packager') instead // We use a strange require() in this demo because we use this to test the API internally const Packager = require('../dist/packager'); diff --git a/node-api-docs/demo.js b/node-api-docs/demo.js index 03c72b7..d71a9d4 100644 --- a/node-api-docs/demo.js +++ b/node-api-docs/demo.js @@ -2,7 +2,7 @@ const fs = require('fs'); const path = require('path'); const fetch = require('cross-fetch').default; -// You should use require('@luyifei2011/tw-packager') instead +// You should use require('@sccn/tw-packager') instead // We use a strange require() in this demo because we use this to test the API internally const Packager = require('../dist/packager'); diff --git a/package.json b/package.json index f64437f..5df1c11 100644 --- a/package.json +++ b/package.json @@ -25,18 +25,18 @@ "test:specialized-performance": "node test/specialized-performance.mjs", "test:specialized-scratch-benchmark": "node test/specialized-scratch-benchmark.mjs" }, - "author": "LuYifei2011", - "homepage": "https://luyifei2011.github.io/tw-packager/", + "author": "Lu Yifei <118034848+LuYifei2011@users.noreply.github.com>", + "homepage": "https://sccnv5.github.io/packager/", "keywords": [ "scratch", "packager" ], "bugs": { - "url": "https://github.com/LuYifei2011/tw-packager/issues" + "url": "https://github.com/ScCNv5/packager/issues" }, "repository": { "type": "git", - "url": "git+https://github.com/LuYifei2011/tw-packager.git" + "url": "git+https://github.com/ScCNv5/packager.git" }, "license": "MPL-2.0", "dependencies": { diff --git a/src/packager/brand.js b/src/packager/brand.js index 41c24c3..bceb0d7 100644 --- a/src/packager/brand.js +++ b/src/packager/brand.js @@ -31,7 +31,7 @@ If this is set to an empty string, the link is removed. module.exports = { APP_NAME: 'SB3C Packager', - WEBSITE: 'https://luyifei2011.github.io/tw-packager/', + WEBSITE: 'https://sccnv5.github.io/packager/', COPYRIGHT_NOTICE: `SB3C Packager modifications Copyright (C) 2026 SB3C Packager contributors Based on TurboWarp Packager, Copyright (C) 2021-2024 Thomas Weber @@ -40,10 +40,10 @@ The Source Code Form of this program is available under the terms of the Mozilla Public License, v. 2.0. You can obtain a copy of the license at https://www.mozilla.org/en-US/MPL/2.0/.`, ACCENT_COLOR: '#ff4c4c', - SOURCE_CODE: 'https://github.com/LuYifei2011/tw-packager', + SOURCE_CODE: 'https://github.com/ScCNv5/packager', FEEDBACK_PRIMARY: { name: 'GitHub', - link: 'https://github.com/LuYifei2011/tw-packager/issues' + link: 'https://github.com/ScCNv5/packager/issues' }, FEEDBACK_SECONDARY: { name: 'TurboWarp Packager',