Skip to content

Commit 22562ae

Browse files
committed
Test 1
1 parent 21661c9 commit 22562ae

File tree

4 files changed

+114
-24
lines changed

4 files changed

+114
-24
lines changed

.husky/pre-commit

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
#!/usr/bin/env sh
2+
# Pre-commit hook to run Snyk and Talisman scans, completing both before deciding to commit
3+
4+
# Function to check if a command exists
5+
command_exists() {
6+
command -v "$1" >/dev/null 2>&1
7+
}
8+
9+
# Check if Snyk is installed
10+
if ! command_exists snyk; then
11+
echo "Error: Snyk is not installed. Please install it and try again."
12+
exit 1
13+
fi
14+
15+
# Check if Talisman is installed
16+
if ! command_exists talisman; then
17+
echo "Error: Talisman is not installed. Please install it and try again."
18+
exit 1
19+
fi
20+
21+
# Allow bypassing the hook with an environment variable
22+
if [ "$SKIP_HOOK" = "1" ]; then
23+
echo "Skipping Snyk and Talisman scans (SKIP_HOOK=1)."
24+
exit 0
25+
fi
26+
27+
# Initialize variables to track scan results
28+
snyk_failed=false
29+
talisman_failed=false
30+
31+
# Run Snyk vulnerability scan
32+
echo "Running Snyk vulnerability scan..."
33+
snyk test --all-projects > snyk_output.log 2>&1
34+
snyk_exit_code=$?
35+
36+
if [ $snyk_exit_code -eq 0 ]; then
37+
echo "Snyk scan passed: No vulnerabilities found."
38+
elif [ $snyk_exit_code -eq 1 ]; then
39+
echo "Snyk found vulnerabilities. See snyk_output.log for details."
40+
snyk_failed=true
41+
else
42+
echo "Snyk scan failed with error (exit code $snyk_exit_code). See snyk_output.log for details."
43+
snyk_failed=true
44+
fi
45+
46+
# Run Talisman secret scan (continues even if Snyk failed)
47+
echo "Running Talisman secret scan..."
48+
talisman --githook pre-commit > talisman_output.log 2>&1
49+
talisman_exit_code=$?
50+
51+
if [ $talisman_exit_code -eq 0 ]; then
52+
echo "Talisman scan passed: No secrets found."
53+
else
54+
echo "Talisman scan failed (exit code $talisman_exit_code). See talisman_output.log for details."
55+
talisman_failed=true
56+
fi
57+
58+
# Evaluate results after both scans
59+
if [ "$snyk_failed" = true ] || [ "$talisman_failed" = true ]; then
60+
echo "Commit aborted due to issues found in one or both scans."
61+
[ "$snyk_failed" = true ] && echo "- Snyk issues: Check snyk_output.log"
62+
[ "$talisman_failed" = true ] && echo "- Talisman issues: Check talisman_output.log"
63+
exit 1
64+
fi
65+
66+
# If both scans pass, allow the commit
67+
echo "All scans passed. Proceeding with commit.cd ."
68+
rm -f snyk_output.log talisman_output.log
69+
exit 0

.talismanrc

