nid2-cli 1.0.0 โ 1.1.1
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 +29 -23
- package/lib/npm-increaser-downloads.config.d.ts +1 -1
- package/lib/npm-increaser-downloads.config.d.ts.map +1 -1
- package/lib/npm-increaser-downloads.config.js +2 -0
- package/lib/npm-increaser-downloads.config.js.map +1 -1
- package/lib/src/cli.js +14 -23
- package/lib/src/cli.js.map +1 -1
- package/lib/src/spammer/spammer.d.ts.map +1 -1
- package/lib/src/spammer/spammer.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
A powerful tool for simulating npm package downloads and analyzing their impact on package popularity and ranking. This tool allows developers to test how download counts affect package visibility within the npm ecosystem.
|
|
4
4
|
|
|
5
|
-
>
|
|
5
|
+
> [!NOTE]
|
|
6
|
+
> This project is forked from and inspired by [npm-increaser-downloads](https://github.com/MinhOmega/npm-increaser-downloads). We've enhanced it with additional features including package version specification and version verification capabilities.
|
|
6
7
|
|
|
7
8
|
## โจ Features
|
|
8
9
|
|
|
@@ -55,37 +56,42 @@ nid2 [options]
|
|
|
55
56
|
|
|
56
57
|
### ๐ Available Options
|
|
57
58
|
|
|
58
|
-
| Option
|
|
59
|
-
|
|
60
|
-
| `--package-name`
|
|
61
|
-
| `--package-version`
|
|
62
|
-
| `--num-downloads`
|
|
63
|
-
| `--max-concurrent-downloads` | `-m`
|
|
64
|
-
| `--download-timeout`
|
|
59
|
+
| Option | Short | Type | Description |
|
|
60
|
+
| ---------------------------- | ----- | -------- | ----------------------------------------------------- |
|
|
61
|
+
| `--package-name` | `-p` | `string` | NPM package name to simulate downloads for |
|
|
62
|
+
| `--package-version` | `-v` | `string` | Package version (defaults to latest if not specified) |
|
|
63
|
+
| `--num-downloads` | `-n` | `number` | Total number of downloads to simulate |
|
|
64
|
+
| `--max-concurrent-downloads` | `-m` | `number` | Maximum concurrent downloads at once |
|
|
65
|
+
| `--download-timeout` | `-t` | `number` | Download timeout in milliseconds |
|
|
65
66
|
|
|
66
67
|
### ๐ Usage Examples
|
|
67
68
|
|
|
68
69
|
**Interactive mode:**
|
|
70
|
+
|
|
69
71
|
```bash
|
|
70
72
|
nid2
|
|
71
73
|
```
|
|
72
74
|
|
|
73
75
|
**Simulate downloads for latest version:**
|
|
76
|
+
|
|
74
77
|
```bash
|
|
75
78
|
nid2 -p lodash -n 1000 -m 300 -t 3000
|
|
76
79
|
```
|
|
77
80
|
|
|
78
81
|
**Simulate downloads for specific version:**
|
|
82
|
+
|
|
79
83
|
```bash
|
|
80
84
|
nid2 -p lodash -v 4.17.21 -n 1000 -m 300 -t 3000
|
|
81
85
|
```
|
|
82
86
|
|
|
83
87
|
**Using long option names:**
|
|
88
|
+
|
|
84
89
|
```bash
|
|
85
90
|
nid2 --package-name lodash --package-version 4.17.21 --num-downloads 1000 --max-concurrent-downloads 300 --download-timeout 3000
|
|
86
91
|
```
|
|
87
92
|
|
|
88
93
|
**Get help:**
|
|
94
|
+
|
|
89
95
|
```bash
|
|
90
96
|
nid2 help
|
|
91
97
|
nid2 -h
|
|
@@ -108,14 +114,14 @@ npm install
|
|
|
108
114
|
|
|
109
115
|
### ๐งช Available Scripts
|
|
110
116
|
|
|
111
|
-
| Script
|
|
112
|
-
|
|
113
|
-
| `npm run dev`
|
|
117
|
+
| Script | Description |
|
|
118
|
+
| ----------------- | ---------------------------------------------- |
|
|
119
|
+
| `npm run dev` | Run in development mode with file watching |
|
|
114
120
|
| `npm run dev:cli` | Run CLI in development mode with file watching |
|
|
115
|
-
| `npm run build`
|
|
116
|
-
| `npm start`
|
|
117
|
-
| `npm test`
|
|
118
|
-
| `npm run format`
|
|
121
|
+
| `npm run build` | Compile TypeScript to JavaScript |
|
|
122
|
+
| `npm start` | Run compiled JavaScript |
|
|
123
|
+
| `npm test` | Run test suite with coverage |
|
|
124
|
+
| `npm run format` | Format code and fix linting issues |
|
|
119
125
|
|
|
120
126
|
## โ๏ธ Configuration
|
|
121
127
|
|
|
@@ -137,13 +143,13 @@ export default config;
|
|
|
137
143
|
|
|
138
144
|
### Configuration Options
|
|
139
145
|
|
|
140
|
-
| Property
|
|
141
|
-
|
|
142
|
-
| `packageName`
|
|
143
|
-
| `packageVersion`
|
|
144
|
-
| `numDownloads`
|
|
145
|
-
| `maxConcurrentDownloads` | `number`
|
|
146
|
-
| `downloadTimeout`
|
|
146
|
+
| Property | Type | Description | Example |
|
|
147
|
+
| ------------------------ | ------------------- | ------------------------------------- | ----------- |
|
|
148
|
+
| `packageName` | `string` | NPM package to simulate downloads for | `"lodash"` |
|
|
149
|
+
| `packageVersion` | `string` (optional) | Specific package version | `"4.17.21"` |
|
|
150
|
+
| `numDownloads` | `number` | Total downloads to simulate | `1000` |
|
|
151
|
+
| `maxConcurrentDownloads` | `number` | Parallel downloads at once | `300` |
|
|
152
|
+
| `downloadTimeout` | `number` | Timeout per download (ms) | `3000` |
|
|
147
153
|
|
|
148
154
|
### โก Performance Tuning
|
|
149
155
|
|
|
@@ -195,4 +201,4 @@ Contributions are welcome! Please feel free to submit Pull Requests or open Issu
|
|
|
195
201
|
|
|
196
202
|
- [npmjs Registry](https://www.npmjs.com)
|
|
197
203
|
- [npm Documentation](https://docs.npmjs.com)
|
|
198
|
-
- [npm Trends](https://www.npmtrends.com)
|
|
204
|
+
- [npm Trends](https://www.npmtrends.com)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-increaser-downloads.config.d.ts","sourceRoot":"","sources":["../npm-increaser-downloads.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,QAAA,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"npm-increaser-downloads.config.d.ts","sourceRoot":"","sources":["../npm-increaser-downloads.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,QAAA,MAAM,MAAM,EAAE,MAiBb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const config = {
|
|
4
4
|
// NPM package to increase the download count for
|
|
5
5
|
packageName: "",
|
|
6
|
+
// Version to increase the downloads of (optional)
|
|
7
|
+
packageVersion: undefined,
|
|
6
8
|
// Number of downloads to add to the package
|
|
7
9
|
numDownloads: 1000,
|
|
8
10
|
// Amount of downloads you can run in parallel at once.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-increaser-downloads.config.js","sourceRoot":"","sources":["../npm-increaser-downloads.config.ts"],"names":[],"mappings":";;AAEA,MAAM,MAAM,GAAW;IACrB,iDAAiD;IACjD,WAAW,EAAE,EAAE;IAEf,4CAA4C;IAC5C,YAAY,EAAE,IAAI;IAElB,uDAAuD;IACvD,yEAAyE;IACzE,sBAAsB,EAAE,GAAG;IAE3B,kDAAkD;IAClD,mEAAmE;IACnE,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
|
1
|
+
{"version":3,"file":"npm-increaser-downloads.config.js","sourceRoot":"","sources":["../npm-increaser-downloads.config.ts"],"names":[],"mappings":";;AAEA,MAAM,MAAM,GAAW;IACrB,iDAAiD;IACjD,WAAW,EAAE,EAAE;IAEf,kDAAkD;IAClD,cAAc,EAAE,SAAS;IAEzB,4CAA4C;IAC5C,YAAY,EAAE,IAAI;IAElB,uDAAuD;IACvD,yEAAyE;IACzE,sBAAsB,EAAE,GAAG;IAE3B,kDAAkD;IAClD,mEAAmE;IACnE,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,kBAAe,MAAM,CAAC"}
|
package/lib/src/cli.js
CHANGED
|
@@ -6,9 +6,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
const yargs_1 = __importDefault(require("yargs"));
|
|
8
8
|
const helpers_1 = require("yargs/helpers");
|
|
9
|
-
const prompts_1 = require("./cli/prompts");
|
|
10
9
|
const config_1 = require("./config");
|
|
11
10
|
const spammer_1 = require("./spammer/spammer");
|
|
11
|
+
const npm_increaser_downloads_config_1 = __importDefault(require("../npm-increaser-downloads.config"));
|
|
12
12
|
const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
13
13
|
.usage("Usage: nid [options]\n\n" +
|
|
14
14
|
"Note: if no options are provided, nid will prompt for input interactively.\n\n" +
|
|
@@ -24,11 +24,13 @@ const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
|
24
24
|
alias: "p",
|
|
25
25
|
type: "string",
|
|
26
26
|
description: "NPM package to increase the downloads of",
|
|
27
|
+
demandOption: true,
|
|
28
|
+
requiresArg: true,
|
|
27
29
|
})
|
|
28
30
|
.option("package-version", {
|
|
29
31
|
alias: "v",
|
|
30
32
|
type: "string",
|
|
31
|
-
description: "Version to increase the downloads of"
|
|
33
|
+
description: "Version to increase the downloads of",
|
|
32
34
|
})
|
|
33
35
|
.option("num-downloads", {
|
|
34
36
|
alias: "n",
|
|
@@ -49,31 +51,20 @@ const argv = (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
|
49
51
|
.alias("help", "h")
|
|
50
52
|
.epilogue("For more information, visit https://github.com/MinhOmega/npm-increaser-downloads").argv;
|
|
51
53
|
const runWithArgs = (args) => {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
(0, prompts_1.getConfigFromCli)().then(config_1.setConfig).then(spammer_1.run);
|
|
57
|
-
return;
|
|
54
|
+
if (!args["package-name"]) {
|
|
55
|
+
console.log("Error: --package-name (-p) is required.");
|
|
56
|
+
yargs_1.default.showHelp();
|
|
57
|
+
process.exit(1);
|
|
58
58
|
}
|
|
59
59
|
const config = {
|
|
60
60
|
packageName: args["package-name"],
|
|
61
|
-
packageVersion: args["package-version"],
|
|
62
|
-
numDownloads: args["num-downloads"],
|
|
63
|
-
maxConcurrentDownloads: args["max-concurrent-downloads"],
|
|
64
|
-
downloadTimeout: args["download-timeout"],
|
|
61
|
+
packageVersion: args["package-version"] ?? undefined,
|
|
62
|
+
numDownloads: args["num-downloads"] ?? npm_increaser_downloads_config_1.default.numDownloads,
|
|
63
|
+
maxConcurrentDownloads: args["max-concurrent-downloads"] ?? npm_increaser_downloads_config_1.default.maxConcurrentDownloads,
|
|
64
|
+
downloadTimeout: args["download-timeout"] ?? npm_increaser_downloads_config_1.default.downloadTimeout,
|
|
65
65
|
};
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
(0, config_1.setConfig)(config);
|
|
69
|
-
(0, spammer_1.run)();
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
// If any argument was provided but config is incomplete, show help and exit
|
|
73
|
-
console.log("Incomplete configuration. Please provide all required options or run without arguments for interactive mode.");
|
|
74
|
-
yargs_1.default.showHelp();
|
|
75
|
-
process.exit(1);
|
|
76
|
-
}
|
|
66
|
+
(0, config_1.setConfig)(config);
|
|
67
|
+
(0, spammer_1.run)();
|
|
77
68
|
};
|
|
78
69
|
runWithArgs(argv);
|
|
79
70
|
//# sourceMappingURL=cli.js.map
|
package/lib/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";;;;;;AAEA,kDAAyC;AACzC,2CAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";;;;;;AAEA,kDAAyC;AACzC,2CAAwC;AACxC,qCAAqC;AAErC,+CAAwC;AACxC,uGAA8D;AAE9D,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACtC,KAAK,CACJ,0BAA0B;IACxB,gFAAgF;IAChF,4FAA4F;IAC5F,sFAAsF;IACtF,eAAe;IACf,WAAW;IACX,gDAAgD;IAChD,yDAAyD;IACzD,mHAAmH;IACnH,4CAA4C,CAC/C;KACA,MAAM,CAAC,cAAc,EAAE;IACtB,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,0CAA0C;IACvD,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,IAAI;CAClB,CAAC;KACD,MAAM,CAAC,iBAAiB,EAAE;IACzB,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,sCAAsC;CACpD,CAAC;KACD,MAAM,CAAC,eAAe,EAAE;IACvB,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,yCAAyC;CACvD,CAAC;KACD,MAAM,CAAC,0BAA0B,EAAE;IAClC,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,gDAAgD;CAC9D,CAAC;KACD,MAAM,CAAC,kBAAkB,EAAE;IAC1B,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,qDAAqD;CACnE,CAAC;KACD,IAAI,EAAE;KACN,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC;KAClB,QAAQ,CAAC,kFAAkF,CAAC,CAAC,IAAI,CAAC;AAErG,MAAM,WAAW,GAAG,CAClB,IAME,EACF,EAAE;IACF,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,eAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAGD,MAAM,MAAM,GAAW;QACrB,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC;QACjC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,SAAS;QACpD,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,wCAAa,CAAC,YAAY;QACjE,sBAAsB,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,wCAAa,CAAC,sBAAsB;QAChG,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,wCAAa,CAAC,eAAe;KAC3E,CAAC;IAEF,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;IAClB,IAAA,aAAG,GAAE,CAAC;AACR,CAAC,CAAC;AAEF,WAAW,CACT,IAME,CACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spammer.d.ts","sourceRoot":"","sources":["../../../src/spammer/spammer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAI9C,eAAO,MAAM,iBAAiB,+BAY7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAa,QAAQ,aAAa,CAY9D,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAa,QAAQ,MAAM,CAiBxD,
|
|
1
|
+
{"version":3,"file":"spammer.d.ts","sourceRoot":"","sources":["../../../src/spammer/spammer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAI9C,eAAO,MAAM,iBAAiB,+BAY7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAa,QAAQ,aAAa,CAY9D,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAa,QAAQ,MAAM,CAiBxD,CAAC;AAEF,eAAO,MAAM,mBAAmB,YAAmB,MAAM,KAAG,QAAQ,OAAO,CAa1E,CAAC;AAEF,eAAO,MAAM,eAAe,YAAmB,MAAM,SAAS,KAAK,KAAG,QAAQ,OAAO,CAkBpF,CAAC;AAqBF;;;GAGG;AACH,eAAO,MAAM,GAAG,QAAa,QAAQ,IAAI,CA4BxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spammer.js","sourceRoot":"","sources":["../../../src/spammer/spammer.ts"],"names":[],"mappings":";;;AAAA,mCAA8D;AAC9D,0CAAmE;AACnE,sCAAsC;AAGtC,uDAA8C;AAC9C,mCAAkF;AAClF,0CAAgD;AAEzC,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;IAC1C,MAAM,kBAAkB,GAAW,IAAA,6BAAqB,EAAC,IAAA,kBAAS,GAAE,CAAC,WAAW,CAAC,CAAC;IAElF,MAAM,cAAc,GAAmC,MAAM,IAAA,gBAAO,EAAiB;QACnF,OAAO,EAAE,qBAAqB;QAC9B,GAAG,EAAE,eAAe,kBAAkB,EAAE;QACxC,MAAM,EAAE,KAAK;KACd,CAAC,CAAC,KAAK,CAAC,CAAC,QAAqC,EAAE,EAAE;QACjD,MAAM,KAAK,CAAC,sBAAsB,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC,CAAC;AAZW,QAAA,iBAAiB,qBAY5B;AAEK,MAAM,gBAAgB,GAAG,KAAK,IAA4B,EAAE;IACjE,MAAM,kBAAkB,GAAW,IAAA,6BAAqB,EAAC,IAAA,kBAAS,GAAE,CAAC,WAAW,CAAC,CAAC;IAElF,MAAM,YAAY,GAAkC,MAAM,IAAA,gBAAO,EAAgB;QAC/E,OAAO,EAAE,4BAA4B;QACrC,GAAG,EAAE,IAAI,kBAAkB,SAAS;QACpC,MAAM,EAAE,KAAK;KACd,CAAC,CAAC,KAAK,CAAC,CAAC,QAAoC,EAAE,EAAE;QAChD,MAAM,KAAK,CAAC,sBAAsB,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC,IAAI,CAAC;AAC3B,CAAC,CAAC;AAZW,QAAA,gBAAgB,oBAY3B;AAEK,MAAM,iBAAiB,GAAG,KAAK,IAAqB,EAAE;IAC3D,IAAI;QACF,wBAAe,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,MAAM,IAAA,yBAAiB,GAAE,CAAC;QAChD,wBAAe,CAAC,OAAO,CAAC,iDAAiD,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACrH,OAAO,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;KACjD;IAAC,OAAO,UAAU,EAAE;QACnB,wBAAe,CAAC,IAAI,GAAG,mDAAmD,CAAC;QAC3E,IAAI;YACF,MAAM,aAAa,GAAG,MAAM,IAAA,wBAAgB,GAAE,CAAC;YAC/C,wBAAe,CAAC,OAAO,CAAC,2CAA2C,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5F,OAAO,aAAa,CAAC,OAAO,CAAC;SAC9B;QAAC,OAAO,UAAU,EAAE;YACnB,wBAAe,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;SAChG;KACF;AACH,CAAC,
|
|
1
|
+
{"version":3,"file":"spammer.js","sourceRoot":"","sources":["../../../src/spammer/spammer.ts"],"names":[],"mappings":"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"}
|