@smi-digital/create-smi-app 2.1.0 → 2.2.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smi-digital/create-smi-app",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -3,7 +3,7 @@
3
3
  # 1. Run standard linters and formatters
4
4
  npx lint-staged
5
5
 
6
- # 2. Ansible-Vault Security Guard
6
+ # 2. Ansible-Vault Auto-Encryptor
7
7
  # Find any staged files that end in .env and start with "production"
8
8
  STAGED_ENV_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep -E '^production\..*\.env$')
9
9
 
@@ -11,18 +11,21 @@ for file in $STAGED_ENV_FILES; do
11
11
  # Read the first line of the file
12
12
  FIRST_LINE=$(head -n 1 "$file")
13
13
 
14
- # Check if the first line indicates it is an Ansible Vault file
14
+ # Check if the first line indicates it is already an Ansible Vault file
15
15
  if [[ "$FIRST_LINE" != "\$ANSIBLE_VAULT;"* ]]; then
16
- echo ""
17
- echo "🚨 SECURITY ALERT: Unencrypted Production Secrets Detected! 🚨"
18
- echo "File: $file"
19
- echo ""
20
- echo "You are attempting to commit a plain-text production .env file."
21
- echo "Please encrypt it using Ansible-Vault before committing:"
22
- echo ""
23
- echo " ansible-vault encrypt $file"
24
- echo ""
25
- echo "Commit aborted."
26
- exit 1
16
+ echo "🔒 Auto-encrypting production secrets for: $file"
17
+
18
+ # Check if .vault-password exists
19
+ if [ ! -f ".vault-password" ]; then
20
+ echo " ERROR: .vault-password file not found. Cannot encrypt secrets."
21
+ echo "Please create a .vault-password file containing your master password."
22
+ exit 1
23
+ fi
24
+
25
+ # Encrypt the file using the local password
26
+ ansible-vault encrypt "$file" --vault-password-file .vault-password
27
+
28
+ # Re-stage the now-encrypted file
29
+ git add "$file"
27
30
  fi
28
31
  done