pypeline 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,7 @@ import { SfCommand } from '@salesforce/sf-plugins-core';
2
2
  export type InitResult = {
3
3
  baselineCreated: boolean;
4
4
  gitignoreUpdated: boolean;
5
+ branchConfigured: string | null;
5
6
  orgsFound: string[];
6
7
  orgsMissing: string[];
7
8
  };
@@ -10,4 +11,12 @@ export default class Init extends SfCommand<InitResult> {
10
11
  static readonly description: string;
11
12
  static readonly examples: string[];
12
13
  run(): Promise<InitResult>;
14
+ private setupBranch;
15
+ private detectActiveBranch;
16
+ private setupBaseline;
17
+ private setupGitignore;
18
+ private createGitignore;
19
+ private appendGitignore;
20
+ private checkOrgs;
21
+ private printSummary;
13
22
  }
@@ -1,12 +1,15 @@
1
1
  import { execSync } from 'node:child_process';
2
2
  import { existsSync, readFileSync, writeFileSync, appendFileSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
+ import { input } from '@inquirer/prompts';
4
5
  import { Messages } from '@salesforce/core';
5
6
  import { SfCommand } from '@salesforce/sf-plugins-core';
7
+ import { readPypelineConfig, writePypelineConfig } from '../../config.js';
6
8
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
7
9
  const messages = Messages.loadMessages('pypeline', 'pypeline.init');
8
10
  const GITIGNORE_BLOCK = `
9
11
  # ── pypeline — arquivos gerados pelo pipeline ────────────────────────────────
12
+ .pypeline.json
10
13
  baseline.txt
11
14
  build_deploy/
12
15
  lista_arquivos_adicionados.txt
@@ -18,6 +21,7 @@ deploy_prd_output.log
18
21
  deploy_training_output.log
19
22
  `;
20
23
  const PYPELINE_ENTRIES = [
24
+ '.pypeline.json',
21
25
  'baseline.txt',
22
26
  'build_deploy/',
23
27
  'lista_arquivos_adicionados.txt',
@@ -35,78 +39,124 @@ export default class Init extends SfCommand {
35
39
  static examples = messages.getMessages('examples');
36
40
  async run() {
37
41
  const cwd = process.cwd();
38
- const result = {
39
- baselineCreated: false,
40
- gitignoreUpdated: false,
41
- orgsFound: [],
42
- orgsMissing: [],
43
- };
44
42
  this.log('\n── pypeline init ───────────────────────────────────────────\n');
45
- // ── 1. baseline.txt ────────────────────────────────────────────────────
43
+ const branchConfigured = await this.setupBranch(cwd);
44
+ this.log('');
45
+ const baselineCreated = await this.setupBaseline(cwd);
46
+ this.log('');
47
+ const gitignoreUpdated = await this.setupGitignore(cwd);
48
+ this.log('');
49
+ const { orgsFound, orgsMissing } = this.checkOrgs();
50
+ this.printSummary(cwd, orgsMissing);
51
+ return { baselineCreated, gitignoreUpdated, branchConfigured, orgsFound, orgsMissing };
52
+ }
53
+ // ── Branch ───────────────────────────────────────────────────────────────
54
+ async setupBranch(cwd) {
55
+ const existingConfig = readPypelineConfig();
56
+ const currentBranch = existingConfig.branch ?? 'main';
57
+ this.log(`Branch default atual: ${currentBranch}`);
58
+ const change = await this.confirm({
59
+ message: `Deseja alterar a branch default? (atual: ${currentBranch})`,
60
+ defaultAnswer: false,
61
+ });
62
+ if (!change) {
63
+ this.log(`✔ Branch default mantida: ${currentBranch}`);
64
+ return currentBranch;
65
+ }
66
+ const suggestion = this.detectActiveBranch(cwd) ?? currentBranch;
67
+ const branch = await input({
68
+ message: 'Nome da branch default:',
69
+ default: suggestion,
70
+ validate: (v) => v.trim().length > 0 || 'O nome da branch não pode ser vazio.',
71
+ });
72
+ const trimmed = branch.trim();
73
+ writePypelineConfig({ ...existingConfig, branch: trimmed });
74
+ this.log(`✔ Branch default salva em .pypeline.json → ${trimmed}`);
75
+ return trimmed;
76
+ }
77
+ detectActiveBranch(cwd) {
78
+ try {
79
+ const branches = execSync('git branch -a', { encoding: 'utf8', cwd })
80
+ .split('\n').map((b) => b.replace('*', '').trim()).filter(Boolean);
81
+ if (branches.length > 0) {
82
+ this.log(` Branches disponíveis:\n${branches.map((b) => ` - ${b}`).join('\n')}`);
83
+ }
84
+ return execSync('git branch --show-current', { encoding: 'utf8', cwd }).trim() || null;
85
+ }
86
+ catch {
87
+ return null;
88
+ }
89
+ }
90
+ // ── Baseline ─────────────────────────────────────────────────────────────
91
+ async setupBaseline(cwd) {
46
92
  const baselinePath = join(cwd, 'baseline.txt');
47
93
  if (existsSync(baselinePath)) {
48
94
  const hash = readFileSync(baselinePath, 'utf8').trim();
49
95
  this.log(`✔ baseline.txt já existe (${hash.slice(0, 8)}...)`);
96
+ return false;
50
97
  }
51
- else {
52
- const confirm = await this.confirm({
53
- message: 'baseline.txt não encontrado. Criar agora com o commit HEAD atual?',
54
- defaultAnswer: true,
55
- });
56
- if (confirm) {
57
- try {
58
- const hash = execSync('git rev-parse HEAD', { encoding: 'utf8', cwd }).trim();
59
- writeFileSync(baselinePath, hash + '\n', 'utf8');
60
- result.baselineCreated = true;
61
- this.log(`✔ baseline.txt criado → ${hash.slice(0, 8)}...`);
62
- }
63
- catch {
64
- this.warn('Não foi possível obter o commit HEAD. Certifique-se de estar em um repositório git.');
65
- }
66
- }
67
- else {
68
- this.log(' baseline.txt ignorado. Crie manualmente com: git rev-parse HEAD > baseline.txt');
69
- }
98
+ const confirm = await this.confirm({
99
+ message: 'baseline.txt não encontrado. Criar agora com o commit HEAD atual?',
100
+ defaultAnswer: true,
101
+ });
102
+ if (!confirm) {
103
+ this.log(' baseline.txt ignorado. Crie manualmente com: git rev-parse HEAD > baseline.txt');
104
+ return false;
70
105
  }
71
- // ── 2. .gitignore ──────────────────────────────────────────────────────
72
- this.log('');
106
+ try {
107
+ const hash = execSync('git rev-parse HEAD', { encoding: 'utf8', cwd }).trim();
108
+ writeFileSync(baselinePath, hash + '\n', 'utf8');
109
+ this.log(`✔ baseline.txt criado → ${hash.slice(0, 8)}...`);
110
+ return true;
111
+ }
112
+ catch {
113
+ this.warn('Não foi possível obter o commit HEAD. Certifique-se de estar em um repositório git.');
114
+ return false;
115
+ }
116
+ }
117
+ // ── .gitignore ────────────────────────────────────────────────────────────
118
+ async setupGitignore(cwd) {
73
119
  const gitignorePath = join(cwd, '.gitignore');
74
120
  if (!existsSync(gitignorePath)) {
75
- const confirm = await this.confirm({
76
- message: '.gitignore não encontrado. Criar com as entradas do pypeline?',
77
- defaultAnswer: true,
78
- });
79
- if (confirm) {
80
- writeFileSync(gitignorePath, GITIGNORE_BLOCK.trimStart(), 'utf8');
81
- result.gitignoreUpdated = true;
82
- this.log('✔ .gitignore criado com entradas do pypeline.');
83
- }
121
+ return this.createGitignore(gitignorePath);
84
122
  }
85
- else {
86
- const content = readFileSync(gitignorePath, 'utf8');
87
- const missing = PYPELINE_ENTRIES.filter((entry) => !content.includes(entry));
88
- if (missing.length === 0) {
89
- this.log('✔ .gitignore já contém todas as entradas do pypeline.');
90
- }
91
- else {
92
- this.log(` Entradas ausentes no .gitignore:\n${missing.map((e) => ` - ${e}`).join('\n')}`);
93
- const confirm = await this.confirm({
94
- message: 'Adicionar entradas do pypeline ao .gitignore?',
95
- defaultAnswer: true,
96
- });
97
- if (confirm) {
98
- appendFileSync(gitignorePath, GITIGNORE_BLOCK, 'utf8');
99
- result.gitignoreUpdated = true;
100
- this.log('✔ Entradas adicionadas ao .gitignore.');
101
- }
102
- else {
103
- this.log(' .gitignore não foi alterado.');
104
- }
105
- }
123
+ const missing = PYPELINE_ENTRIES.filter((e) => !readFileSync(gitignorePath, 'utf8').includes(e));
124
+ if (missing.length === 0) {
125
+ this.log('✔ .gitignore contém todas as entradas do pypeline.');
126
+ return false;
106
127
  }
107
- // ── 3. Orgs autenticadas ───────────────────────────────────────────────
108
- this.log('');
128
+ return this.appendGitignore(gitignorePath, missing);
129
+ }
130
+ async createGitignore(gitignorePath) {
131
+ const confirm = await this.confirm({
132
+ message: '.gitignore não encontrado. Criar com as entradas do pypeline?',
133
+ defaultAnswer: true,
134
+ });
135
+ if (!confirm)
136
+ return false;
137
+ writeFileSync(gitignorePath, GITIGNORE_BLOCK.trimStart(), 'utf8');
138
+ this.log('✔ .gitignore criado com entradas do pypeline.');
139
+ return true;
140
+ }
141
+ async appendGitignore(gitignorePath, missing) {
142
+ this.log(` Entradas ausentes no .gitignore:\n${missing.map((e) => ` - ${e}`).join('\n')}`);
143
+ const confirm = await this.confirm({
144
+ message: 'Adicionar entradas do pypeline ao .gitignore?',
145
+ defaultAnswer: true,
146
+ });
147
+ if (!confirm) {
148
+ this.log(' .gitignore não foi alterado.');
149
+ return false;
150
+ }
151
+ appendFileSync(gitignorePath, GITIGNORE_BLOCK, 'utf8');
152
+ this.log('✔ Entradas adicionadas ao .gitignore.');
153
+ return true;
154
+ }
155
+ // ── Orgs ─────────────────────────────────────────────────────────────────
156
+ checkOrgs() {
109
157
  this.log('Verificando orgs autenticadas...');
158
+ const orgsFound = [];
159
+ const orgsMissing = [];
110
160
  try {
111
161
  const output = execSync('sf org list --json', { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'] });
112
162
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
@@ -116,11 +166,11 @@ export default class Init extends SfCommand {
116
166
  const aliases = nonScratch.map((o) => o.alias).filter(Boolean);
117
167
  for (const alias of DEFAULT_ORGS) {
118
168
  if (aliases.includes(alias)) {
119
- result.orgsFound.push(alias);
169
+ orgsFound.push(alias);
120
170
  this.log(`✔ Org '${alias}' autenticada.`);
121
171
  }
122
172
  else {
123
- result.orgsMissing.push(alias);
173
+ orgsMissing.push(alias);
124
174
  this.warn(`Org '${alias}' não encontrada. Execute: sf org login web --alias ${alias}`);
125
175
  }
126
176
  }
@@ -128,22 +178,23 @@ export default class Init extends SfCommand {
128
178
  catch {
129
179
  this.warn('Não foi possível verificar as orgs. Execute "sf org list" para checar manualmente.');
130
180
  }
131
- // ── Resumo ─────────────────────────────────────────────────────────────
181
+ return { orgsFound, orgsMissing };
182
+ }
183
+ // ── Resumo ────────────────────────────────────────────────────────────────
184
+ printSummary(cwd, orgsMissing) {
132
185
  this.log('\n────────────────────────────────────────────────────────────');
133
- if (result.orgsMissing.length === 0 && existsSync(baselinePath)) {
186
+ const baselineOk = existsSync(join(cwd, 'baseline.txt'));
187
+ if (orgsMissing.length === 0 && baselineOk) {
134
188
  this.log('✔ Workspace pronto. Execute sf pypeline run para iniciar o pipeline.\n');
189
+ return;
135
190
  }
136
- else {
137
- this.log(' Alguns itens precisam de atenção antes de rodar o pipeline:');
138
- if (!existsSync(baselinePath)) {
139
- this.log(' - Crie o baseline.txt: git rev-parse HEAD > baseline.txt');
140
- }
141
- for (const alias of result.orgsMissing) {
142
- this.log(` - Autentique a org: sf org login web --alias ${alias}`);
143
- }
144
- this.log('');
191
+ this.log(' Alguns itens precisam de atenção antes de rodar o pipeline:');
192
+ if (!baselineOk)
193
+ this.log(' - Crie o baseline.txt: git rev-parse HEAD > baseline.txt');
194
+ for (const alias of orgsMissing) {
195
+ this.log(` - Autentique a org: sf org login web --alias ${alias}`);
145
196
  }
146
- return result;
197
+ this.log('');
147
198
  }
148
199
  }
149
200
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/pypeline/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/pypeline/init.ts"],"names":[],"mappings":"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"}
package/lib/config.d.ts CHANGED
@@ -1,6 +1,12 @@
1
1
  export declare const PROJECT_DIR: () => string;
2
2
  export declare const LOCAL_DIR: () => string;
3
3
  export declare const SCRIPT_DIR: string;
4
+ export declare const PYPELINE_CONFIG_FILE: () => string;
5
+ export type PypelineConfig = {
6
+ branch?: string;
7
+ };
8
+ export declare function readPypelineConfig(): PypelineConfig;
9
+ export declare function writePypelineConfig(config: PypelineConfig): void;
4
10
  export declare const PROJECT_NAME = "build_deploy";
5
11
  export declare const BRANCH: string;
6
12
  export declare const BUILD_DIR: () => string;
package/lib/config.js CHANGED
@@ -9,9 +9,30 @@ import * as path from 'node:path';
9
9
  export const PROJECT_DIR = () => process.cwd();
10
10
  export const LOCAL_DIR = () => process.cwd();
11
11
  export const SCRIPT_DIR = path.dirname(new URL(import.meta.url).pathname);
12
+ // ── Arquivo de configuração local ─────────────────────────────────────────
13
+ //
14
+ // .pypeline.json na raiz do projeto Salesforce persiste as preferências
15
+ // definidas pelo usuário no sf pypeline init.
16
+ // Ordem de precedência: flag CLI → env var → .pypeline.json → default 'main'
17
+ export const PYPELINE_CONFIG_FILE = () => path.join(process.cwd(), '.pypeline.json');
18
+ export function readPypelineConfig() {
19
+ const configFile = PYPELINE_CONFIG_FILE();
20
+ if (!fs.existsSync(configFile))
21
+ return {};
22
+ try {
23
+ return JSON.parse(fs.readFileSync(configFile, 'utf8'));
24
+ }
25
+ catch {
26
+ return {};
27
+ }
28
+ }
29
+ export function writePypelineConfig(config) {
30
+ fs.writeFileSync(PYPELINE_CONFIG_FILE(), JSON.stringify(config, null, 2) + '\n', 'utf8');
31
+ }
12
32
  // ── Nomes e pastas ─────────────────────────────────────────────────────────
13
33
  export const PROJECT_NAME = 'build_deploy';
14
- export const BRANCH = process.env['PYPELINE_BRANCH'] ?? 'release-v4.0.0';
34
+ // Branch: flag CLI > PYPELINE_BRANCH env var > .pypeline.json > 'main'
35
+ export const BRANCH = process.env['PYPELINE_BRANCH'] ?? readPypelineConfig().branch ?? 'main';
15
36
  export const BUILD_DIR = () => path.join(process.cwd(), PROJECT_NAME);
16
37
  export const SOURCE_DIR = () => path.join(BUILD_DIR(), 'force-app', 'main', 'default');
17
38
  // ── Arquivos de estado ─────────────────────────────────────────────────────
package/lib/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,17 @@
1
1
  # summary
2
-
3
- Initialize the pypeline workspace: create baseline.txt, update .gitignore and verify org authentication.
2
+ Inicializa o workspace do pypeline: configura branch default, cria baseline.txt, atualiza .gitignore e verifica autenticação das orgs.
4
3
 
5
4
  # description
5
+ Executa o setup interativo do pypeline no diretório do projeto Salesforce:
6
6
 
7
- Runs an interactive setup for the current Salesforce project directory:
8
-
9
- - Creates baseline.txt with the current HEAD commit (if not present)
10
- - Adds pypeline entries to .gitignore (if missing)
11
- - Checks that the default orgs (devops and treino) are authenticated
7
+ - Pergunta e salva a branch default em .pypeline.json
8
+ - Cria baseline.txt com o commit HEAD atual (se não existir)
9
+ - Adiciona entradas do pypeline ao .gitignore (se ausentes)
10
+ - Verifica se as orgs padrão (devops e treino) estão autenticadas
12
11
 
13
- Run this command once after cloning or setting up a new workspace.
12
+ Execute este comando uma vez ao configurar um novo workspace. Para alterar a branch default posteriormente, basta rodar sf pypeline init novamente.
14
13
 
15
14
  # examples
16
-
17
- - Initialize the workspace in the current directory:
15
+ - Inicializar o workspace no diretório atual:
18
16
 
19
17
  <%= config.bin %> <%= command.id %>