firebase-secrets-cli 1.0.0 → 1.0.2

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.
package/README.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  CLI interattiva per la gestione centralizzata dei **Firebase Functions Secrets** (Firebase Secrets Manager), con sincronizzazione dei riferimenti anche nei file locali del repository.
4
4
 
5
+ ## Changelog
6
+
7
+ - [CHANGELOG.md](./CHANGELOG.md)
8
+
9
+ ## Changelog
10
+
11
+ - [CHANGELOG.md](./CHANGELOG.md)
12
+
5
13
  ## Obiettivo
6
14
 
7
15
  Semplificare e standardizzare le operazioni sui secrets usati dalle Cloud Functions, evitando errori manuali e mantenendo allineati:
@@ -50,16 +58,10 @@ La CLI propone una lista di chiavi lette da `functions/src/config/secret.ts`, ma
50
58
 
51
59
  ## Installazione
52
60
 
53
- ### Globale (da npm)
61
+ ### npm
54
62
 
55
63
  ```bash
56
- npm i -g firebase-secrets-cli
57
- ```
58
-
59
- ### Esecuzione senza installare (consigliato per test)
60
-
61
- ```bash
62
- npx firebase-secrets-cli
64
+ npm i -D firebase-secrets-cli
63
65
  ```
64
66
 
65
67
  ## Comandi disponibili
@@ -67,8 +69,9 @@ npx firebase-secrets-cli
67
69
  Il pacchetto espone questi binari (da `package.json`):
68
70
 
69
71
  - `firebase-secrets` → CLI principale
70
- - `cic:index` → entrypoint secondario (utility/launcher)
71
- - `cic:bump` → utility di bump versione
72
+ - `cic-index` → entrypoint secondario (utility/launcher)
73
+ - `cic-bump` → utility di bump versione
74
+ - `cic-push` → utility per aggiornare `CHANGELOG.md` e gestire commit/tag/push Git
72
75
 
73
76
  Esempi:
74
77
 
@@ -77,28 +80,19 @@ Esempi:
77
80
  npx firebase-secrets
78
81
 
79
82
  # utility index (se prevista nel tuo flusso)
80
- npx cic:index
83
+ npx cic-index
81
84
 
82
85
  # bump versione (se prevista nel tuo flusso)
