scottkosman 1.1.3 β 1.1.5
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 +18 -0
- package/dist/utils/menuItems.d.ts +7 -0
- package/dist/utils/menuItems.d.ts.map +1 -0
- package/dist/utils/menuItems.js +51 -0
- package/dist/utils/menuItems.js.map +1 -0
- package/dist/utils/welcome.d.ts.map +1 -1
- package/dist/utils/welcome.js +3 -49
- package/dist/utils/welcome.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Scott Kosman CLI
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/scottkosman)
|
|
4
|
+
[](https://www.npmjs.com/package/scottkosman)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
[](https://nodejs.org)
|
|
7
|
+
[](https://github.com/humantorch/scottkosman-cli/pulls)
|
|
8
|
+
|
|
3
9
|
A modern, interactive command-line interface built with TypeScript that showcases Scott Kosman's professional information and provides quick access to external links.
|
|
4
10
|
|
|
5
11
|
## π Features
|
|
@@ -127,6 +133,18 @@ npm run lint
|
|
|
127
133
|
npm run format
|
|
128
134
|
```
|
|
129
135
|
|
|
136
|
+
### Running Tests
|
|
137
|
+
|
|
138
|
+
This project uses [Jest](https://jestjs.io/) and [ts-jest](https://kulshekhar.github.io/ts-jest/) for testing.
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
npm test
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
- Tests are located in `src/**/*.test.ts`
|
|
145
|
+
- Menu logic and data are tested in isolation for reliability
|
|
146
|
+
- To add more tests, create additional `*.test.ts` files
|
|
147
|
+
|
|
130
148
|
### Publishing
|
|
131
149
|
|
|
132
150
|
The project includes automated publishing scripts:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menuItems.d.ts","sourceRoot":"","sources":["../../src/utils/menuItems.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,EAAE,QAAQ,EA8C/B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.menuItems = void 0;
|
|
4
|
+
exports.menuItems = [
|
|
5
|
+
{
|
|
6
|
+
name: 'π» scottkosman.com',
|
|
7
|
+
value: 'https://scottkosman.com',
|
|
8
|
+
description: 'Visit my personal website'
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: 'ππ»ββοΈ How To Scott',
|
|
12
|
+
value: 'https://scottkosman.com/post/readme/',
|
|
13
|
+
description: 'My "Manager README", useful info if you currently do or want to work with/for me'
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: 'π GitHub Profile',
|
|
17
|
+
value: 'https://github.com/humantorch',
|
|
18
|
+
description: 'If you\'re reading this you probably already know what GitHub is'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'π’ LinkedIn Profile',
|
|
22
|
+
value: 'https://linkedin.com/in/scottkosman',
|
|
23
|
+
description: 'Join my Professional Networkβ’'
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: 'π 1Password',
|
|
27
|
+
value: 'https://1password.com',
|
|
28
|
+
description: 'Where I work'
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
name: 'π Current Resume',
|
|
32
|
+
value: 'https://docs.google.com/document/d/1gcEzsNHWAllGH9mt6bfjie900B-rQNiatwdHiRj_Yog/edit?tab=t.0#heading=h.f5t1zjbkvcg2',
|
|
33
|
+
description: 'Check out what I\'ve done in the past'
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: 'πΈ Instagram',
|
|
37
|
+
value: 'https://instagram.com/humantorch',
|
|
38
|
+
description: 'See what I had for lunch'
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'π§ This CLI Repository',
|
|
42
|
+
value: 'https://github.com/humantorch/scottkosman-cli',
|
|
43
|
+
description: 'See how this CLI was built (TypeScript, Commander.js, etc.)'
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: 'π§ Email Me',
|
|
47
|
+
value: 'mailto:kosman.scott@gmail.com',
|
|
48
|
+
description: 'Email? In 2025? I do check this, I promise.'
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
//# sourceMappingURL=menuItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menuItems.js","sourceRoot":"","sources":["../../src/utils/menuItems.ts"],"names":[],"mappings":";;;AAMa,QAAA,SAAS,GAAe;IACnC;QACE,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,2BAA2B;KACzC;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,sCAAsC;QAC7C,WAAW,EAAE,kFAAkF;KAChG;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,+BAA+B;QACtC,WAAW,EAAE,kEAAkE;KAChF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,qCAAqC;QAC5C,WAAW,EAAE,+BAA+B;KAC7C;IACD;QACE,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,cAAc;KAC5B;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,qHAAqH;QAC5H,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,kCAAkC;QACzC,WAAW,EAAE,0BAA0B;KACxC;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,+CAA+C;QACtD,WAAW,EAAE,6DAA6D;KAC3E;IACD;QACE,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,+BAA+B;QACtC,WAAW,EAAE,6CAA6C;KAC3D;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/utils/welcome.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/utils/welcome.ts"],"names":[],"mappings":"AAWA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA8FjD"}
|
package/dist/utils/welcome.js
CHANGED
|
@@ -13,53 +13,7 @@ const path_1 = __importDefault(require("path"));
|
|
|
13
13
|
const fs_1 = __importDefault(require("fs"));
|
|
14
14
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
15
15
|
const open_1 = __importDefault(require("open"));
|
|
16
|
-
const
|
|
17
|
-
{
|
|
18
|
-
name: 'π» scottkosman.com',
|
|
19
|
-
value: 'https://scottkosman.com',
|
|
20
|
-
description: 'Visit my personal website'
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
name: 'ππ»ββοΈ How To Scott',
|
|
24
|
-
value: 'https://scottkosman.com/post/readme/',
|
|
25
|
-
description: 'My "Manager README", useful info if you currently do or want to work with/for me'
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
name: 'π GitHub Profile',
|
|
29
|
-
value: 'https://github.com/humantorch',
|
|
30
|
-
description: 'If you\'re reading this you probably already know what GitHub is'
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
name: 'π’ LinkedIn Profile',
|
|
34
|
-
value: 'https://linkedin.com/in/scottkosman',
|
|
35
|
-
description: 'Join my Professional Networkβ’'
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
name: 'π 1Password',
|
|
39
|
-
value: 'https://1password.com',
|
|
40
|
-
description: 'Where I work'
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
name: 'π Current Resume',
|
|
44
|
-
value: 'https://docs.google.com/document/d/1gcEzsNHWAllGH9mt6bfjie900B-rQNiatwdHiRj_Yog/edit?tab=t.0#heading=h.f5t1zjbkvcg2',
|
|
45
|
-
description: 'Check out what I\'ve done in the past'
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: 'πΈ Instagram',
|
|
49
|
-
value: 'https://instagram.com/humantorch',
|
|
50
|
-
description: 'See what I had for lunch'
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: 'π§ This CLI Repository',
|
|
54
|
-
value: 'https://github.com/humantorch/scottkosman-cli',
|
|
55
|
-
description: 'See how this CLI was built (TypeScript, Commander.js, etc.)'
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
name: 'π§ Email Me',
|
|
59
|
-
value: 'mailto:kosman.scott@gmail.com',
|
|
60
|
-
description: 'Email? In 2025? I do check this, I promise.'
|
|
61
|
-
},
|
|
62
|
-
];
|
|
16
|
+
const menuItems_js_1 = require("./menuItems.js");
|
|
63
17
|
async function showWelcome() {
|
|
64
18
|
// Clear and display everything ONCE
|
|
65
19
|
console.clear();
|
|
@@ -86,7 +40,7 @@ async function showWelcome() {
|
|
|
86
40
|
// Display everything
|
|
87
41
|
console.log(gradientTitle);
|
|
88
42
|
// Create subtitle
|
|
89
|
-
const subtitle = chalk_1.default.bold('
|
|
43
|
+
const subtitle = chalk_1.default.bold('Started as a front-end dev when tables were still cool. Now I lead teams\nand coach managers at 1Password. 25 years deep in tech, and still choosing \npeople over process, clarity over chaos, and delivery over drama. He/him.');
|
|
90
44
|
// Create info box (commented out for now, but can be reused later)
|
|
91
45
|
// const info = boxen(
|
|
92
46
|
// `${chalk.bold('Welcome!')}\n\n` +
|
|
@@ -117,7 +71,7 @@ async function showWelcome() {
|
|
|
117
71
|
name: 'selectedUrl',
|
|
118
72
|
message: 'Choose an option:',
|
|
119
73
|
choices: [
|
|
120
|
-
...menuItems.map(item => ({
|
|
74
|
+
...menuItems_js_1.menuItems.map(item => ({
|
|
121
75
|
name: `${item.name}${item.description ? ` - ${item.description}` : ''}`,
|
|
122
76
|
value: item.value
|
|
123
77
|
})),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/utils/welcome.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/utils/welcome.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scottkosman",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.5",
|
|
4
4
|
"description": "A modern, interactive command-line interface for Scott Kosman with quick access to external links",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -53,13 +53,14 @@
|
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@types/figlet": "^1.5.8",
|
|
55
55
|
"@types/inquirer": "^9.0.7",
|
|
56
|
-
"@types/jest": "^29.5.
|
|
56
|
+
"@types/jest": "^29.5.14",
|
|
57
57
|
"@types/node": "^20.10.0",
|
|
58
58
|
"@typescript-eslint/eslint-plugin": "^6.13.0",
|
|
59
59
|
"@typescript-eslint/parser": "^6.13.0",
|
|
60
60
|
"eslint": "^8.54.0",
|
|
61
61
|
"jest": "^29.7.0",
|
|
62
62
|
"prettier": "^3.1.0",
|
|
63
|
+
"ts-jest": "^29.4.0",
|
|
63
64
|
"tsx": "^4.6.0",
|
|
64
65
|
"typescript": "^5.3.0"
|
|
65
66
|
},
|