forked from shivamxverma/CodeSM
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcleanup-node_modules.sh
More file actions
124 lines (103 loc) Β· 5.46 KB
/
Copy pathcleanup-node_modules.sh
File metadata and controls
124 lines (103 loc) Β· 5.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#!/bin/sh
# Remove unnecessary files from node_modules to reduce Docker image size
set -e
echo "π§Ή Starting node_modules cleanup..."
cd /app/node_modules || exit 1
# Remove TypeScript source files (not needed in production)
echo " β Removing TypeScript source files..."
find . -name "*.ts" -not -path "*/@types/*" -type f -delete 2>/dev/null || true
find . -name "*.tsx" -type f -delete 2>/dev/null || true
# Remove source maps
echo " β Removing source maps..."
find . -name "*.map" -type f -delete 2>/dev/null || true
find . -name "*.js.map" -type f -delete 2>/dev/null || true
# Remove markdown and documentation files
echo " β Removing documentation files..."
find . -name "*.md" -type f -delete 2>/dev/null || true
find . -name "*.markdown" -type f -delete 2>/dev/null || true
find . -name "README" -type f -delete 2>/dev/null || true
find . -name "CONTRIBUTING" -type f -delete 2>/dev/null || true
find . -name "AUTHORS" -type f -delete 2>/dev/null || true
# Remove test files and directories
echo " β Removing test files..."
find . -name "__tests__" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name "test" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name "tests" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name "*.test.js" -type f -delete 2>/dev/null || true
find . -name "*.spec.js" -type f -delete 2>/dev/null || true
find . -name "*.test.ts" -type f -delete 2>/dev/null || true
find . -name "*.spec.ts" -type f -delete 2>/dev/null || true
# Remove example and sample files
echo " β Removing examples..."
find . -name "example" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name "examples" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name "sample" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name "samples" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name "demo" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name "demos" -type d -exec rm -rf {} + 2>/dev/null || true
# Remove documentation directories
echo " β Removing documentation directories..."
find . -name "docs" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name "doc" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name "website" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name ".github" -type d -exec rm -rf {} + 2>/dev/null || true
# Remove coverage files
echo " β Removing coverage files..."
find . -name "coverage" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name ".nyc_output" -type d -exec rm -rf {} + 2>/dev/null || true
# Remove CI/CD config files
echo " β Removing CI/CD configs..."
find . -name ".travis.yml" -type f -delete 2>/dev/null || true
find . -name ".gitlab-ci.yml" -type f -delete 2>/dev/null || true
find . -name "appveyor.yml" -type f -delete 2>/dev/null || true
find . -name ".circleci" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name "azure-pipelines.yml" -type f -delete 2>/dev/null || true
find . -name "circle.yml" -type f -delete 2>/dev/null || true
# Remove editor/linter config files
echo " β Removing editor configs..."
find . -name ".editorconfig" -type f -delete 2>/dev/null || true
find . -name ".eslintrc*" -type f -delete 2>/dev/null || true
find . -name ".jshintrc" -type f -delete 2>/dev/null || true
find . -name ".prettierrc*" -type f -delete 2>/dev/null || true
find . -name ".stylelintrc*" -type f -delete 2>/dev/null || true
find . -name "tslint.json" -type f -delete 2>/dev/null || true
find . -name "jsconfig.json" -type f -delete 2>/dev/null || true
find . -name "tsconfig.json" -type f -delete 2>/dev/null || true
# Remove git files
echo " β Removing git files..."
find . -name ".git" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name ".gitignore" -type f -delete 2>/dev/null || true
find . -name ".gitattributes" -type f -delete 2>/dev/null || true
find . -name ".gitmodules" -type f -delete 2>/dev/null || true
# Remove changelog files
echo " β Removing changelogs..."
find . -name "CHANGELOG*" -type f -delete 2>/dev/null || true
find . -name "HISTORY*" -type f -delete 2>/dev/null || true
find . -name "CHANGES*" -type f -delete 2>/dev/null || true
# Remove yarn/npm/bun artifacts
echo " β Removing package manager artifacts..."
find . -name ".yarn-integrity" -type f -delete 2>/dev/null || true
find . -name ".package-lock.json" -type f -delete 2>/dev/null || true
find . -name "yarn.lock" -type f -delete 2>/dev/null || true
find . -name "package-lock.json" -type f -delete 2>/dev/null || true
find . -name "bun.lockb" -type f -delete 2>/dev/null || true
find . -name ".bun" -type d -exec rm -rf {} + 2>/dev/null || true
# Remove .d.ts files (TypeScript declarations) - keep only @types
echo " β Removing TypeScript declarations..."
find . -name "*.d.ts" -not -path "*/@types/*" -type f -delete 2>/dev/null || true
# Remove benchmark files
echo " β Removing benchmarks..."
find . -name "benchmark" -type d -exec rm -rf {} + 2>/dev/null || true
find . -name "benchmarks" -type d -exec rm -rf {} + 2>/dev/null || true
# Remove bower files
echo " β Removing bower files..."
find . -name "bower.json" -type f -delete 2>/dev/null || true
find . -name ".bower.json" -type f -delete 2>/dev/null || true
# Remove Makefile
echo " β Removing Makefiles..."
find . -name "Makefile" -type f -delete 2>/dev/null || true
find . -name "makefile" -type f -delete 2>/dev/null || true
# Remove .bin symlinks that are broken or duplicates
echo " β Cleaning .bin directory..."
find .bin -type l ! -exec test -e {} \; -delete 2>/dev/null || true
echo "β
Cleanup completed successfully!"