83
- npx cic:bump
84
- ```
86
+ npx cic-bump
85
87
 
86
- ## Sviluppo locale
87
-
88
- Script disponibili:
89
-
90
- ```bash
91
- npm run build # compila TypeScript in dist/
92
- npm run start # build + esegue dist/cic-index.js
93
- npm run pack # build + npm pack
94
- npm run deploy # build + bump + pack + publish
88
+ # push changelog + git (se prevista nel tuo flusso)
89
+ npx cic-push
95
90
  ```
96
91
 
97
- Compilazione: TypeScript con `module`/`moduleResolution` **NodeNext**, output in `dist/`.
98
-
99
92
  ## Troubleshooting
100
93
 
101
94
  ### “Non trova functions/.secret.local o secret.ts”
95
+
102
96
  - Verifica di lanciare il comando dalla **root del repo** (dove esiste `functions/`).
103
97
  - In caso di repo senza i file, la CLI dovrebbe poterli creare/aggiornare quando esegui operazioni tipo `set`/`update` (dipende dall’implementazione). Se non ci sono controlli ancora, aggiungerli è una buona prossima patch:
104
98
  - se manca `functions/` → errore chiaro
@@ -106,7 +100,9 @@ Compilazione: TypeScript con `module`/`moduleResolution` **NodeNext**, output in
106
100
  - se manca `secret.ts` → scaffolding minimale del registry
107
101
 
108
102
  ### Permessi Firebase
103
+
109
104
  Se i comandi `firebase functions:secrets:*` falliscono:
105
+
110
106
  - `firebase login`
111
107
  - seleziona il progetto corretto (`firebase use <alias|projectId>`)
112
108
  - verifica di avere i permessi IAM necessari
@@ -118,3 +114,9 @@ Se i comandi `firebase functions:secrets:*` falliscono:
118
114
  - Nome: `firebase-secrets-cli`
119
115
  - Versione: `0.1.0`
120
116
  - Bin: `firebase-secrets`, `cic:index`, `cic:bump`
117
+
118
+ ## Links
119
+
120
+ - Repo: https://github.com/AntoCic/firebase-secrets-cli
121
+ - Issues: https://github.com/AntoCic/firebase-secrets-cli/issues
122
+ - Changelog: ./CHANGELOG.md
package/dist/cic-index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  import select from '@inquirer/select';
3
3
  import inquirer from 'inquirer';
4
4
  import { initFirebaseSecretsProject } from './utils/init.js';
5
+ import { colorizer } from './utils/logger.js';
5
6
  async function main() {
6
7
  console.log('✔ cic CLI');
7
8
  const action = await select({
@@ -9,6 +10,8 @@ async function main() {
9
10
  choices: [
10
11
  { name: 'Init (Firebase Secrets)', value: 'init' },
11
12
  { name: 'Firebase Secrets Manager', value: 'firebase-secrets' },
13
+ { name: 'Bump version (package.json)', value: 'bump' },
14
+ { name: 'Push (changelog + git)', value: 'push' },
12
15
  { name: 'Exit', value: 'exit' },
13
16
  ],
14
17
  });
@@ -42,12 +45,17 @@ async function main() {
42
45
  }
43
46
  if (action === 'firebase-secrets') {
44
47
  await import('./firebase-secrets.js');
48
+ return; // comportamento voluto
49
+ }
50
+ if (action === 'bump') {
51
+ await import('./cic-bump.js');
52
+ return;
53
+ }
54
+ if (action === 'push') {
55
+ await import('./cic-push.js');
45
56
  return;
46
57
  }
47
- console.log('bye');
58
+ console.log(`${colorizer('A presto!', 'brightGreen')} 👋`);
48
59
  }
49
- main().catch((err) => {
50
- console.error('❌ Errore:', err instanceof Error ? err.message : err);
51
- process.exit(1);
52
- });
60
+ main().catch((err) => { console.error('❌ Errore:', err instanceof Error ? err.message : err); process.exit(1); });
53
61
  //# sourceMappingURL=cic-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cic-index.js","sourceRoot":"","sources":["../src/cic-index.ts"],"names":[],"mappings":";AAEA,OAAO,MAAM,MAAM,kBAAkB,CAAA;AACrC,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAI5D,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAExB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAS;QAChC,OAAO,EAAE,MAAM;QACf,OAAO,EAAE;YACL,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE;YAClD,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,kBAAkB,EAAE;YAC/D,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;SAClC;KACJ,CAAC,CAAA;IAEF,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAkB;YAClD;gBACI,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,IAAI;gBACV,OAAO,EACH,oIAAoI;gBACxI,OAAO,EAAE,KAAK;aACjB;SACJ,CAAC,CAAA;QAEF,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACxB,OAAM;QACV,CAAC;QAED,MAAM,GAAG,GAAG,0BAA0B,EAAE,CAAA;QAExC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAClC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;QAEjC,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YACxB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACrD,CAAC;QAED,IAAI,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;YAC7C,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,aAAa;gBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC3D,CAAC;QACD,OAAM;IACV,CAAC;IAED,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;QAChC,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;QACrC,OAAM;IACV,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"cic-index.js","sourceRoot":"","sources":["../src/cic-index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ #!/usr/bin/env node
2
+ import fs from 'node:fs';
3
+ import path from 'node:path';
4
+ import { execSync } from 'node:child_process';
5
+ import { createInterface } from 'node:readline/promises';
6
+ import { stdin as input, stdout as output } from 'node:process';
7
+ import { ensureFileExists, getProjectRoot } from './utils/dir.js';
8
+ import { colorizer } from './utils/logger.js';
9
+ function safeCommitMessage(version, description) {
10
+ // evita di rompere il comando git con doppi apici o newline
11
+ const clean = description.replace(/\s+/g, ' ').trim().replace(/"/g, '\\"');
12
+ return `v${version} – ${clean}`;
13
+ }
14
+ async function askLine(question) {
15
+ const rl = createInterface({ input, output });
16
+ try {
17
+ const ans = await rl.question(question);
18
+ return ans ?? '';
19
+ }
20
+ finally {
21
+ await rl.close();
22
+ }
23
+ }
24
+ async function askYesNo(question, defaultYes = true) {
25
+ const suffix = defaultYes ? '(s)' : '(n)';
26
+ const raw = await askLine(`${question} [s/n] ${suffix}: `);
27
+ const v = raw.trim().toLowerCase();
28
+ if (!v)
29
+ return defaultYes;
30
+ if (v.startsWith('n'))
31
+ return false;
32
+ return true;
33
+ }
34
+ function prependChangelog(changelogPath, entry) {
35
+ let existing = '';
36
+ if (fs.existsSync(changelogPath)) {
37
+ existing = fs.readFileSync(changelogPath, 'utf8');
38
+ }
39
+ fs.writeFileSync(changelogPath, entry + existing, 'utf8');
40
+ }
41
+ function runGit(cmd, cwd) {
42
+ execSync(cmd, { stdio: 'inherit', cwd });
43
+ }
44
+ async function main() {
45
+ const rootDir = getProjectRoot();
46
+ const packageJsonPath = path.join(rootDir, 'package.json');
47
+ const changelogPath = path.join(rootDir, 'CHANGELOG.md');
48
+ ensureFileExists(packageJsonPath, 'package.json');
49
+ let pkg;
50
+ try {
51
+ pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
52
+ }
53
+ catch {
54
+ throw new Error(`❌ package.json is not valid JSON: ${packageJsonPath}`);
55
+ }
56
+ const version = pkg?.version;
57
+ if (!version || typeof version !== 'string') {
58
+ throw new Error(`❌ package.json has no valid "version" field: ${packageJsonPath}`);
59
+ }
60
+ console.log(`${colorizer('▶', 'cyan')} Project root: ${colorizer(rootDir, 'magenta')}`);
61
+ console.log(`${colorizer('▶', 'cyan')} Version: ${colorizer(version, 'magenta')}`);
62
+ const descriptionRaw = await askLine('✏️ Descrizione per il changelog (invio per saltare): ');
63
+ const hasDescription = descriptionRaw.trim().length > 0;
64
+ const description = hasDescription ? descriptionRaw.trim() : 'Nessuna descrizione fornita.';
65
+ const today = new Date().toISOString().slice(0, 10);
66
+ const entry = `## v${version} - ${today}
67
+
68
+ ${description}
69
+
70
+ ---
71
+
72
+ `;
73
+ prependChangelog(changelogPath, entry);
74
+ console.log(`${colorizer('📝', 'green')} Changelog aggiornato: ${colorizer(changelogPath, 'magenta')}`);
75
+ if (!hasDescription) {
76
+ console.log(`${colorizer('⏭', 'yellow')} Nessuna descrizione: salto commit/tag/push Git`);
77
+ console.log(`${colorizer('✔', 'green')} cic-push completato`);
78
+ return;
79
+ }
80
+ const doCommit = await askYesNo('📦 Vuoi fare il commit su Git?', true);
81
+ if (!doCommit) {
82
+ console.log(`${colorizer('😣', 'yellow')} Commit Git saltato`);
83
+ console.log(`${colorizer('✔', 'green')} cic-push completato`);
84
+ return;
85
+ }
86
+ // Git actions
87
+ try {
88
+ console.log(`${colorizer('🔧', 'cyan')} git add .`);
89
+ runGit('git add .', rootDir);
90
+ const commitMsg = safeCommitMessage(version, description);
91
+ console.log(`${colorizer('🔧', 'cyan')} git commit -m "${commitMsg}"`);
92
+ runGit(`git commit -m "${commitMsg}"`, rootDir);
93
+ console.log(`${colorizer('🔖', 'cyan')} git tag v${version}`);
94
+ runGit(`git tag v${version}`, rootDir);
95
+ const doPush = await askYesNo('🚀 Vuoi anche fare git push?', true);
96
+ if (doPush) {
97
+ console.log(`${colorizer('🚀', 'cyan')} git push`);
98
+ runGit('git push', rootDir);
99
+ console.log(`${colorizer('🚀', 'cyan')} git push --tags`);
100
+ runGit('git push --tags', rootDir);
101
+ console.log(`${colorizer('🚀', 'green')} Push completato!`);
102
+ }
103
+ else {
104
+ console.log(`${colorizer('⏭', 'yellow')} Push saltato`);
105
+ }
106
+ }
107
+ catch (err) {
108
+ throw new Error(`❌ Errore durante operazioni Git: ${err?.message ?? err}`);
109
+ }
110
+ console.log(`${colorizer('✔', 'green')} cic-push completato`);
111
+ }
112
+ // entrypoint
113
+ main().catch((err) => {
114
+ console.error(err?.message ?? err);
115
+ process.exit(1);
116
+ });
117
+ //# sourceMappingURL=cic-push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cic-push.js","sourceRoot":"","sources":["../src/cic-push.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAE/D,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,SAAS,iBAAiB,CAAC,OAAe,EAAE,WAAmB;IAC3D,4DAA4D;IAC5D,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC1E,OAAO,IAAI,OAAO,MAAM,KAAK,EAAE,CAAA;AACnC,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,QAAgB;IACnC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAC7C,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACvC,OAAO,GAAG,IAAI,EAAE,CAAA;IACpB,CAAC;YAAS,CAAC;QACP,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;AACL,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,UAAU,GAAG,IAAI;IACvD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;IACzC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,QAAQ,UAAU,MAAM,IAAI,CAAC,CAAA;IAC1D,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAElC,IAAI,CAAC,CAAC;QAAE,OAAO,UAAU,CAAA;IACzB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAA;IACnC,OAAO,IAAI,CAAA;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,aAAqB,EAAE,KAAa;IAC1D,IAAI,QAAQ,GAAG,EAAE,CAAA;IACjB,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IACrD,CAAC;IACD,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAA;AAC7D,CAAC;AAED,SAAS,MAAM,CAAC,GAAW,EAAE,GAAW;IACpC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAA;AAC5C,CAAC;AAED,KAAK,UAAU,IAAI;IACf,MAAM,OAAO,GAAG,cAAc,EAAE,CAAA;IAChC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAExD,gBAAgB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAA;IAEjD,IAAI,GAAQ,CAAA;IACZ,IAAI,CAAC;QACD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;IAC9D,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,qCAAqC,eAAe,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,EAAE,OAAO,CAAA;IAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,gDAAgD,eAAe,EAAE,CAAC,CAAA;IACtF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,kBAAkB,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;IACvF,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,aAAa,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;IAElF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,wDAAwD,CAAC,CAAA;IAC9F,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;IACvD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,8BAA8B,CAAA;IAE3F,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACnD,MAAM,KAAK,GAAG,OAAO,OAAO,MAAM,KAAK;;EAEzC,WAAW;;;;CAIZ,CAAA;IAEG,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;IACtC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,0BAA0B,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;IAEvG,IAAI,CAAC,cAAc,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,iDAAiD,CAAC,CAAA;QACzF,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;QAC7D,OAAM;IACV,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,gCAAgC,EAAE,IAAI,CAAC,CAAA;IACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;QAC7D,OAAM;IACV,CAAC;IAED,cAAc;IACd,IAAI,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;QACnD,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAE5B,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QACzD,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,mBAAmB,SAAS,GAAG,CAAC,CAAA;QACtE,MAAM,CAAC,kBAAkB,SAAS,GAAG,EAAE,OAAO,CAAC,CAAA;QAE/C,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,OAAO,EAAE,CAAC,CAAA;QAC7D,MAAM,CAAC,YAAY,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;QAEtC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAA;QACnE,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;YAClD,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YAE3B,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAA;YACzD,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;YAElC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;QAC/D,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAA;QAC3D,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAA;IAC9E,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;AACjE,CAAC;AAED,aAAa;AACb,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC,CAAA;IAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA"}
@@ -1,22 +1,22 @@
1
1
  const RESET = '\x1b[0m';
2
2
  const DIM = '\x1b[2m';
3
3
  const COLORS = {
4
- black: '\x1b[30m',
5
- red: '\x1b[31m',
6
- green: '\x1b[32m',
7
- yellow: '\x1b[33m',
8
- blue: '\x1b[34m',
9
- magenta: '\x1b[35m',
10
- cyan: '\x1b[36m',
11
- white: '\x1b[37m',
12
- gray: '\x1b[90m',
13
- brightRed: '\x1b[91m',
14
- brightGreen: '\x1b[92m',
15
- brightYellow: '\x1b[93m',
16
- brightBlue: '\x1b[94m',
17
- brightMagenta: '\x1b[95m',
18
- brightCyan: '\x1b[96m',
19
- brightWhite: '\x1b[97m'
4
+ black: '\x1b[30m', // #000000
5
+ red: '\x1b[31m', // #800000
6
+ green: '\x1b[32m', // #008000
7
+ yellow: '\x1b[33m', // #808000
8
+ blue: '\x1b[34m', // #000080
9
+ magenta: '\x1b[35m', // #800080
10
+ cyan: '\x1b[36m', // #008080
11
+ white: '\x1b[37m', // #c0c0c0
12
+ gray: '\x1b[90m', // #808080
13
+ brightRed: '\x1b[91m', // #ff0000
14
+ brightGreen: '\x1b[92m', // #00ff00
15
+ brightYellow: '\x1b[93m', // #ffff00
16
+ brightBlue: '\x1b[94m', // #0000ff
17
+ brightMagenta: '\x1b[95m', // #ff00ff
18
+ brightCyan: '\x1b[96m', // #00ffff
19
+ brightWhite: '\x1b[97m', // #ffffff
20
20
  };
21
21
  export function colorizer(text, color, dim = false) {
22
22
  const c = COLORS[color];
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,SAAS,CAAA;AACvB,MAAM,GAAG,GAAG,SAAS,CAAA;AAErB,MAAM,MAAM,GAAG;IACX,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,UAAU;IACrB,WAAW,EAAE,UAAU;IACvB,YAAY,EAAE,UAAU;IACxB,UAAU,EAAE,UAAU;IACtB,aAAa,EAAE,UAAU;IACzB,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,UAAU;CACjB,CAAA;AAIV,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,KAAe,EAAE,GAAG,GAAG,KAAK;IAChE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACvB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,QAAkB,MAAM,IAAU,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7I,MAAM,UAAU,EAAE,CAAC,QAAkB,MAAM,IAAU,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC,CAAA,CAAC,CAAC;AAEvI,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,KAAa;IACtD,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAA;AACtG,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,SAAS,CAAA;AACvB,MAAM,GAAG,GAAG,SAAS,CAAA;AAErB,MAAM,MAAM,GAAG;IACX,KAAK,EAAE,UAAU,EAAS,UAAU;IACpC,GAAG,EAAE,UAAU,EAAW,UAAU;IACpC,KAAK,EAAE,UAAU,EAAS,UAAU;IACpC,MAAM,EAAE,UAAU,EAAQ,UAAU;IACpC,IAAI,EAAE,UAAU,EAAU,UAAU;IACpC,OAAO,EAAE,UAAU,EAAO,UAAU;IACpC,IAAI,EAAE,UAAU,EAAU,UAAU;IACpC,KAAK,EAAE,UAAU,EAAS,UAAU;IAEpC,IAAI,EAAE,UAAU,EAAU,UAAU;IACpC,SAAS,EAAE,UAAU,EAAK,UAAU;IACpC,WAAW,EAAE,UAAU,EAAG,UAAU;IACpC,YAAY,EAAE,UAAU,EAAE,UAAU;IACpC,UAAU,EAAE,UAAU,EAAI,UAAU;IACpC,aAAa,EAAE,UAAU,EAAC,UAAU;IACpC,UAAU,EAAE,UAAU,EAAI,UAAU;IACpC,WAAW,EAAE,UAAU,EAAG,UAAU;CAC9B,CAAA;AAKV,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,KAAe,EAAE,GAAG,GAAG,KAAK;IAChE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACvB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IACxB,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,QAAkB,MAAM,IAAU,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7I,MAAM,UAAU,EAAE,CAAC,QAAkB,MAAM,IAAU,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC,CAAA,CAAC,CAAC;AAEvI,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,KAAa;IACtD,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAA;AACtG,CAAC"}
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "firebase-secrets-cli",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "firebase-secrets": "./dist/firebase-secrets.js",
7
7
  "cic-index": "./dist/cic-index.js",
8
- "cic-bump": "./dist/cic-bump.js"
8
+ "cic-bump": "./dist/cic-bump.js",
9
+ "cic-push": "./dist/cic-push.js"
9
10
  },
10
11
  "files": [
11
12
  "dist"
@@ -15,7 +16,10 @@
15
16
  "build": "npm run clean && tsc -p tsconfig.json",
16
17
  "pack": "npm run build && npm pack",
17
18
  "pack-bump": "npm run build && node scripts/bump-version.cjs && npm pack",
18
- "deploy": "npm run build && npm pack && npm publish --access public",
19
+ "cic-push": "npm run build && npm pack && node scripts/git-push.cjs",
20
+ "deploy": "npm run build && node scripts/bump-version.cjs && npm pack && node scripts/git-push.cjs && npm publish --access public",
21
+ "only-deploy": "npm publish --access public",
22
+ "deploy-no-bump": "npm run build && npm pack && node scripts/git-push.cjs && npm publish --access public",
19
23
  "start": "npm run build && node dist/cic-index.js"
20
24
  },
21
25
  "dependencies": {
@@ -25,5 +29,13 @@
25
29
  "devDependencies": {
26
30
  "@types/node": "^25.0.10",
27
31
  "typescript": "^5.9.3"
32
+ },
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/AntoCic/firebase-secrets-cli.git"
36
+ },
37
+ "homepage": "https://github.com/AntoCic/firebase-secrets-cli#readme",
38
+ "bugs": {
39
+ "url": "https://github.com/AntoCic/firebase-secrets-cli/issues"
28
40
  }
29
41
  }