Mengakses objek konteks untuk detail proyek - Amazon CodeCatalyst

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengakses objek konteks untuk detail proyek

Sebagai penulis cetak biru, Anda dapat mengakses konteks dari proyek cetak biru selama sintesis untuk mendapatkan informasi seperti ruang dan nama proyek, atau file yang ada di repositori sumber proyek. Anda juga bisa mendapatkan detail seperti fase resintesis yang dihasilkan cetak biru. Misalnya, Anda dapat mengakses konteks untuk mengetahui apakah Anda mensintesis ulang untuk menghasilkan bundel leluhur atau bundel yang diusulkan. Konteks kode yang ada kemudian dapat digunakan untuk mengubah kode Anda di repositori Anda. Misalnya, Anda dapat menulis strategi resintesis Anda sendiri untuk menetapkan standar kode tertentu. Strategi dapat ditambahkan ke blueprint.ts file untuk cetak biru kecil, atau Anda dapat membuat file terpisah untuk strategi.

Contoh berikut menunjukkan bagaimana Anda dapat menemukan file dalam konteks proyek, menetapkan pembuat alur kerja, dan menetapkan strategi resynthesis yang dijual cetak biru untuk file tertentu:

const contextFiles = this.context.project.src.findAll({ fileGlobs: ['**/package.json'], }); // const workflows = this.context.project.src.findAll({ // fileGlobs: ['**/.codecatalyst/**.yaml'], // }); const security = new WorkflowBuilder(this, { Name: 'security-workflow', }); new Workflow(this, repo, security.getDefinition()); repo.setResynthStrategies([ { identifier: 'force-security', globs: ['**/.codecatalyst/security-workflow.yaml'], strategy: MergeStrategies.alwaysUpdate, }, ]); for (const contextFile of contextFiles) { const packageObject = JSON.parse(contextFile.buffer.toString()); new SourceFile(internalRepo, contextFile.path, JSON.stringify({ ...packageObject, }, null, 2)); } }