راهنمای منبع متناظر و ساخت Stockfish.js 19.0.1، نسخهٔ lite-single

این راهنما، آرشیو اصلی زیر و شبکهٔ NNUE با هم مجموعهٔ منبع متناظر هستند.
هر سه در stockfish-19.0.1-source.tar.gz نیز کنار هم بسته‌بندی شده‌اند.
آرشیو npm موتور، جای منبع C++ نیست و در بستهٔ منبع استفاده نشده است.

نسخه: stockfish npm 19.0.1، نام داخلی موتور Stockfish 19 Lite WASM
مخزن: https://github.com/nmrugg/stockfish.js
تگ: v19.0.1
commit: 0d5dd7944f88c817c07a26bc4fb1905d5f9c46d6
tag object: 8d9ca57043594a8fa6ae0b73fb685d9105bf51df
آرشیو اصلی: stockfish-19.0.1-upstream.tar.gz
SHA-512:
361f2a161b90bdf28ce0abbc34d8f4093ca4b6646927da4000ce05c739dcb973dd0ea87aade8b1e1f2a3cd83e9748910eae8f2323825ee6af4b6e30762b0914a

شبکه: nn-61e7af4bb97d.nnue، اثر Chris Bao (sscg13)
حجم: 1166381 بایت
SHA-256:
61e7af4bb97d51eeeb25d322916f86513b5cd3a827ce189c98c6e31946f99e5b
SHA-512:
891e98e5a633ccc1dd6fe610db2a5f2e6bc73c906e4653e08927f58d610b5ac495c86c34489313bc1778d31f06860db5edd47bdaba34d5427f972fc914b021aa
این شبکه در فایل WASM تعبیه شده است؛ مرورگر به فایل NNUE جداگانه نیاز ندارد.
آزمون محلی، تمام بایت‌های این فایل را در حافظهٔ WASM مقداردهی‌شده پیدا می‌کند.

بازکردن روی محیط توسعهٔ Linux یا محیط سازگار با symlink:

  tar -xzf stockfish-19.0.1-source.tar.gz
  sha512sum stockfish-19.0.1-upstream.tar.gz nn-61e7af4bb97d.nnue
  tar -xzf stockfish-19.0.1-upstream.tar.gz
  cp nn-61e7af4bb97d.nnue stockfish.js-0d5dd7944f88c817c07a26bc4fb1905d5f9c46d6/src/
  cd stockfish.js-0d5dd7944f88c817c07a26bc4fb1905d5f9c46d6

پیش از استخراج، هش‌ها را با مقادیر بالا تطبیق دهید. خود بستهٔ بیرونی نیز
SHA-256 و SHA-512 ثبت‌شده در vendor-manifest.json دارد. آرشیو اصلی بدون
تغییر است و کد C++، src/emscripten، Makefile، build.js، scripts، AUTHORS و
Copying.txt را دارد. symlink نمونهٔ examples/src ممکن است با tar ویندوز
ساخته نشود؛ این محدودیت سیستم استخراج است، نه نقص آرشیو اصلی.

ابزارهای ساخت مورد انتظار بالادست:

- Emscripten 6.0.9 و محیط emsdk آن، شامل emcc/em++ در PATH
- Node.js، GNU make، ابزارهای معمول POSIX و Python مورد نیاز emsdk
- terser دقیقاً 5.51.2 برای minify مطابق devDependencies همین package.json

فقط در محیط توسعهٔ ساخت، وابستگی ابزار را بدون lifecycle نصب کنید:

  npm install --ignore-scripts --no-audit --no-fund
  node build.js --lite --single-threaded --no-split --strict-em-check -f

این دستورات راهنما هستند؛ در آماده‌سازی دارایی‌ها npm install یا lifecycle
اجرا نشده است. بستهٔ ورودی دارای prepare/prepack است؛ نصب بدون
--ignore-scripts یا اجرای npm pack را جای روش دریافتِ قفل‌شده نگذارید.
پرچم --all را استفاده نکنید: آن پرچم نسخه‌ها و شبکهٔ کامل را نیز می‌سازد.

دستور بالا مسیر همان flavor در build.js انتشار را انتخاب می‌کند:
LITE_NET=yes، WASM_SINGLE_THREADED=yes، بدون Syzygy در WASM، بدون split.
اسکریپت، شبکهٔ موجود در src را اعتبارسنجی می‌کند و به دریافت دوباره نیاز ندارد.
خروجی در src/stockfish-19-lite-single.js و src/stockfish-19-lite-single.wasm است.
--no-minify برای ساخت قابل‌خواندن مجاز است، ولی JS با فایل منتشرشده یکسان نخواهد بود.

این نوبت از باینری اصلی npm استفاده شد؛ SHA-512 آرشیو npm و SHA-256 مستقل
دارایی‌های انتشار GitHub تطبیق داده شدند. موتور واقعی تحت Node.js آزموده شد.
کامپایل مجدد Emscripten و بازتولید بایت‌به‌بایت خروجی ادعا نشده است؛ این راهنما
و منبع به release و flavor منتخب مربوط‌اند، نه به یک checkout تازهٔ master.

مجوز و انتشار:

کد موتور GPL نسخهٔ ۳ یا بالاتر طبق سربرگ‌های منبع است؛ متادیتای npm آن را
GPL-3.0 معرفی می‌کند. Copying.txt داخل آرشیو، متن کامل GPLv3 است.
README اصلی، کد غیرموتوری را MIT معرفی می‌کند؛ تمام noticeهای اصلی حفظ‌اند.
برای توزیع روی سایت مالک، دانلود همین بستهٔ منبع کامل و مجوز را کنار دسترسی
به موتور، روشن و بدون ورود/هزینهٔ جداگانه عرضه کنید و لینک‌ها را واقعاً بسنجید.
صرف داشتن فایل در مخزن یا لینک به npm، تأیید انجام الزامات عرضهٔ منبع نیست.
مسیرهای HTTP، رابط انتساب و تصمیم حقوقی ادغام بر عهدهٔ بخش اصلی پروژه‌اند.
