Accesso agli oggetti contestuali per i dettagli del progetto - Amazon CodeCatalyst

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Accesso agli oggetti contestuali per i dettagli del progetto

In qualità di autore del blueprint, puoi accedere al contesto del progetto del blueprint durante la sintesi per ottenere informazioni come lo spazio e i nomi dei progetti o i file esistenti nell'archivio dei sorgenti di un progetto. Puoi anche ottenere dettagli come la fase di risintesi generata dal blueprint. Ad esempio, puoi accedere al contesto per sapere se stai risintetizzando per generare un pacchetto predecessore o un pacchetto proposto. Il contesto di codice esistente può quindi essere utilizzato per trasformare il codice nel repository. Ad esempio, puoi scrivere la tua strategia di risintesi per impostare standard di codice specifici. La strategia può essere aggiunta al blueprint.ts file per piccoli progetti oppure è possibile creare un file separato per le strategie.

L'esempio seguente mostra come trovare file nel contesto di un progetto, impostare un generatore di flussi di lavoro e impostare una strategia di risintesi fornita da blueprint per un particolare file:

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)); } }