create-harper 0.0.10 → 0.2.0
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 +13 -4
- package/README.svg +161 -0
- package/lib/steps/checkForUpdate.js +1 -1
- package/package.json +9 -5
package/README.md
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+

|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<a href="https://npmjs.com/package/create-harper"><img src="https://img.shields.io/npm/v/create-harper" alt="npm package"></a>
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
> Harper requires [Node.js](https://nodejs.org/en/) version 20.19+, 22.12+. However, some templates require a higher Node.js version to work, please upgrade if your package manager warns about it.
|
|
5
|
+
## Scaffolding Your First Harper Project
|
|
7
6
|
|
|
8
7
|
With NPM:
|
|
9
8
|
|
|
@@ -65,6 +64,16 @@ Currently supported template presets include:
|
|
|
65
64
|
|
|
66
65
|
You can use `.` for the project name to scaffold in the current directory.
|
|
67
66
|
|
|
67
|
+
## Auto-updates
|
|
68
|
+
|
|
69
|
+
`create-harper` will automatically check for newer versions on npm. If a newer version is available, it will automatically re-run the process using the latest version to ensure you are using the most up-to-date templates and features.
|
|
70
|
+
|
|
71
|
+
If you wish to disable this behavior, you can set the `CREATE_HARPER_SKIP_UPDATE` environment variable:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
CREATE_HARPER_SKIP_UPDATE=true npm create harper@latest
|
|
75
|
+
```
|
|
76
|
+
|
|
68
77
|
## Shout Out
|
|
69
78
|
|
|
70
79
|
This project is based largely on the prior work of the Vite team on Create Vite:
|
package/README.svg
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg
|
|
3
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
4
|
+
viewBox="0 0 1200 240"
|
|
5
|
+
width="800"
|
|
6
|
+
height="240"
|
|
7
|
+
role="img"
|
|
8
|
+
aria-label="create-harper logo"
|
|
9
|
+
>
|
|
10
|
+
<defs>
|
|
11
|
+
<!-- Brand-ish gradient for the wordmark -->
|
|
12
|
+
<linearGradient id="harperGrad" x1="0" y1="0" x2="1" y2="0">
|
|
13
|
+
<stop offset="0%" stop-color="#45b581" />
|
|
14
|
+
<stop offset="55%" stop-color="#2fe7a4" />
|
|
15
|
+
<stop offset="100%" stop-color="#45b581" />
|
|
16
|
+
</linearGradient>
|
|
17
|
+
|
|
18
|
+
<!-- Subtle shadow -->
|
|
19
|
+
<filter id="softShadow" x="-20%" y="-20%" width="140%" height="140%">
|
|
20
|
+
<feDropShadow dx="0" dy="2" stdDeviation="3" flood-opacity="0.18" />
|
|
21
|
+
</filter>
|
|
22
|
+
|
|
23
|
+
<!-- From your dog SVG (vector-only): palette classes -->
|
|
24
|
+
<style>
|
|
25
|
+
.dog-cls-1{fill:none;}
|
|
26
|
+
.dog-cls-3{fill:#312556;}
|
|
27
|
+
.dog-cls-4{fill:#d71969;}
|
|
28
|
+
.dog-cls-5{fill:#403b8a;}
|
|
29
|
+
.dog-cls-6{fill:#703a88;}
|
|
30
|
+
.dog-cls-7{fill:#45b581;}
|
|
31
|
+
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
|
|
32
|
+
.sans { font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji"; }
|
|
33
|
+
</style>
|
|
34
|
+
</defs>
|
|
35
|
+
|
|
36
|
+
<!-- Background (transparent by default). Uncomment for white:
|
|
37
|
+
<rect width="1200" height="240" fill="#ffffff"/> -->
|
|
38
|
+
|
|
39
|
+
<!-- Dog mark (scaled + positioned) -->
|
|
40
|
+
<g transform="translate(40 26) scale(0.82)" filter="url(#softShadow)">
|
|
41
|
+
<!-- Vector geometry copied from your dog SVG (excluding the huge embedded PNG layer) -->
|
|
42
|
+
<!-- Source: [oai_citation:2‡HDBDogOnly.txt](sediment://file_000000006c9c71f5887e268f915d2f86) -->
|
|
43
|
+
<polygon
|
|
44
|
+
class="dog-cls-5"
|
|
45
|
+
points="158.29 155.75 149.42 207.67 102.57 227.93 149.42 154.49 158.29 155.75"
|
|
46
|
+
/>
|
|
47
|
+
<polygon
|
|
48
|
+
class="dog-cls-5"
|
|
49
|
+
points="31.66 164.62 0 138.02 21.53 75.98 31.66 164.62"
|
|
50
|
+
/>
|
|
51
|
+
<polygon
|
|
52
|
+
class="dog-cls-6"
|
|
53
|
+
points="127.89 11.4 106.57 26.31 77.24 0 120.3 0 127.89 11.4"
|
|
54
|
+
/>
|
|
55
|
+
<polygon
|
|
56
|
+
class="dog-cls-6"
|
|
57
|
+
points="110.44 153.77 102.57 227.93 31.66 164.62 110.44 153.77"
|
|
58
|
+
/>
|
|
59
|
+
<polygon
|
|
60
|
+
class="dog-cls-7"
|
|
61
|
+
points="106.57 26.31 64.8 137.37 44.78 36.37 44.78 36.36 106.57 26.31"
|
|
62
|
+
/>
|
|
63
|
+
<polygon
|
|
64
|
+
class="dog-cls-5"
|
|
65
|
+
points="258.33 103.1 192.47 69.65 221.6 164.62 262.12 116.5 258.33 103.1"
|
|
66
|
+
/>
|
|
67
|
+
<polygon
|
|
68
|
+
class="dog-cls-7"
|
|
69
|
+
points="192.47 69.65 158.86 68.28 127.89 11.4 174.75 21.53 192.47 69.65"
|
|
70
|
+
/>
|
|
71
|
+
<polygon
|
|
72
|
+
class="dog-cls-6"
|
|
73
|
+
points="44.78 36.37 21.53 75.98 11.4 49.38 44.78 36.37"
|
|
74
|
+
/>
|
|
75
|
+
<polygon
|
|
76
|
+
class="dog-cls-6"
|
|
77
|
+
points="221.6 164.62 192.47 69.65 167.42 67.33 155.75 157.02 221.6 164.62"
|
|
78
|
+
/>
|
|
79
|
+
<polygon
|
|
80
|
+
class="dog-cls-4"
|
|
81
|
+
points="106.57 26.31 44.78 36.36 77.24 0 106.57 26.31"
|
|
82
|
+
/>
|
|
83
|
+
<polygon
|
|
84
|
+
class="dog-cls-4"
|
|
85
|
+
points="77.24 0 44.78 36.36 44.78 36.37 11.4 49.38 77.24 0"
|
|
86
|
+
/>
|
|
87
|
+
<polygon
|
|
88
|
+
class="dog-cls-4"
|
|
89
|
+
points="167.42 67.33 158.32 156.5 110.44 153.74 99.53 123.9 167.42 67.33"
|
|
90
|
+
/>
|
|
91
|
+
<polygon
|
|
92
|
+
class="dog-cls-3"
|
|
93
|
+
points="110.44 153.76 31.66 164.62 21.53 75.98 64.8 137.37 99.53 123.92 110.44 153.76"
|
|
94
|
+
/>
|
|
95
|
+
<polygon
|
|
96
|
+
class="dog-cls-3"
|
|
97
|
+
points="106.57 26.31 167.42 67.33 99.53 123.92 106.57 26.31"
|
|
98
|
+
/>
|
|
99
|
+
<polygon
|
|
100
|
+
class="dog-cls-3"
|
|
101
|
+
points="64.8 137.37 106.57 26.31 99.53 123.92 64.8 137.37"
|
|
102
|
+
/>
|
|
103
|
+
<polygon
|
|
104
|
+
class="dog-cls-6"
|
|
105
|
+
points="44.78 36.37 64.8 137.37 21.53 75.98 44.78 36.37"
|
|
106
|
+
/>
|
|
107
|
+
<polygon
|
|
108
|
+
class="dog-cls-6"
|
|
109
|
+
points="106.57 26.31 127.89 11.4 167.42 67.33 106.57 26.31"
|
|
110
|
+
/>
|
|
111
|
+
</g>
|
|
112
|
+
|
|
113
|
+
<!-- Wordmark + tagline -->
|
|
114
|
+
<g transform="translate(320 58)">
|
|
115
|
+
<text
|
|
116
|
+
class="sans"
|
|
117
|
+
x="0"
|
|
118
|
+
y="62"
|
|
119
|
+
font-size="96"
|
|
120
|
+
font-weight="800"
|
|
121
|
+
letter-spacing="-1.5"
|
|
122
|
+
fill="url(#harperGrad)"
|
|
123
|
+
>create-harper</text>
|
|
124
|
+
|
|
125
|
+
<!-- little “terminal” capsule -->
|
|
126
|
+
<g transform="translate(0 90)">
|
|
127
|
+
<rect
|
|
128
|
+
x="0"
|
|
129
|
+
y="0"
|
|
130
|
+
rx="14"
|
|
131
|
+
ry="14"
|
|
132
|
+
width="800"
|
|
133
|
+
height="56"
|
|
134
|
+
fill="#0b1020"
|
|
135
|
+
opacity="0.92"
|
|
136
|
+
/>
|
|
137
|
+
<circle cx="22" cy="28" r="6" fill="#ff5f56" />
|
|
138
|
+
<circle cx="42" cy="28" r="6" fill="#ffbd2e" />
|
|
139
|
+
<circle cx="62" cy="28" r="6" fill="#27c93f" />
|
|
140
|
+
|
|
141
|
+
<text
|
|
142
|
+
class="mono"
|
|
143
|
+
x="90"
|
|
144
|
+
y="37"
|
|
145
|
+
font-size="22"
|
|
146
|
+
fill="#e6f7ff"
|
|
147
|
+
opacity="0.96"
|
|
148
|
+
>$ npm create harper</text>
|
|
149
|
+
|
|
150
|
+
<!-- blinking cursor -->
|
|
151
|
+
<rect x="350" y="17" width="3" height="24" fill="#e6f7ff" opacity="0.55">
|
|
152
|
+
<animate
|
|
153
|
+
attributeName="opacity"
|
|
154
|
+
values="0.1;0.8;0.1"
|
|
155
|
+
dur="1.1s"
|
|
156
|
+
repeatCount="indefinite"
|
|
157
|
+
/>
|
|
158
|
+
</rect>
|
|
159
|
+
</g>
|
|
160
|
+
</g>
|
|
161
|
+
</svg>
|
|
@@ -54,7 +54,7 @@ export async function checkForUpdate() {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
const result = spawn.sync('npx', [`${pkg.name}@latest`, ...process.argv.slice(2)], {
|
|
57
|
+
const result = spawn.sync('npx', ['-y', `${pkg.name}@latest`, ...process.argv.slice(2)], {
|
|
58
58
|
stdio: 'inherit',
|
|
59
59
|
});
|
|
60
60
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-harper",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "HarperDB",
|
|
@@ -35,10 +35,7 @@
|
|
|
35
35
|
"engines": {
|
|
36
36
|
"node": "^20.19.0 || >=22.12.0"
|
|
37
37
|
},
|
|
38
|
-
"repository":
|
|
39
|
-
"type": "git",
|
|
40
|
-
"url": "git+https://github.com/harperfast/create-harper.git"
|
|
41
|
-
},
|
|
38
|
+
"repository": "github:HarperFast/create-harper",
|
|
42
39
|
"bugs": {
|
|
43
40
|
"url": "https://github.com/harperfast/create-harper/issues"
|
|
44
41
|
},
|
|
@@ -53,9 +50,16 @@
|
|
|
53
50
|
"devDependencies": {
|
|
54
51
|
"@commitlint/cli": "^20.0.0",
|
|
55
52
|
"@commitlint/config-conventional": "^20.0.0",
|
|
53
|
+
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
54
|
+
"@semantic-release/git": "^10.0.1",
|
|
55
|
+
"@semantic-release/github": "^12.0.2",
|
|
56
|
+
"@semantic-release/npm": "^13.1.1",
|
|
57
|
+
"@semantic-release/release-notes-generator": "^14.1.0",
|
|
56
58
|
"@vitest/coverage-v8": "^4.0.17",
|
|
59
|
+
"conventional-changelog-conventionalcommits": "^9.1.0",
|
|
57
60
|
"dprint": "^0.51.1",
|
|
58
61
|
"oxlint": "^1.38.0",
|
|
62
|
+
"semantic-release": "^25.0.2",
|
|
59
63
|
"vitest": "^4.0.17"
|
|
60
64
|
}
|
|
61
65
|
}
|