ข้ามไปที่เนื้อหา
cd /languages
  • รันไทม์ผสมกัน
  • การเขียนโปรแกรม
  • รองรับ AST และสัญลักษณ์

การรองรับ JavaScript ใน Maguyva: การค้นหาด้วย AI สำหรับรีโพที่ผสมรันไทม์

Maguyva รองรับ JavaScript ด้วยการแยกวิเคราะห์ AST และการดึงสัญลักษณ์ ช่วยให้เอเจนต์ AI ทำงานข้าม Node service, โค้ดฝั่งเบราว์เซอร์ สคริปต์ และ module เก่า โดยไม่ต้องพึ่งการค้นหาแบบข้อความล้วน

เหตุใดรีโพ JavaScript ที่ผสมกันยังต้องการการค้นหาที่รับรู้โครงสร้าง

เครื่องมือโค้ด AI จำนวนมากมักมองว่า JavaScript เป็นแค่สถานะรกก่อนจะถึง TypeScript “ตัวจริง” ซึ่งมองข้ามความจริงที่ว่ารีโพที่ใช้งานจริงหน้าตาเป็นอย่างไร JavaScript ยังคงใช้ในขั้นตอนบิลด์ ระบบปลั๊กอิน โค้ดฝั่งเบราว์เซอร์ และสคริปต์งาน รวมถึงเส้นทาง service ที่อยู่มานานซึ่งไม่มีใครมีงบให้เขียนใหม่ให้เรียบร้อย

นั่นทำให้การรองรับ JavaScript เกี่ยวกับประวัติศาสตร์มากกว่าไวยากรณ์ที่สวยงาม อันตรายไม่ได้อยู่ที่การแยกวิเคราะห์ไฟล์ แต่อยู่ที่การแก้ไข module หรือตัวช่วยโดยไม่เข้าใจว่ามันเป็นของ CommonJS, ESM, โค้ดเบราว์เซอร์ หรือรูปแบบเก่าเฉพาะที่

สิ่งที่ Maguyva ดึงออกมาจริงใน JavaScript

Maguyva ครอบคลุม .js, .mjs และ .cjs ทำให้การเรียกที่มีคำนำหน้าสมาชิกเป็นมาตรฐานเดียวกัน และรองรับฮิวริสติกของคอมโพเนนต์ JSX ในโค้ดเบส JavaScript ที่เบลอเส้นแบ่งระหว่างฟรอนต์เอนด์กับแบ็กเอนด์ นอกจากนี้ยังกรองสัญญาณรบกวนจากรันไทม์มาตรฐานของเบราว์เซอร์และ Node ออกไปจำนวนมาก เพื่อให้ความสัมพันธ์เฉพาะของรีโพซิทอรียังมองเห็นได้

สิ่งนี้มีประโยชน์ในรีโพเก่าหรือที่ผสมกัน ซึ่งแนวคิดเดียวกันอาจมีอยู่ในไฟล์มากกว่าหนึ่งสไตล์ และการตั้งชื่อที่แน่นอนมักไม่สม่ำเสมอ

เวิร์กโฟลว์ MCP ที่มีประโยชน์สำหรับรีโพที่ผสมรันไทม์

เวิร์กโฟลว์ที่ใช้ได้จริงมักเป็นแบบนี้:

  • ใช้ text_pattern_search สำหรับข้อความตรงตัวเช่น module.exports ชื่ออีเวนต์ หรือเครื่องหมาย config เก่า
  • ใช้ intelligent_search เมื่อต้องการสำรวจระดับพฤติกรรม เช่น “legacy upload flow” หรือ “ตรวจสอบ auth ตรงไหนในบันเดิลฝั่งเบราว์เซอร์”
  • ใช้ get_task_context เมื่อการตั้งชื่อไม่สม่ำเสมอ และต้องการสรุปที่เชื่อมโยงข้อมูลเข้าด้วยกันก่อนที่เอเจนต์จะแก้ไขอะไร

เมื่อใดที่หน้านี้มีประโยชน์

หน้านี้เหมาะกับรีโพที่ยังมีโค้ด JavaScript อยู่เป็นส่วนสำคัญ ไม่ใช่สำหรับทีมที่แสร้งทำเป็นว่าการย้ายเสร็จแล้ว หากรีโพปัจจุบันเป็น TypeScript เป็นหลัก ให้เริ่มที่ TypeScript หากสแตก web เก่ายังไหลเข้าไปในเทมเพลตฝั่งเซิร์ฟเวอร์หรือ PHP คู่มือ PHP คือเพื่อนคู่หูที่เกี่ยวข้องกว่า