+16-14
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
fileignoreconfig:
2-
- filename: package-lock.json
3-
checksum: 28f8e6d0e7856b4a568fd260dcc4deb531bcdbebbbff956b008ce7dd26a0475d
4-
- filename: test/typescript/taxonomy.test.ts
5-
checksum: e4bdf633e147fd60d929d379f20c814eed5f68b11421d7b53ec8826e9142de37
6-
- filename: src/core/modules/taxonomy.js
7-
checksum: 84589be9805c1be5fd6c56021c41d18365126cf82059ad2cbef1d418c70d08e0
8-
- filename: src/core/lib/utils.js
9-
checksum: 8a37566d0372573b8fe4ec506a43f1074981c5218e9adbc551c87922c8914922
10-
- filename: src/core/modules/query.js
11-
checksum: c88b336f9a271397ffedcf8c5085941ceb0bd1cd7e25ed9ada3acd8ce4f8970c
12-
- filename: test/typescript/stack.test.ts
13-
checksum: bbb3c425f8e1a63d4793f69ee9eaba9559294ff53f163a28f70ae54b1792276a
14-
- filename: src/core/contentstack.js
15-
checksum: 90a3b07300155a34f67dc3df87363107eec202123a21bc0cefda324e477a676d
2+
- filename: package-lock.json
3+
checksum: b9d3f334fcb23e80c5c48e4fc1068c53d9be7f9f6a3211352d14e37550071fcd
4+
- filename: test/typescript/taxonomy.test.ts
5+
checksum: e4bdf633e147fd60d929d379f20c814eed5f68b11421d7b53ec8826e9142de37
6+
- filename: src/core/modules/taxonomy.js
7+
checksum: 84589be9805c1be5fd6c56021c41d18365126cf82059ad2cbef1d418c70d08e0
8+
- filename: src/core/lib/utils.js
9+
checksum: 8a37566d0372573b8fe4ec506a43f1074981c5218e9adbc551c87922c8914922
10+
- filename: src/core/modules/query.js
11+
checksum: c88b336f9a271397ffedcf8c5085941ceb0bd1cd7e25ed9ada3acd8ce4f8970c
12+
- filename: test/typescript/stack.test.ts
13+
checksum: bbb3c425f8e1a63d4793f69ee9eaba9559294ff53f163a28f70ae54b1792276a
14+
- filename: src/core/contentstack.js
15+
checksum: 90a3b07300155a34f67dc3df87363107eec202123a21bc0cefda324e477a676d
16+
- filename: .husky/pre-commit
17+
checksum: 5baabd7d2c391648163f9371f0e5e9484f8fb90fa2284cfc378732ec3192c193
1618
version: ""

package-lock.json

+17
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+12-10
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"build": "npm run build:node && npm run build:web && npm run build:react-native && npm run build:native-script",
2525
"generate-docs": "node_modules/.bin/jsdoc --configure docs-config.json --verbose",
2626
"prepare": "npm run build",
27+
"husky-check": "npm run build && husky && chmod +x .husky/pre-commit",
2728
"pretest": "npm run build"
2829
},
2930
"repository": {
@@ -65,35 +66,36 @@
6566
"tmp": "tmp/contentstack-3.15.0.tgz_1477830884275_0.9869455888401717"
6667
},
6768
"devDependencies": {
68-
"@babel/core": "^7.26.0",
69-
"@babel/preset-env": "^7.26.0",
70-
"@babel/runtime": "^7.26.0",
71-
"@slack/bolt": "^4.2.0",
69+
"@babel/core": "^7.26.10",
70+
"@babel/preset-env": "^7.26.9",
71+
"@babel/runtime": "^7.27.0",
72+
"@slack/bolt": "^4.2.1",
7273
"@types/jest": "^26.0.24",
7374
"babel-loader": "^9.2.1",
7475
"clean-webpack-plugin": "^4.0.0",
7576
"compression-webpack-plugin": "^11.1.0",
76-
"dotenv": "^16.4.7",
77+
"dotenv": "^16.5.0",
7778
"es3ify-loader": "0.2.0",
7879
"http-proxy-agent": "^7.0.2",
80+
"husky": "^9.1.7",
7981
"jest": "^29.7.0",
8082
"jest-html-reporters": "^3.1.7",
8183
"jquery": "^3.7.1",
8284
"jsdoc": "^4.0.4",
83-
"jsdom": "^26.0.0",
85+
"jsdom": "^26.1.0",
8486
"jshint": "^2.13.6",
8587
"minami": "^1.2.3",
8688
"node-request-interceptor": "^0.6.3",
87-
"nodemailer": "^6.9.16",
89+
"nodemailer": "^6.10.1",
8890
"string-replace-loader": "^3.1.0",
8991
"tap-html": "^1.1.0",
9092
"tap-json": "1.0.0",
9193
"tape": "4.17.0",
92-
"terser-webpack-plugin": "^5.3.11",
93-
"ts-jest": "^29.2.5",
94+
"terser-webpack-plugin": "^5.3.14",
95+
"ts-jest": "^29.3.2",
9496
"typescript": "^4.9.5",
9597
"uglify-js": "3.19.3",
96-
"webpack": "^5.97.1",
98+
"webpack": "^5.99.5",
9799
"webpack-cli": "^6.0.1",
98100
"webpack-md5-hash": "0.0.6",
99101
"webpack-merge": "6.0.1",

0 commit comments

Comments
 (0)