نمونههای Blockly حاوی محتوای اضافی مربوط به Blockly است که بخشی از مخزن اصلی نیست، از جمله افزونهها، آزمایشگاههای کد و کد نمونه. برای جزئیات بیشتر در مورد هر یک از این موارد، به صفحه ساختار مخزن مراجعه کنید.
نیاز به دانستن
در اینجا مروری سریع بر حقایق مربوط به نمونههای بلوکی که برای ایجاد PR باید بدانید، ارائه شده است.
- شاخهی فعال، شاخهی اصلی است و تمام PRها باید در مقابل شاخهی اصلی ساخته شوند.
- دستور
npm installدر سطح ریشه blockly-samples اجرا کنید، نه در سطح هر افزونه. Blockly-samples یک monorepo است، به این معنی که شامل چندین بسته در یک مخزن است و نصب در سطح ریشه بخشی از گردش کار مدیریت monorepo با Lerna است. - کد باید بسته به زبان مورد استفاده، با راهنمای سبک جاوا اسکریپت گوگل یا راهنمای سبک تایپاسکریپت مطابقت داشته باشد.
- از کامیتهای مرسوم در پیامهای کامیت و عناوین درخواستهای pull خود استفاده کنید.
هر فایل کد جدید باید با پیشوند Apache License v2.0 شروع شود:
/** * @license * Copyright <Current YYYY> Google LLC * SPDX-License-Identifier: Apache-2.0 */
ایجاد و تأیید تغییر
- برای نصب وابستگیها،
npm installدر سطح ریشه blockly-samples اجرا کنید. - دستور
npm run startدر دایرکتوری یک افزونه اجرا کنید تا یک سرور که صفحه آزمایشی افزونه را اجرا میکند، ساخته و راهاندازی شود. میتوانید از این صفحه برای مشاهده رفتار فعلی یک افزونه استفاده کنید، یا اگر افزونه جدیدی اضافه میکنید، باید این را به یک صفحه آزمایشی مفید تبدیل کنید تا دیگران بتوانند عملکرد افزونه شما را ببینند. برای اطلاعات بیشتر به صفحه playground مراجعه کنید. - تغییرات لازم را در کد افزونه اعمال کنید.
- اگر سرور را در حال اجرا رها کرده باشید، تغییرات شما به طور خودکار بارگذاری میشوند. در غیر این صورت، سرور را مجدداً راهاندازی کنید و بررسی کنید که افزونه طبق انتظار عمل میکند و هیچ خطا یا هشداری در کنسول وجود ندارد.
- دستور
npm run buildاجرا کنید و مطمئن شوید که هیچ خطایی در ساخت وجود ندارد. - تستهای خودکار موکا را در دایرکتوری
test/بنویسید. - برای اجرای تستهای خودکار
npm run testاجرا کنید. - برای رفع خطاهای lint، دستور
npm run lint:fixاجرا کنید. به هشدارها یا خطاهای باقی مانده رسیدگی کنید. - برای اجرای autoformatter،
npm run formatاجرا کنید. - اگر همه تستها با موفقیت انجام شوند، شما آمادهاید تا یک PR در برابر main با تغییرات خود باز کنید.