เหมาะที่สุดสำหรับ

  • > รีโพซิทอรีของ Node และเบราว์เซอร์ที่ไม่เคยลงตัวว่าจะใช้ระบบ module เดียวหรือเฟรมเวิร์กรุ่นเดียว
  • > ทีมที่ดูแล JavaScript เก่า พร้อมค่อยๆ นำ TypeScript หรือขอบเขต package ใหม่เข้ามา
  • > เวิร์กโฟลว์เอเจนต์ที่ต้องการโครงสร้างข้าม `.js`, `.mjs` และ `.cjs` แทนการค้นหาแบบเฉพาะกิจ

เวิร์กโฟลว์ของเอเจนต์

  • > ตามรอยเส้นทางคำขอหรือขั้นตอนบิลด์ผ่าน module JavaScript เก่าก่อนแก้ไข
  • > เปรียบเทียบการอิมพลีเมนต์ CommonJS และ ESM ของพฤติกรรมเดียวกันทั่วทั้งรีโพ
  • > หารูปแบบที่เกิดซ้ำในสคริปต์ ยูทิลิตี้ หรือคอมโพเนนต์ฟรอนต์เอนด์ก่อนเริ่มสร้างแอบสแตรกชันใหม่

รายละเอียดเอนจิน

  • > การรองรับ JavaScript ครอบคลุม `.js`, `.mjs`, และ `.cjs` ซึ่งสำคัญเมื่อรีโพเดียวยังคงมีรูปแบบโมดูลหลายแบบปนกัน
  • > คำนำหน้าของสมาชิกและอาร์กิวเมนต์การเรียกถูกปรับให้เป็นมาตรฐาน ทำให้ฟังก์ชันช่วยเหลือที่ซ้ำกันเปรียบเทียบข้ามไฟล์เก่าๆ ได้ง่ายขึ้น
  • > รองรับฮิวริสติกของคอมโพเนนต์ JSX ในขณะที่กลุ่มตัวแปรโกลบอลจำนวนมากของเบราว์เซอร์และ Node ที่มักพบเจอทั่วไปจะถูกกรองออกจากสัญญาณรบกวนของความสัมพันธ์

จุดเริ่มต้น MCP ที่มีประโยชน์

  • text_pattern_search

    ใช้สำหรับสตริงที่ตรงตัว เช่น `module.exports` ชื่ออีเวนต์ หรือเครื่องหมาย config เก่า ก่อนขยายขอบเขตการค้นหา

  • intelligent_search

    ใช้เมื่อการตั้งชื่อไม่สอดคล้องกัน และคุณต้องการค้นหาพฤติกรรมอย่าง “file upload flow” มากกว่าสัญลักษณ์

  • get_task_context

    มีประโยชน์เมื่อรีโพเบี่ยงเบนไปมาก และคุณต้องการสรุปที่ประกอบรวมกันก่อนแตะพาธเก่า

คู่มือที่เกี่ยวข้อง

ส่วนอื่นของรีโพที่เกี่ยวข้อง

ดูคู่มือทั้งหมด
เว็บเก่า แรงกดดันใหม่ การเขียนโปรแกรม

การรองรับ PHP ใน Maguyva: เว็บแอปที่อยู่มายาวนานโดยไม่ต้องแก้ไขแบบไม่เข้าใจโค้ด

เกี่ยวข้องเมื่อโค้ดเบส PHP ยังคงสร้างรายได้อยู่ แต่ไม่มีใครอยากปล่อยให้เอเจนต์แก้ไขไปตามใจ

รองรับ AST และสัญลักษณ์ การแยกวิเคราะห์ AST การสกัดสัญลักษณ์ ความสัมพันธ์ในกราฟ

นามสกุลไฟล์

.php, .php3, .php4, .php5, +อีก 2

เปิดคู่มือ
ค่าเริ่มต้น Monorepo การเขียนโปรแกรม

การรองรับ TypeScript ใน Maguyva: บริบทที่ดีขึ้นสำหรับ Monorepo

เกี่ยวข้องเมื่อรีโพของคุณผสมโค้ดแอป, ไลบรารี, ไคลเอนต์ API, test และ config ข้ามหลายแพ็กเกจ

รองรับ AST และสัญลักษณ์ การแยกวิเคราะห์ AST การสกัดสัญลักษณ์ ความสัมพันธ์ในกราฟ

นามสกุลไฟล์

.cts, .d.ts, .mts, .spec.ts, +อีก 3

เปิดคู่มือ