heyq02 0.1.3 → 0.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 +8 -8
- package/dist/b.js +28 -31
- package/dist/cli.js +12 -15
- package/dist/index.d.ts +1 -2
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
<h1>Hello, I'm
|
|
1
|
+
<h1>Hello, I'm Ari He</h1>
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Experience
|
|
4
4
|
|
|
5
|
-
**[
|
|
5
|
+
**[JD.com, Inc.](https://www.jd.com/)** · 2024.06 – Present
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
7
|
+
- Owned iterations for JD Takeout across the mini program, H5, and admin console
|
|
8
|
+
- Upgraded the admin console off its legacy architecture and improved TP95
|
|
9
|
+
- Built C3-level AI Infra for Local Life product and engineering, improving R&D efficiency
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Skills
|
|
12
12
|
|
|
13
13
|
<picture>
|
|
14
14
|
<source media="(prefers-color-scheme: dark)" srcset="https://simpleicons.dev/icons?icons=vuedotjs,react,nextdotjs,rolldown,vite,oxc,spring,redis,rabbitmq,nginx,docker&perline=11&theme=dark" />
|
|
15
|
-
<img width="100%" alt="Vue
|
|
15
|
+
<img width="100%" alt="Vue, React, Next, Rolldown, Vite, Oxc, Spring, Redis, RabbitMQ, Nginx, Docker" src="https://simpleicons.dev/icons?icons=vuedotjs,react,nextdotjs,rolldown,vite,oxc,spring,redis,rabbitmq,nginx,docker&perline=11&theme=light" />
|
|
16
16
|
</picture>
|
package/dist/b.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
const site = 'https://intro.heyq02.com';
|
|
2
2
|
const profile = {
|
|
3
|
-
name: '
|
|
3
|
+
name: 'Ari He',
|
|
4
4
|
givenNames: [
|
|
5
|
-
'
|
|
6
|
-
'
|
|
5
|
+
'Ari He',
|
|
6
|
+
'Developer'
|
|
7
7
|
],
|
|
8
|
-
role: '
|
|
9
|
-
bio: '
|
|
10
|
-
quote: 'everything always works out at the end',
|
|
8
|
+
role: '',
|
|
9
|
+
bio: 'Full-stack engineer / open-source enthusiast / vlogger on career. Focused on AI that speeds up development and ships in real products (๑•̀ㅂ•́)و',
|
|
11
10
|
phone: '+86 135****8086',
|
|
12
11
|
email: 'hello@heyq02.com',
|
|
13
12
|
site: site,
|
|
@@ -28,26 +27,26 @@ const profile = {
|
|
|
28
27
|
detail: '全栈糕手Ari'
|
|
29
28
|
},
|
|
30
29
|
{
|
|
31
|
-
label: '
|
|
30
|
+
label: 'Juejin',
|
|
32
31
|
href: 'https://juejin.cn/user/708557910842296',
|
|
33
32
|
detail: '编程糕手Ari'
|
|
34
33
|
},
|
|
35
34
|
{
|
|
36
|
-
label: '
|
|
35
|
+
label: 'WeChat',
|
|
37
36
|
href: `${site}/wechat.jpg`,
|
|
38
|
-
detail: '
|
|
37
|
+
detail: 'Scan to add'
|
|
39
38
|
}
|
|
40
39
|
],
|
|
41
40
|
experiences: [
|
|
42
41
|
{
|
|
43
|
-
company: '
|
|
42
|
+
company: 'JD.com, Inc.',
|
|
44
43
|
href: 'https://www.jd.com/',
|
|
45
44
|
start: '2024.06',
|
|
46
|
-
end: '
|
|
45
|
+
end: 'Present',
|
|
47
46
|
points: [
|
|
48
|
-
'
|
|
49
|
-
'
|
|
50
|
-
'
|
|
47
|
+
'Owned iterations for JD Takeout across the mini program, H5, and admin console',
|
|
48
|
+
'Upgraded the admin console off its legacy architecture and improved TP95',
|
|
49
|
+
'Built C3-level AI Infra for Local Life product and engineering, improving R&D efficiency'
|
|
51
50
|
]
|
|
52
51
|
}
|
|
53
52
|
],
|
|
@@ -55,57 +54,57 @@ const profile = {
|
|
|
55
54
|
{
|
|
56
55
|
name: 'Vue',
|
|
57
56
|
href: 'https://vuejs.org/',
|
|
58
|
-
summary: '
|
|
57
|
+
summary: 'Progressive JavaScript framework for building web UIs'
|
|
59
58
|
},
|
|
60
59
|
{
|
|
61
60
|
name: 'React',
|
|
62
61
|
href: 'https://react.dev/',
|
|
63
|
-
summary: '
|
|
62
|
+
summary: 'The library for web and native user interfaces'
|
|
64
63
|
},
|
|
65
64
|
{
|
|
66
65
|
name: 'Next',
|
|
67
66
|
href: 'https://nextjs.org/',
|
|
68
|
-
summary: '
|
|
67
|
+
summary: 'The React framework for the web'
|
|
69
68
|
},
|
|
70
69
|
{
|
|
71
70
|
name: 'Rolldown',
|
|
72
71
|
href: 'https://rolldown.rs/',
|
|
73
|
-
summary: '
|
|
72
|
+
summary: 'Rust-based JavaScript bundler with a Rollup-compatible API'
|
|
74
73
|
},
|
|
75
74
|
{
|
|
76
75
|
name: 'Vite',
|
|
77
76
|
href: 'https://vite.dev/',
|
|
78
|
-
summary: '
|
|
77
|
+
summary: 'Frontend build tool for the web'
|
|
79
78
|
},
|
|
80
79
|
{
|
|
81
80
|
name: 'Oxc',
|
|
82
81
|
href: 'https://oxc.rs/',
|
|
83
|
-
summary: '
|
|
82
|
+
summary: 'High-performance JavaScript tools written in Rust'
|
|
84
83
|
},
|
|
85
84
|
{
|
|
86
85
|
name: 'Spring',
|
|
87
86
|
href: 'https://spring.io/',
|
|
88
|
-
summary: '
|
|
87
|
+
summary: 'Framework for creating Java enterprise applications'
|
|
89
88
|
},
|
|
90
89
|
{
|
|
91
90
|
name: 'Redis',
|
|
92
91
|
href: 'https://redis.io/',
|
|
93
|
-
summary: '
|
|
92
|
+
summary: 'In-memory store for databases, cache, and messaging'
|
|
94
93
|
},
|
|
95
94
|
{
|
|
96
95
|
name: 'RabbitMQ',
|
|
97
96
|
href: 'https://www.rabbitmq.com/',
|
|
98
|
-
summary: '
|
|
97
|
+
summary: 'Open-source messaging and streaming broker'
|
|
99
98
|
},
|
|
100
99
|
{
|
|
101
100
|
name: 'Nginx',
|
|
102
101
|
href: 'https://nginx.org/',
|
|
103
|
-
summary: 'HTTP
|
|
102
|
+
summary: 'HTTP server, reverse proxy, and load balancer'
|
|
104
103
|
},
|
|
105
104
|
{
|
|
106
105
|
name: 'Docker',
|
|
107
106
|
href: 'https://www.docker.com/',
|
|
108
|
-
summary: '
|
|
107
|
+
summary: 'Open platform for building, shipping, and running apps'
|
|
109
108
|
}
|
|
110
109
|
],
|
|
111
110
|
projects: [
|
|
@@ -140,16 +139,14 @@ function renderPlain() {
|
|
|
140
139
|
'',
|
|
141
140
|
profile.bio,
|
|
142
141
|
'',
|
|
143
|
-
profile.quote,
|
|
144
|
-
'',
|
|
145
142
|
profile.site,
|
|
146
143
|
'',
|
|
147
|
-
'
|
|
144
|
+
'Experience'
|
|
148
145
|
];
|
|
149
146
|
for (const job of profile.experiences)lines.push(`${job.company} · ${job.start} – ${job.end}`, job.href, ...job.points.map((point)=>`- ${point}`), '');
|
|
150
|
-
lines.push('
|
|
147
|
+
lines.push('Skills');
|
|
151
148
|
for (const skill of profile.skills)lines.push(`${skill.name} — ${skill.summary}`, skill.href);
|
|
152
|
-
lines.push('', '
|
|
149
|
+
lines.push('', 'Open source');
|
|
153
150
|
for (const project of profile.projects){
|
|
154
151
|
const stats = [
|
|
155
152
|
`★ ${formatCount(project.stars)}`
|
|
@@ -157,7 +154,7 @@ function renderPlain() {
|
|
|
157
154
|
if (project.forks > 0) stats.push(`${formatCount(project.forks)} forks`);
|
|
158
155
|
lines.push(`${project.name} · ${project.language} · ${stats.join(' · ')}`, project.summary, project.href, '');
|
|
159
156
|
}
|
|
160
|
-
lines.push('
|
|
157
|
+
lines.push('Contact');
|
|
161
158
|
for (const place of profile.places)lines.push(`${place.label} · ${place.detail}`, place.href);
|
|
162
159
|
lines.push(profile.phone, profile.email);
|
|
163
160
|
return lines.join('\n');
|
package/dist/cli.js
CHANGED
|
@@ -30722,16 +30722,11 @@ function IntroScreen({ columns, rows, onExit }) {
|
|
|
30722
30722
|
sentences(profile.bio).map((line)=>/*#__PURE__*/ (0, jsx_runtime.jsx)(Text, {
|
|
30723
30723
|
color: ink,
|
|
30724
30724
|
children: line
|
|
30725
|
-
}, line))
|
|
30726
|
-
/*#__PURE__*/ (0, jsx_runtime.jsx)(Text, {
|
|
30727
|
-
color: muted,
|
|
30728
|
-
italic: true,
|
|
30729
|
-
children: profile.quote
|
|
30730
|
-
})
|
|
30725
|
+
}, line))
|
|
30731
30726
|
]
|
|
30732
30727
|
}),
|
|
30733
30728
|
/*#__PURE__*/ (0, jsx_runtime.jsx)(Section, {
|
|
30734
|
-
title: "
|
|
30729
|
+
title: "Experience",
|
|
30735
30730
|
padded: padded,
|
|
30736
30731
|
spaced: spaced,
|
|
30737
30732
|
children: profile.experiences.map((job)=>/*#__PURE__*/ (0, jsx_runtime.jsxs)(components_Box, {
|
|
@@ -30764,7 +30759,7 @@ function IntroScreen({ columns, rows, onExit }) {
|
|
|
30764
30759
|
}, job.company))
|
|
30765
30760
|
}),
|
|
30766
30761
|
/*#__PURE__*/ (0, jsx_runtime.jsx)(Section, {
|
|
30767
|
-
title: "
|
|
30762
|
+
title: "Skills",
|
|
30768
30763
|
padded: padded,
|
|
30769
30764
|
spaced: spaced,
|
|
30770
30765
|
children: skillRows(width).map((row)=>/*#__PURE__*/ (0, jsx_runtime.jsx)(Text, {
|
|
@@ -30783,7 +30778,7 @@ function IntroScreen({ columns, rows, onExit }) {
|
|
|
30783
30778
|
}, row.join('·')))
|
|
30784
30779
|
}),
|
|
30785
30780
|
/*#__PURE__*/ (0, jsx_runtime.jsx)(Section, {
|
|
30786
|
-
title: "
|
|
30781
|
+
title: "Open source",
|
|
30787
30782
|
padded: padded,
|
|
30788
30783
|
spaced: spaced,
|
|
30789
30784
|
children: profile.projects.map((project)=>/*#__PURE__*/ (0, jsx_runtime.jsxs)(components_Box, {
|
|
@@ -30814,7 +30809,7 @@ function IntroScreen({ columns, rows, onExit }) {
|
|
|
30814
30809
|
}, project.name))
|
|
30815
30810
|
}),
|
|
30816
30811
|
/*#__PURE__*/ (0, jsx_runtime.jsx)(Section, {
|
|
30817
|
-
title: "
|
|
30812
|
+
title: "Contact",
|
|
30818
30813
|
padded: padded,
|
|
30819
30814
|
spaced: spaced,
|
|
30820
30815
|
children: showPlaces ? /*#__PURE__*/ (0, jsx_runtime.jsxs)(components_Box, {
|
|
@@ -30836,7 +30831,7 @@ function IntroScreen({ columns, rows, onExit }) {
|
|
|
30836
30831
|
children: [
|
|
30837
30832
|
/*#__PURE__*/ (0, jsx_runtime.jsx)(Text, {
|
|
30838
30833
|
color: muted,
|
|
30839
|
-
children: pad('
|
|
30834
|
+
children: pad('Phone', 10)
|
|
30840
30835
|
}),
|
|
30841
30836
|
/*#__PURE__*/ (0, jsx_runtime.jsx)(Text, {
|
|
30842
30837
|
color: ink,
|
|
@@ -30848,7 +30843,7 @@ function IntroScreen({ columns, rows, onExit }) {
|
|
|
30848
30843
|
children: [
|
|
30849
30844
|
/*#__PURE__*/ (0, jsx_runtime.jsx)(Text, {
|
|
30850
30845
|
color: muted,
|
|
30851
|
-
children: pad('
|
|
30846
|
+
children: pad('Email', 10)
|
|
30852
30847
|
}),
|
|
30853
30848
|
/*#__PURE__*/ (0, jsx_runtime.jsx)(Text, {
|
|
30854
30849
|
color: ink,
|
|
@@ -30893,7 +30888,7 @@ function IntroScreen({ columns, rows, onExit }) {
|
|
|
30893
30888
|
}),
|
|
30894
30889
|
/*#__PURE__*/ (0, jsx_runtime.jsx)(Text, {
|
|
30895
30890
|
color: muted,
|
|
30896
|
-
children: "
|
|
30891
|
+
children: "any key to exit"
|
|
30897
30892
|
})
|
|
30898
30893
|
]
|
|
30899
30894
|
})
|
|
@@ -30919,7 +30914,9 @@ function Section({ title, padded, spaced, children }) {
|
|
|
30919
30914
|
});
|
|
30920
30915
|
}
|
|
30921
30916
|
function sentences(text) {
|
|
30922
|
-
return text.
|
|
30917
|
+
return (text.match(/[^。]+。|[^.]+(?:\.|$)/g) ?? [
|
|
30918
|
+
text
|
|
30919
|
+
]).map((part)=>part.trim()).filter((part)=>part.length > 0);
|
|
30923
30920
|
}
|
|
30924
30921
|
function skillRows(width) {
|
|
30925
30922
|
const budget = Math.max(24, width - 10);
|
|
@@ -30983,7 +30980,7 @@ async function showIntro() {
|
|
|
30983
30980
|
process.stdout.write(leaveScreen);
|
|
30984
30981
|
}
|
|
30985
30982
|
}
|
|
30986
|
-
const program = command_command(definition_name('heyq02'), definition_description('
|
|
30983
|
+
const program = command_command(definition_name('heyq02'), definition_description('Ari He. Full-stack engineer.'), route_version('0.1.0'), command_command(definition_name('intro'), definition_description('Show the introduction. Any key exits.')), command_command(definition_name('hw'), definition_description('Print Hello, World!')));
|
|
30987
30984
|
async function main(argv = process.argv.slice(2)) {
|
|
30988
30985
|
const result = parse(program, {
|
|
30989
30986
|
argv
|
package/dist/index.d.ts
CHANGED
|
@@ -4,10 +4,9 @@ export declare function fullName(): string;
|
|
|
4
4
|
|
|
5
5
|
export declare const profile: {
|
|
6
6
|
name: string;
|
|
7
|
-
givenNames: readonly ["
|
|
7
|
+
givenNames: readonly ["Ari He", "Developer"];
|
|
8
8
|
role: string;
|
|
9
9
|
bio: string;
|
|
10
|
-
quote: string;
|
|
11
10
|
phone: string;
|
|
12
11
|
email: string;
|
|
13
12
|
site: string;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "heyq02",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.5",
|
|
4
|
+
"description": "Ari He. A terminal introduction.",
|
|
5
5
|
"homepage": "https://intro.heyq02.com",
|
|
6
6
|
"bugs": {
|
|
7
7
|
"url": "https://github.com/heyq02/heyq02/issues"
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"url": "git+https://github.com/heyq02/heyq02.git"
|
|
12
12
|
},
|
|
13
13
|
"license": "MIT",
|
|
14
|
-
"author": "
|
|
14
|
+
"author": "Ari He <hello@heyq02.com>",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|