@ffflorian/windows-shortcut-maker 2.3.0 → 2.3.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 +12 -17
- package/{index.js → dist/cjs/index.js} +7 -12
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/mjs/index.d.ts +24 -0
- package/dist/mjs/index.js +65 -0
- package/dist/mjs/index.js.map +1 -0
- package/dist/mjs/package.json +3 -0
- package/package.json +17 -12
- package/index.js.map +0 -1
- /package/{index.d.ts → dist/cjs/index.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -13,15 +13,18 @@ This module uses a Windows VBScript file to get native access to the operational
|
|
|
13
13
|
- Supports all Windows NT 4.0 (and beyond) systems.
|
|
14
14
|
- The module is extremely small and provides access to the entire API.
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
## Prerequisites
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
- [Node.js](https://nodejs.org) >= 14
|
|
19
|
+
- npm (preinstalled) or [yarn](https://classic.yarnpkg.com) < 2
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
ℹ️ This is a hybrid [CommonJS](https://nodejs.org/docs/latest/api/modules.html#modules-commonjs-modules) / [ESM](https://nodejs.org/api/esm.html#introduction) module.
|
|
24
|
+
|
|
25
|
+
Run `yarn global add @ffflorian/windows-shortcut-maker` or `npm i -g @ffflorian/windows-shortcut-maker`
|
|
23
26
|
|
|
24
|
-
## Basic usage
|
|
27
|
+
## Basic usage
|
|
25
28
|
|
|
26
29
|
```ts
|
|
27
30
|
// Requires the Windows Shortcut Maker module
|
|
@@ -51,9 +54,9 @@ try {
|
|
|
51
54
|
}
|
|
52
55
|
```
|
|
53
56
|
|
|
54
|
-
|
|
57
|
+
## Documentation
|
|
55
58
|
|
|
56
|
-
|
|
59
|
+
### `make(options)`
|
|
57
60
|
|
|
58
61
|
> Returns `void` after asynchronously executing the wrapped script which makes the Windows API calls or throws an `Error` if no valid `filepath` parameter property was previously specified.
|
|
59
62
|
|
|
@@ -84,11 +87,3 @@ try {
|
|
|
84
87
|
> Returns `void` after synchronously executing the wrapped script which makes the Windows API calls or throws an `Error` if no valid `filepath` parameter property was previously specified.
|
|
85
88
|
>
|
|
86
89
|
> The API is the same as `makeSync()`
|
|
87
|
-
|
|
88
|
-
# License
|
|
89
|
-
|
|
90
|
-
This project exists under the [GPL-3.0 license](LICENSE).
|
|
91
|
-
|
|
92
|
-
# Development
|
|
93
|
-
|
|
94
|
-
1. Add support for making internet shortcuts.
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const child_process_1 = require("child_process");
|
|
5
|
-
const fs = require("fs");
|
|
6
|
-
const path = require("path");
|
|
1
|
+
import { spawn, spawnSync } from 'node:child_process';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
7
4
|
function mergeOptions(options) {
|
|
8
5
|
const rawName = path.basename(options.filepath).replace(/(.*)\..*$/, '$1');
|
|
9
6
|
const defaultOptions = {
|
|
@@ -53,18 +50,16 @@ function buildArgs(options) {
|
|
|
53
50
|
options.linkHotkey,
|
|
54
51
|
];
|
|
55
52
|
}
|
|
56
|
-
function makeSync(options) {
|
|
53
|
+
export function makeSync(options) {
|
|
57
54
|
const checkedOptions = prepare(options);
|
|
58
|
-
|
|
55
|
+
spawnSync('wscript', buildArgs(checkedOptions));
|
|
59
56
|
}
|
|
60
|
-
|
|
61
|
-
function make(options) {
|
|
57
|
+
export function make(options) {
|
|
62
58
|
const checkedOptions = prepare(options);
|
|
63
59
|
return new Promise((resolve, reject) => {
|
|
64
|
-
|
|
60
|
+
spawn('wscript', buildArgs(checkedOptions))
|
|
65
61
|
.on('error', reject)
|
|
66
62
|
.on('exit', () => resolve());
|
|
67
63
|
});
|
|
68
64
|
}
|
|
69
|
-
exports.make = make;
|
|
70
65
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface ShortcutOptions {
|
|
2
|
+
/** the absolute path including the name of which file should the module make a shortcut (required). */
|
|
3
|
+
filepath: string;
|
|
4
|
+
/** create the shortcut even if the original file cannot be found. */
|
|
5
|
+
force?: boolean;
|
|
6
|
+
/** the arguments passed to the original file when the new shortcut is executed. */
|
|
7
|
+
linkArgs?: string;
|
|
8
|
+
/** the absolute path in which folder the original file should start executing. */
|
|
9
|
+
linkCwd?: string;
|
|
10
|
+
/** the description message shown when the cursor stands over the new shortcut without clicking it. */
|
|
11
|
+
linkDescription?: string;
|
|
12
|
+
/** the folder where to save the link (default is the current user's desktop) */
|
|
13
|
+
linkFilepath?: string;
|
|
14
|
+
/** the key combination that is going to trigger the new shortcut execution. (e.g. `'ALT+CTRL+F'`) */
|
|
15
|
+
linkHotkey?: string;
|
|
16
|
+
/** the absolute path to an `.ico` extension image used as the icon for the new shortcut. */
|
|
17
|
+
linkIcon?: string;
|
|
18
|
+
/** the name given for the new shortcut file which obeys the same name rules as a regular file does. */
|
|
19
|
+
linkName?: string;
|
|
20
|
+
/** the initial window mode adopted by the original file when executed. (e.g. `3` is maximized, `4` is normal and `7` is minimized) */
|
|
21
|
+
linkWindowMode?: number;
|
|
22
|
+
}
|
|
23
|
+
export declare function makeSync(options: ShortcutOptions | string): void;
|
|
24
|
+
export declare function make(options: ShortcutOptions | string): Promise<void>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { spawn, spawnSync } from 'node:child_process';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
function mergeOptions(options) {
|
|
5
|
+
const rawName = path.basename(options.filepath).replace(/(.*)\..*$/, '$1');
|
|
6
|
+
const defaultOptions = {
|
|
7
|
+
filepath: options.filepath,
|
|
8
|
+
force: false,
|
|
9
|
+
linkArgs: '',
|
|
10
|
+
linkCwd: '',
|
|
11
|
+
linkDescription: rawName,
|
|
12
|
+
linkFilepath: '',
|
|
13
|
+
linkHotkey: '',
|
|
14
|
+
linkIcon: options.filepath,
|
|
15
|
+
linkName: rawName,
|
|
16
|
+
linkWindowMode: 4,
|
|
17
|
+
};
|
|
18
|
+
return Object.assign(Object.assign({}, defaultOptions), options);
|
|
19
|
+
}
|
|
20
|
+
function prepare(options) {
|
|
21
|
+
if (typeof options === 'string') {
|
|
22
|
+
options = { filepath: options };
|
|
23
|
+
}
|
|
24
|
+
const checkedOptions = mergeOptions(options);
|
|
25
|
+
if (!checkedOptions.force && !fs.existsSync(checkedOptions.filepath)) {
|
|
26
|
+
throw new Error(`Specified file path "${checkedOptions.filepath}" does not exist`);
|
|
27
|
+
}
|
|
28
|
+
if (checkedOptions.linkFilepath && !checkedOptions.force) {
|
|
29
|
+
if (!fs.existsSync(checkedOptions.linkFilepath)) {
|
|
30
|
+
throw new Error(`Specified link file path "${checkedOptions.linkFilepath}" does not exist`);
|
|
31
|
+
}
|
|
32
|
+
if (!fs.lstatSync(checkedOptions.linkFilepath).isDirectory()) {
|
|
33
|
+
throw new Error(`Specified link file path "${checkedOptions.linkFilepath}" is not a directory`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return checkedOptions;
|
|
37
|
+
}
|
|
38
|
+
function buildArgs(options) {
|
|
39
|
+
const scriptPath = path.join(__dirname, '../scripts/createLink.vbs');
|
|
40
|
+
return [
|
|
41
|
+
scriptPath,
|
|
42
|
+
options.filepath,
|
|
43
|
+
options.linkFilepath,
|
|
44
|
+
options.linkName,
|
|
45
|
+
options.linkArgs,
|
|
46
|
+
options.linkDescription,
|
|
47
|
+
options.linkCwd,
|
|
48
|
+
options.linkIcon,
|
|
49
|
+
options.linkWindowMode.toString(),
|
|
50
|
+
options.linkHotkey,
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
export function makeSync(options) {
|
|
54
|
+
const checkedOptions = prepare(options);
|
|
55
|
+
spawnSync('wscript', buildArgs(checkedOptions));
|
|
56
|
+
}
|
|
57
|
+
export function make(options) {
|
|
58
|
+
const checkedOptions = prepare(options);
|
|
59
|
+
return new Promise((resolve, reject) => {
|
|
60
|
+
spawn('wscript', buildArgs(checkedOptions))
|
|
61
|
+
.on('error', reject)
|
|
62
|
+
.on('exit', () => resolve());
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -9,12 +9,16 @@
|
|
|
9
9
|
"typescript": "5.0.4"
|
|
10
10
|
},
|
|
11
11
|
"engines": {
|
|
12
|
-
"node": ">=
|
|
12
|
+
"node": ">= 14.16"
|
|
13
|
+
},
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"import": "./dist/mjs/index.js",
|
|
17
|
+
"require": "./dist/cjs/index.js"
|
|
18
|
+
}
|
|
13
19
|
},
|
|
14
20
|
"files": [
|
|
15
|
-
"
|
|
16
|
-
"index.js",
|
|
17
|
-
"index.js.map",
|
|
21
|
+
"dist",
|
|
18
22
|
"scripts"
|
|
19
23
|
],
|
|
20
24
|
"keywords": [
|
|
@@ -27,18 +31,19 @@
|
|
|
27
31
|
"url"
|
|
28
32
|
],
|
|
29
33
|
"license": "GPL-3.0",
|
|
30
|
-
"main": "index.js",
|
|
34
|
+
"main": "dist/cjs/index.js",
|
|
35
|
+
"module": "dist/mjs/index.js",
|
|
31
36
|
"name": "@ffflorian/windows-shortcut-maker",
|
|
32
|
-
"publishConfig": {
|
|
33
|
-
"directory": "flattened"
|
|
34
|
-
},
|
|
35
37
|
"repository": "https://github.com/ffflorian/node-packages/tree/main/packages/windows-shortcut-maker",
|
|
36
38
|
"scripts": {
|
|
37
|
-
"build": "
|
|
39
|
+
"build": "yarn build:cjs && yarn build:mjs && yarn generate:packagejson",
|
|
40
|
+
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
41
|
+
"build:mjs": "tsc -p tsconfig.json",
|
|
38
42
|
"clean": "rimraf dist",
|
|
39
43
|
"dist": "yarn clean && yarn build",
|
|
40
|
-
"
|
|
41
|
-
"postversion": "node ../publish-flat/dist/cli-copy.js -o flattened/package.json version"
|
|
44
|
+
"generate:packagejson": "../../bin/generate-hybrid-package-json.sh"
|
|
42
45
|
},
|
|
43
|
-
"
|
|
46
|
+
"type": "module",
|
|
47
|
+
"version": "2.3.1",
|
|
48
|
+
"gitHead": "fee6dde4396255259028c1c723a95b9f6ec5b281"
|
|
44
49
|
}
|
package/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAC/C,yBAAyB;AACzB,6BAA6B;AAyB7B,SAAS,YAAY,CAAC,OAAwB;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG;QACrB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,OAAO;QACxB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO;QACjB,cAAc,EAAE,CAAC;KAClB,CAAC;IACF,uCACK,cAAc,GACd,OAAO,EACV;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,OAAiC;IAChD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,OAAO,GAAG,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC;KAC/B;IACD,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAE7C,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;QACpE,MAAM,IAAI,KAAK,CAAC,wBAAwB,cAAc,CAAC,QAAQ,kBAAkB,CAAC,CAAC;KACpF;IAED,IAAI,cAAc,CAAC,YAAY,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;YAC/C,MAAM,IAAI,KAAK,CAAC,6BAA6B,cAAc,CAAC,YAAY,kBAAkB,CAAC,CAAC;SAC7F;QACD,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,EAAE;YAC5D,MAAM,IAAI,KAAK,CAAC,6BAA6B,cAAc,CAAC,YAAY,sBAAsB,CAAC,CAAC;SACjG;KACF;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,SAAS,CAAC,OAAkC;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;IACrE,OAAO;QACL,UAAU;QACV,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,YAAY;QACpB,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,eAAe;QACvB,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE;QACjC,OAAO,CAAC,UAAU;KACnB,CAAC;AACJ,CAAC;AAED,SAAgB,QAAQ,CAAC,OAAiC;IACxD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,IAAA,yBAAS,EAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;AAClD,CAAC;AAHD,4BAGC;AAED,SAAgB,IAAI,CAAC,OAAiC;IACpD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,qBAAK,EAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;aACxC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;aACnB,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAPD,oBAOC"}
|
|
File without changes
|