brave-real-browser 1.5.101 ā 1.5.102
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/FEATURES.md +265 -0
- package/README.md +32 -0
- package/package.json +3 -3
- package/scripts/auto-update.js +119 -0
package/FEATURES.md
ADDED
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
# šÆ Brave-Real-Browser - Complete Features List
|
|
2
|
+
## ą¤øą¤ą„ ą¤øą„ą¤µą¤æą¤§ą¤¾ą¤ą¤ (All Features)
|
|
3
|
+
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## ā
Core Features (ą¤®ą„ą¤ą„य ą¤øą„ą¤µą¤æą¤§ą¤¾ą¤ą¤)
|
|
7
|
+
|
|
8
|
+
### 1. š¤ Anti-Detection Features
|
|
9
|
+
- ā
Cloudflare bypass support
|
|
10
|
+
- ā
Bot detection prevention
|
|
11
|
+
- ā
Puppeteer fingerprint hiding
|
|
12
|
+
- ā
Rebrowser patches integration
|
|
13
|
+
- ā
Runtime.enable fix
|
|
14
|
+
- ā
Mouse movement patching (screenX/screenY fix)
|
|
15
|
+
- ā
Ghost cursor integration for realistic mouse movements
|
|
16
|
+
- ā
Real browser behavior simulation
|
|
17
|
+
|
|
18
|
+
### 2. š Automatic Dependency Management
|
|
19
|
+
- ā
**Auto-update on npm install** (NEW! - ą¤ą„औ़ दिया ą¤ą¤Æą¤¾)
|
|
20
|
+
- ā
**Pre-install hook with dependency check**
|
|
21
|
+
- ā
**Post-install confirmation message**
|
|
22
|
+
- ā
Weekly Dependabot updates
|
|
23
|
+
- ā
Weekend Renovate Bot updates
|
|
24
|
+
- ā
GitHub Actions workflow with auto-updates
|
|
25
|
+
- ā
Manual update scripts (`update-deps`, `upgrade-all`)
|
|
26
|
+
- ā
Outdated package checker (`check-updates`)
|
|
27
|
+
- ā
Environment variable control (SKIP_AUTO_UPDATE)
|
|
28
|
+
- ā
CI/CD friendly auto-updates
|
|
29
|
+
|
|
30
|
+
### 3. š§ Browser Configuration
|
|
31
|
+
- ā
Headless mode support (false/true/"new"/"shell")
|
|
32
|
+
- ā
Custom Chrome/Brave flags support
|
|
33
|
+
- ā
Custom Chrome path configuration
|
|
34
|
+
- ā
User data directory (userDataDir) support
|
|
35
|
+
- ā
Proxy configuration (host, port, username, password)
|
|
36
|
+
- ā
Viewport customization
|
|
37
|
+
- ā
Xvfb support for Linux headless environment
|
|
38
|
+
- ā
Ignore all flags option
|
|
39
|
+
- ā
Connect options customization
|
|
40
|
+
|
|
41
|
+
### 4. š CAPTCHA Handling
|
|
42
|
+
- ā
Cloudflare Turnstile auto-solve
|
|
43
|
+
- ā
reCAPTCHA support
|
|
44
|
+
- ā
hCaptcha support
|
|
45
|
+
- ā
Automatic CAPTCHA clicking
|
|
46
|
+
|
|
47
|
+
### 5. š¦ Module System Support
|
|
48
|
+
- ā
CommonJS (require) support
|
|
49
|
+
- ā
ES Modules (import) support
|
|
50
|
+
- ā
TypeScript definitions (typings.d.ts)
|
|
51
|
+
- ā
Dual package exports
|
|
52
|
+
- ā
Test files for both module systems
|
|
53
|
+
|
|
54
|
+
### 6. š Plugin System
|
|
55
|
+
- ā
Puppeteer-extra plugin support
|
|
56
|
+
- ā
Plugin loading during initialization
|
|
57
|
+
- ā
Custom plugin integration
|
|
58
|
+
- ā
Plugin compatibility testing
|
|
59
|
+
|
|
60
|
+
### 7. š±ļø Mouse & Interaction
|
|
61
|
+
- ā
Ghost cursor for realistic movements
|
|
62
|
+
- ā
`page.realClick()` method
|
|
63
|
+
- ā
`page.realCursor` access
|
|
64
|
+
- ā
Natural mouse movement simulation
|
|
65
|
+
- ā
Click and wait for navigation
|
|
66
|
+
|
|
67
|
+
### 8. š³ Docker Support
|
|
68
|
+
- ā
Dockerfile included
|
|
69
|
+
- ā
Ubuntu server tested
|
|
70
|
+
- ā
Xvfb integration in containers
|
|
71
|
+
- ā
Easy deployment
|
|
72
|
+
|
|
73
|
+
### 9. š Documentation
|
|
74
|
+
- ā
Comprehensive README.md
|
|
75
|
+
- ā
Installation instructions
|
|
76
|
+
- ā
Usage examples
|
|
77
|
+
- ā
Configuration guide
|
|
78
|
+
- ā
FAQ section
|
|
79
|
+
- ā
Plugin installation guide
|
|
80
|
+
- ā
Docker guide
|
|
81
|
+
- ā
**Auto-update documentation** (NEW!)
|
|
82
|
+
- ā
**Features checklist** (NEW!)
|
|
83
|
+
|
|
84
|
+
### 10. š CI/CD Integration
|
|
85
|
+
- ā
GitHub Actions workflow
|
|
86
|
+
- ā
Automatic publishing to NPM
|
|
87
|
+
- ā
Version auto-increment (patch)
|
|
88
|
+
- ā
Git tagging
|
|
89
|
+
- ā
GitHub Release creation
|
|
90
|
+
- ā
Dependency updates in workflow
|
|
91
|
+
- ā
Skip CI prevention (`[skip ci]`)
|
|
92
|
+
- ā
Manual workflow dispatch
|
|
93
|
+
- ā
Duplicate version check
|
|
94
|
+
- ā
Job status summary
|
|
95
|
+
|
|
96
|
+
### 11. š Security Features
|
|
97
|
+
- ā
Dependabot security alerts
|
|
98
|
+
- ā
Automated security updates
|
|
99
|
+
- ā
Vulnerability scanning
|
|
100
|
+
- ā
Weekly security checks
|
|
101
|
+
|
|
102
|
+
### 12. šØ Developer Experience
|
|
103
|
+
- ā
ESM test suite
|
|
104
|
+
- ā
CJS test suite
|
|
105
|
+
- ā
NPM scripts for common tasks
|
|
106
|
+
- ā
Helpful console messages
|
|
107
|
+
- ā
Error handling
|
|
108
|
+
- ā
Debug mode support
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## š Recently Added Features (हाल ą¤¹ą„ ą¤®ą„ą¤ ą¤ą„ą¤”ą¤¼ą„ ą¤ą¤ ą¤øą„ą¤µą¤æą¤§ą¤¾ą¤ą¤)
|
|
113
|
+
|
|
114
|
+
### ⨠Auto-Update System (Latest!)
|
|
115
|
+
- ā
**Automatic dependency updates on every `npm install`**
|
|
116
|
+
- ā
**Smart detection of outdated packages**
|
|
117
|
+
- ā
**Selective update (only core dependencies)**
|
|
118
|
+
- ā
**Environment variable control**
|
|
119
|
+
- ā
**Recursion prevention**
|
|
120
|
+
- ā
**User-friendly console output**
|
|
121
|
+
- ā
**Error handling with fallback**
|
|
122
|
+
- ā
**Version display after update**
|
|
123
|
+
- ā
**Script: `scripts/auto-update.js`**
|
|
124
|
+
|
|
125
|
+
### š Enhanced Documentation
|
|
126
|
+
- ā
**Auto-update feature section in README**
|
|
127
|
+
- ā
**Complete features list (FEATURES.md)**
|
|
128
|
+
- ā
**Hindi + English documentation**
|
|
129
|
+
- ā
**Usage examples with environment variables**
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## š Dependency Update Mechanisms (ą¤øą¤ą„ ą¤¤ą¤°ą„ą¤ą„)
|
|
134
|
+
|
|
135
|
+
### 1. Automatic (ą¤øą„ą¤µą¤ą¤¾ą¤²ą¤æą¤¤)
|
|
136
|
+
1. **npm install** - हर बार auto-update (NEW!)
|
|
137
|
+
2. **GitHub Actions** - हर push पर
|
|
138
|
+
3. **Dependabot** - हर Monday ą¤ą„
|
|
139
|
+
4. **Renovate Bot** - हर weekend ą¤ą„
|
|
140
|
+
|
|
141
|
+
### 2. Manual (ą¤®ą„ą¤Øą„ą¤
ल)
|
|
142
|
+
1. **`npm run update-deps`** - ą¤øą¤ą„ dependencies update
|
|
143
|
+
2. **`npm run upgrade-all`** - update + confirmation message
|
|
144
|
+
3. **`npm run check-updates`** - outdated packages ą¤¦ą„ą¤ą„ą¤
|
|
145
|
+
|
|
146
|
+
### 3. Control Options (ą¤Øą¤æą¤Æą¤ą¤¤ą„रण ą¤µą¤æą¤ą¤²ą„प)
|
|
147
|
+
```bash
|
|
148
|
+
# Auto-update disable ą¤ą¤°ą„ą¤
|
|
149
|
+
SKIP_AUTO_UPDATE=true npm install
|
|
150
|
+
|
|
151
|
+
# Auto-update enable ą¤ą¤°ą„ठ(default)
|
|
152
|
+
npm install
|
|
153
|
+
|
|
154
|
+
# Check ą¤ą¤°ą„ठबिना update ą¤ą„
|
|
155
|
+
npm run check-updates
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## š Feature Comparison
|
|
161
|
+
|
|
162
|
+
| Feature | Status | Auto-Update | Manual Update | CI/CD |
|
|
163
|
+
|---------|--------|-------------|---------------|-------|
|
|
164
|
+
| npm install | ā
Yes | ā
Yes (NEW!) | ā
Yes | ā
Yes |
|
|
165
|
+
| GitHub Actions | ā
Yes | ā
Yes | - | ā
Yes |
|
|
166
|
+
| Dependabot | ā
Yes | ā
Yes | - | ā
Yes |
|
|
167
|
+
| Renovate Bot | ā
Yes | ā
Yes | - | ā
Yes |
|
|
168
|
+
| Manual Scripts | ā
Yes | - | ā
Yes | ā
Yes |
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## šÆ Complete Feature Coverage (ą¤øą¤®ą„ą¤Ŗą„ą¤°ą„ą¤£ ą¤øą„ą¤µą¤æą¤§ą¤¾ą¤ą¤)
|
|
173
|
+
|
|
174
|
+
### ā
Installation & Setup
|
|
175
|
+
- [x] NPM package installation
|
|
176
|
+
- [x] Linux xvfb installation guide
|
|
177
|
+
- [x] Windows compatibility
|
|
178
|
+
- [x] MacOS compatibility
|
|
179
|
+
- [x] Docker installation
|
|
180
|
+
- [x] Auto-dependency updates
|
|
181
|
+
|
|
182
|
+
### ā
Browser Control
|
|
183
|
+
- [x] Launch Chrome/Brave
|
|
184
|
+
- [x] Connect to existing browser
|
|
185
|
+
- [x] Headless mode
|
|
186
|
+
- [x] Custom flags
|
|
187
|
+
- [x] Proxy support
|
|
188
|
+
- [x] User profiles
|
|
189
|
+
|
|
190
|
+
### ā
Anti-Detection
|
|
191
|
+
- [x] Cloudflare bypass
|
|
192
|
+
- [x] Bot detection prevention
|
|
193
|
+
- [x] Fingerprint hiding
|
|
194
|
+
- [x] Natural behavior
|
|
195
|
+
- [x] Mouse movement realism
|
|
196
|
+
|
|
197
|
+
### ā
Automation
|
|
198
|
+
- [x] Page navigation
|
|
199
|
+
- [x] Click interactions
|
|
200
|
+
- [x] Form filling
|
|
201
|
+
- [x] Screenshot capture
|
|
202
|
+
- [x] PDF generation
|
|
203
|
+
- [x] Network interception
|
|
204
|
+
|
|
205
|
+
### ā
CAPTCHA
|
|
206
|
+
- [x] Turnstile auto-solve
|
|
207
|
+
- [x] reCAPTCHA support
|
|
208
|
+
- [x] hCaptcha support
|
|
209
|
+
- [x] Custom CAPTCHA handlers
|
|
210
|
+
|
|
211
|
+
### ā
Development
|
|
212
|
+
- [x] TypeScript support
|
|
213
|
+
- [x] ESM/CJS support
|
|
214
|
+
- [x] Plugin system
|
|
215
|
+
- [x] Test suites
|
|
216
|
+
- [x] Debug mode
|
|
217
|
+
|
|
218
|
+
### ā
Maintenance
|
|
219
|
+
- [x] Auto-updates
|
|
220
|
+
- [x] Security patches
|
|
221
|
+
- [x] Version management
|
|
222
|
+
- [x] CI/CD pipeline
|
|
223
|
+
- [x] Release automation
|
|
224
|
+
|
|
225
|
+
### ā
Documentation
|
|
226
|
+
- [x] README
|
|
227
|
+
- [x] Examples
|
|
228
|
+
- [x] FAQ
|
|
229
|
+
- [x] API docs
|
|
230
|
+
- [x] Features list
|
|
231
|
+
- [x] Hindi support
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## š Summary (ą¤øą¤¾ą¤°ą¤¾ą¤ą¤¶)
|
|
236
|
+
|
|
237
|
+
**Total Features Implemented: 50+ ā
**
|
|
238
|
+
|
|
239
|
+
### ą¤®ą„ą¤ą„य ą¤¬ą¤¾ą¤¤ą„ą¤:
|
|
240
|
+
1. ā
**ą¤øą¤ą„ dependencies ą¤
ब हर `npm install` पर automatically latest version ą¤®ą„ą¤ update ą¤¹ą„ą¤ą¤ą„**
|
|
241
|
+
2. ā
**GitHub Actions workflow ą¤®ą„ą¤ ą¤ą„ auto-update हą„**
|
|
242
|
+
3. ā
**Dependabot ą¤ą¤° Renovate Bot ą¤ą„ ą¤ą¤¾ą¤® ą¤ą¤° ą¤°ą¤¹ą„ ą¤¹ą„ą¤**
|
|
243
|
+
4. ā
**Environment variable ą¤øą„ control ą¤ą¤° ą¤øą¤ą¤¤ą„ ą¤¹ą„ą¤**
|
|
244
|
+
5. ā
**ą¤øą¤ą„ ą¤ą¤°ą„ą¤°ą„ features add ą¤¹ą„ ą¤ą„ą¤ą„ ą¤¹ą„ą¤**
|
|
245
|
+
|
|
246
|
+
### Key Points:
|
|
247
|
+
1. ā
**All dependencies will automatically update to latest version on every `npm install`**
|
|
248
|
+
2. ā
**GitHub Actions workflow also has auto-update**
|
|
249
|
+
3. ā
**Dependabot and Renovate Bot are also working**
|
|
250
|
+
4. ā
**Can be controlled via environment variable**
|
|
251
|
+
5. ā
**All essential features have been added**
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## š Need Help?
|
|
256
|
+
|
|
257
|
+
- š Read README.md for usage guide
|
|
258
|
+
- š Report issues on GitHub
|
|
259
|
+
- š” Check FAQ section
|
|
260
|
+
- š§ Use `npm run check-updates` to verify dependencies
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
**Last Updated:** October 4, 2025
|
|
265
|
+
**Version:** 1.5.101+
|
package/README.md
CHANGED
|
@@ -47,6 +47,38 @@ if you are using linux:
|
|
|
47
47
|
sudo apt-get install xvfb
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
+
### š Auto-Update Feature
|
|
51
|
+
|
|
52
|
+
This package **automatically updates all dependencies to their latest versions** whenever you run `npm install`. This ensures you always have the most recent bug fixes and security patches.
|
|
53
|
+
|
|
54
|
+
**How it works:**
|
|
55
|
+
- ā
Automatically checks for outdated dependencies on every `npm install`
|
|
56
|
+
- ā
Updates only the core dependencies (brave-real-launcher, brave-real-puppeteer-core, etc.)
|
|
57
|
+
- ā
Works in CI/CD environments (GitHub Actions, etc.)
|
|
58
|
+
- ā
Can be disabled if needed
|
|
59
|
+
|
|
60
|
+
**To disable auto-update:**
|
|
61
|
+
```bash
|
|
62
|
+
# Temporarily disable for one install
|
|
63
|
+
SKIP_AUTO_UPDATE=true npm install
|
|
64
|
+
|
|
65
|
+
# Or set environment variable
|
|
66
|
+
export SKIP_AUTO_UPDATE=true
|
|
67
|
+
npm install
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Manual update commands:**
|
|
71
|
+
```bash
|
|
72
|
+
# Check for outdated dependencies
|
|
73
|
+
npm run check-updates
|
|
74
|
+
|
|
75
|
+
# Update all dependencies manually
|
|
76
|
+
npm run update-deps
|
|
77
|
+
|
|
78
|
+
# Or use the convenient command
|
|
79
|
+
npm run upgrade-all
|
|
80
|
+
```
|
|
81
|
+
|
|
50
82
|
## Include
|
|
51
83
|
|
|
52
84
|
### CommonJS
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "brave-real-browser",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.102",
|
|
4
4
|
"description": "This package is designed to bypass puppeteer's bot-detecting captchas such as Cloudflare. It acts like a real browser and can be managed with puppeteer.",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/esm/index.mjs",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"esm_test": "node ./test/esm/test.js",
|
|
17
17
|
"cjs_test": "node ./test/cjs/test.js",
|
|
18
18
|
"update-deps": "npm install brave-real-launcher@latest brave-real-puppeteer-core@latest ghost-cursor@latest puppeteer-extra@latest tree-kill@latest xvfb@latest && npm list --depth=0",
|
|
19
|
-
"preinstall": "
|
|
20
|
-
"postinstall": "echo \"ā
Installation complete
|
|
19
|
+
"preinstall": "node scripts/auto-update.js",
|
|
20
|
+
"postinstall": "echo \"ā
Installation complete with latest dependencies!\"",
|
|
21
21
|
"check-updates": "npm outdated || true",
|
|
22
22
|
"upgrade-all": "npm run update-deps && echo \"š¦ All dependencies updated to latest versions!\""
|
|
23
23
|
},
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Auto-Update Dependencies Script
|
|
5
|
+
*
|
|
6
|
+
* यह script npm install ą¤ą„ ą¤¦ą„ą¤°ą¤¾ą¤Ø automatically ą¤ą¤²ą¤¤ą¤¾ ą¤¹ą„ ą¤ą¤°
|
|
7
|
+
* ą¤øą¤ą„ dependencies ą¤ą„ latest version ą¤®ą„ą¤ update ą¤ą¤°ą¤¤ą¤¾ हą„
|
|
8
|
+
*
|
|
9
|
+
* Environment Variables:
|
|
10
|
+
* - SKIP_AUTO_UPDATE=true : Auto-update ą¤ą„ disable ą¤ą¤°ą¤Øą„ ą¤ą„ लिą¤
|
|
11
|
+
* - AUTO_UPDATE=false : Alternative way to disable
|
|
12
|
+
* - CI=true : CI environment ą¤®ą„ą¤ automatically enable
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
const { execSync } = require('child_process');
|
|
16
|
+
const fs = require('fs');
|
|
17
|
+
const path = require('path');
|
|
18
|
+
|
|
19
|
+
// Configuration
|
|
20
|
+
const DEPENDENCIES = [
|
|
21
|
+
'brave-real-launcher',
|
|
22
|
+
'brave-real-puppeteer-core',
|
|
23
|
+
'ghost-cursor',
|
|
24
|
+
'puppeteer-extra',
|
|
25
|
+
'tree-kill',
|
|
26
|
+
'xvfb'
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
// Check if auto-update should be skipped
|
|
30
|
+
const shouldSkipUpdate = () => {
|
|
31
|
+
// Skip ą¤ą¤°ą„ठą¤
ą¤ą¤° environment variable set हą„
|
|
32
|
+
if (process.env.SKIP_AUTO_UPDATE === 'true' || process.env.AUTO_UPDATE === 'false') {
|
|
33
|
+
console.log('āļø Auto-update skipped (SKIP_AUTO_UPDATE=true)');
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Skip ą¤ą¤°ą„ठą¤
ą¤ą¤° यह khud ą¤ą„ installation ą¤¹ą„ (avoid recursion)
|
|
38
|
+
if (process.env.npm_lifecycle_event === 'preinstall' && process.env.npm_package_name === 'brave-real-browser') {
|
|
39
|
+
// Check if we're installing from npm registry
|
|
40
|
+
const isRegistryInstall = process.env.npm_config_argv &&
|
|
41
|
+
process.env.npm_config_argv.includes('install') &&
|
|
42
|
+
!fs.existsSync(path.join(__dirname, '..', 'package.json'));
|
|
43
|
+
|
|
44
|
+
if (isRegistryInstall) {
|
|
45
|
+
console.log('š¦ Installing from npm registry...');
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return false;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// Main update function
|
|
54
|
+
const updateDependencies = () => {
|
|
55
|
+
try {
|
|
56
|
+
console.log('\nš Brave-Real-Browser: Checking for dependency updates...\n');
|
|
57
|
+
|
|
58
|
+
// Check for outdated packages
|
|
59
|
+
let outdated = [];
|
|
60
|
+
try {
|
|
61
|
+
const result = execSync('npm outdated --json', {
|
|
62
|
+
encoding: 'utf8',
|
|
63
|
+
stdio: ['pipe', 'pipe', 'ignore'] // Suppress stderr
|
|
64
|
+
});
|
|
65
|
+
outdated = Object.keys(JSON.parse(result || '{}'));
|
|
66
|
+
} catch (error) {
|
|
67
|
+
// npm outdated exits with code 1 when there are outdated packages
|
|
68
|
+
if (error.stdout) {
|
|
69
|
+
try {
|
|
70
|
+
outdated = Object.keys(JSON.parse(error.stdout));
|
|
71
|
+
} catch {}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// Filter ą¤ą„वल ą¤¹ą¤®ą¤¾ą¤°ą„ dependencies
|
|
76
|
+
const outdatedDeps = outdated.filter(dep => DEPENDENCIES.includes(dep));
|
|
77
|
+
|
|
78
|
+
if (outdatedDeps.length === 0) {
|
|
79
|
+
console.log('ā
All dependencies are up to date!\n');
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
console.log(`š¦ Found ${outdatedDeps.length} outdated dependencies:`);
|
|
84
|
+
outdatedDeps.forEach(dep => console.log(` - ${dep}`));
|
|
85
|
+
console.log('\nš§ Updating to latest versions...\n');
|
|
86
|
+
|
|
87
|
+
// Update ą¤øą¤ą„ outdated dependencies
|
|
88
|
+
const updateCommand = outdatedDeps.map(dep => `${dep}@latest`).join(' ');
|
|
89
|
+
execSync(`npm install ${updateCommand}`, {
|
|
90
|
+
stdio: 'inherit',
|
|
91
|
+
encoding: 'utf8'
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
console.log('\nā
Dependencies updated successfully!\n');
|
|
95
|
+
|
|
96
|
+
// Show updated versions
|
|
97
|
+
try {
|
|
98
|
+
console.log('š Current versions:');
|
|
99
|
+
execSync('npm list --depth=0', {
|
|
100
|
+
stdio: 'inherit',
|
|
101
|
+
encoding: 'utf8'
|
|
102
|
+
});
|
|
103
|
+
} catch (error) {
|
|
104
|
+
// Ignore errors from npm list
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
} catch (error) {
|
|
108
|
+
console.error('\nā ļø Warning: Could not auto-update dependencies');
|
|
109
|
+
console.error(' You can manually update using: npm run update-deps\n');
|
|
110
|
+
// Don't fail the installation
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
// Main execution
|
|
115
|
+
if (!shouldSkipUpdate()) {
|
|
116
|
+
updateDependencies();
|
|
117
|
+
} else {
|
|
118
|
+
console.log('š Checking dependencies...\n');
|
|
119
|
+
}
|