github-archiver 1.0.2 → 1.0.4

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/.releaserc.json CHANGED
@@ -1,7 +1,15 @@
1
1
  {
2
2
  "branches": ["main"],
3
3
  "plugins": [
4
- "@semantic-release/commit-analyzer",
4
+ [
5
+ "@semantic-release/commit-analyzer",
6
+ {
7
+ "releaseRules": [{ "type": "*", "release": "patch" }],
8
+ "parserOpts": {
9
+ "conventionalCommits": false
10
+ }
11
+ }
12
+ ],
5
13
  "@semantic-release/release-notes-generator",
6
14
  [
7
15
  "@semantic-release/changelog",
package/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ ## [1.0.4](https://github.com/mynameistito/github-archiver/compare/v1.0.3...v1.0.4) (2026-01-11)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add repository URL to package.json for npm provenance ([02ddb1c](https://github.com/mynameistito/github-archiver/commit/02ddb1c9f4b6a7b7ca91497b2633011accf94356))
7
+
8
+ ## [1.0.3](https://github.com/mynameistito/github-archiver/compare/v1.0.2...v1.0.3) (2026-01-11)
9
+
10
+ ## [1.0.2](https://github.com/mynameistito/github-archiver/compare/v1.0.1...v1.0.2) (2026-01-11)
11
+
12
+ ## [1.0.1](https://github.com/mynameistito/github-archiver/compare/v1.0.0...v1.0.1) (2026-01-11)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * correct relative import path in CLI wrapper ([cc64796](https://github.com/mynameistito/github-archiver/commit/cc64796d2d0a06175faf053d63e9c1e8ffe0d371))
18
+
1
19
  # 1.0.0 (2026-01-11)
2
20
 
3
21
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-archiver",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Archive GitHub repositories via CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -49,5 +49,9 @@
49
49
  "typescript"
50
50
  ],
51
51
  "author": "mynameistito",
52
- "license": "MIT"
52
+ "license": "MIT",
53
+ "repository": {
54
+ "type": "git",
55
+ "url": "https://github.com/mynameistito/github-archiver"
56
+ }
53
57
  }
package/.claude/CLAUDE.md DELETED
@@ -1,248 +0,0 @@
1
- # Ultracite Code Standards
2
-
3
- This project uses **Ultracite**, a zero-config preset that enforces strict code quality standards through automated formatting and linting.
4
-
5
- ## Quick Reference
6
-
7
- - **Format code**: `bun x ultracite fix`
8
- - **Check for issues**: `bun x ultracite check`
9
- - **Diagnose setup**: `bun x ultracite doctor`
10
-
11
- Biome (the underlying engine) provides robust linting and formatting. Most issues are automatically fixable.
12
-
13
- ---
14
-
15
- ## Core Principles
16
-
17
- Write code that is **accessible, performant, type-safe, and maintainable**. Focus on clarity and explicit intent over brevity.
18
-
19
- ### Type Safety & Explicitness
20
-
21
- - Use explicit types for function parameters and return values when they enhance clarity
22
- - Prefer `unknown` over `any` when the type is genuinely unknown
23
- - Use const assertions (`as const`) for immutable values and literal types
24
- - Leverage TypeScript's type narrowing instead of type assertions
25
- - Use meaningful variable names instead of magic numbers - extract constants with descriptive names
26
-
27
- ### Modern JavaScript/TypeScript
28
-
29
- - Use arrow functions for callbacks and short functions
30
- - Prefer `for...of` loops over `.forEach()` and indexed `for` loops
31
- - Use optional chaining (`?.`) and nullish coalescing (`??`) for safer property access
32
- - Prefer template literals over string concatenation
33
- - Use destructuring for object and array assignments
34
- - Use `const` by default, `let` only when reassignment is needed, never `var`
35
-
36
- ### Async & Promises
37
-
38
- - Always `await` promises in async functions - don't forget to use the return value
39
- - Use `async/await` syntax instead of promise chains for better readability
40
- - Handle errors appropriately in async code with try-catch blocks
41
- - Don't use async functions as Promise executors
42
-
43
- ### React & JSX
44
-
45
- - Use function components over class components
46
- - Call hooks at the top level only, never conditionally
47
- - Specify all dependencies in hook dependency arrays correctly
48
- - Use the `key` prop for elements in iterables (prefer unique IDs over array indices)
49
- - Nest children between opening and closing tags instead of passing as props
50
- - Don't define components inside other components
51
- - Use semantic HTML and ARIA attributes for accessibility:
52
- - Provide meaningful alt text for images
53
- - Use proper heading hierarchy
54
- - Add labels for form inputs
55
- - Include keyboard event handlers alongside mouse events
56
- - Use semantic elements (`<button>`, `<nav>`, etc.) instead of divs with roles
57
-
58
- ### Error Handling & Debugging
59
-
60
- - Remove `console.log`, `debugger`, and `alert` statements from production code
61
- - Throw `Error` objects with descriptive messages, not strings or other values
62
- - Use `try-catch` blocks meaningfully - don't catch errors just to rethrow them
63
- - Prefer early returns over nested conditionals for error cases
64
-
65
- ### Code Organization
66
-
67
- - Keep functions focused and under reasonable cognitive complexity limits
68
- - Extract complex conditions into well-named boolean variables
69
- - Use early returns to reduce nesting
70
- - Prefer simple conditionals over nested ternary operators
71
- - Group related code together and separate concerns
72
-
73
- ### Security
74
-
75
- - Add `rel="noopener"` when using `target="_blank"` on links
76
- - Avoid `dangerouslySetInnerHTML` unless absolutely necessary
77
- - Don't use `eval()` or assign directly to `document.cookie`
78
- - Validate and sanitize user input
79
-
80
- ### Performance
81
-
82
- - Avoid spread syntax in accumulators within loops
83
- - Use top-level regex literals instead of creating them in loops
84
- - Prefer specific imports over namespace imports
85
- - Avoid barrel files (index files that re-export everything)
86
- - Use proper image components (e.g., Next.js `<Image>`) over `<img>` tags
87
-
88
- ### Framework-Specific Guidance
89
-
90
- **Next.js:**
91
- - Use Next.js `<Image>` component for images
92
- - Use `next/head` or App Router metadata API for head elements
93
- - Use Server Components for async data fetching instead of async Client Components
94
-
95
- **React 19+:**
96
- - Use ref as a prop instead of `React.forwardRef`
97
-
98
- **Solid/Svelte/Vue/Qwik:**
99
- - Use `class` and `for` attributes (not `className` or `htmlFor`)
100
-
101
- ---
102
-
103
- ## Testing
104
-
105
- - Write assertions inside `it()` or `test()` blocks
106
- - Avoid done callbacks in async tests - use async/await instead
107
- - Don't use `.only` or `.skip` in committed code
108
- - Keep test suites reasonably flat - avoid excessive `describe` nesting
109
-
110
- ## When Biome Can't Help
111
-
112
- Biome's linter will catch most issues automatically. Focus your attention on:
113
-
114
- 1. **Business logic correctness** - Biome can't validate your algorithms
115
- 2. **Meaningful naming** - Use descriptive names for functions, variables, and types
116
- 3. **Architecture decisions** - Component structure, data flow, and API design
117
- 4. **Edge cases** - Handle boundary conditions and error states
118
- 5. **User experience** - Accessibility, performance, and usability considerations
119
- 6. **Documentation** - Add comments for complex logic, but prefer self-documenting code
120
-
121
- ---
122
-
123
- Most formatting and common issues are automatically fixed by Biome. Run `bun x ultracite fix` before committing to ensure compliance.
124
-
125
-
126
- # Ultracite Code Standards
127
-
128
- This project uses **Ultracite**, a zero-config preset that enforces strict code quality standards through automated formatting and linting.
129
-
130
- ## Quick Reference
131
-
132
- - **Format code**: `npm exec -- ultracite fix`
133
- - **Check for issues**: `npm exec -- ultracite check`
134
- - **Diagnose setup**: `npm exec -- ultracite doctor`
135
-
136
- Biome (the underlying engine) provides robust linting and formatting. Most issues are automatically fixable.
137
-
138
- ---
139
-
140
- ## Core Principles
141
-
142
- Write code that is **accessible, performant, type-safe, and maintainable**. Focus on clarity and explicit intent over brevity.
143
-
144
- ### Type Safety & Explicitness
145
-
146
- - Use explicit types for function parameters and return values when they enhance clarity
147
- - Prefer `unknown` over `any` when the type is genuinely unknown
148
- - Use const assertions (`as const`) for immutable values and literal types
149
- - Leverage TypeScript's type narrowing instead of type assertions
150
- - Use meaningful variable names instead of magic numbers - extract constants with descriptive names
151
-
152
- ### Modern JavaScript/TypeScript
153
-
154
- - Use arrow functions for callbacks and short functions
155
- - Prefer `for...of` loops over `.forEach()` and indexed `for` loops
156
- - Use optional chaining (`?.`) and nullish coalescing (`??`) for safer property access
157
- - Prefer template literals over string concatenation
158
- - Use destructuring for object and array assignments
159
- - Use `const` by default, `let` only when reassignment is needed, never `var`
160
-
161
- ### Async & Promises
162
-
163
- - Always `await` promises in async functions - don't forget to use the return value
164
- - Use `async/await` syntax instead of promise chains for better readability
165
- - Handle errors appropriately in async code with try-catch blocks
166
- - Don't use async functions as Promise executors
167
-
168
- ### React & JSX
169
-
170
- - Use function components over class components
171
- - Call hooks at the top level only, never conditionally
172
- - Specify all dependencies in hook dependency arrays correctly
173
- - Use the `key` prop for elements in iterables (prefer unique IDs over array indices)
174
- - Nest children between opening and closing tags instead of passing as props
175
- - Don't define components inside other components
176
- - Use semantic HTML and ARIA attributes for accessibility:
177
- - Provide meaningful alt text for images
178
- - Use proper heading hierarchy
179
- - Add labels for form inputs
180
- - Include keyboard event handlers alongside mouse events
181
- - Use semantic elements (`<button>`, `<nav>`, etc.) instead of divs with roles
182
-
183
- ### Error Handling & Debugging
184
-
185
- - Remove `console.log`, `debugger`, and `alert` statements from production code
186
- - Throw `Error` objects with descriptive messages, not strings or other values
187
- - Use `try-catch` blocks meaningfully - don't catch errors just to rethrow them
188
- - Prefer early returns over nested conditionals for error cases
189
-
190
- ### Code Organization
191
-
192
- - Keep functions focused and under reasonable cognitive complexity limits
193
- - Extract complex conditions into well-named boolean variables
194
- - Use early returns to reduce nesting
195
- - Prefer simple conditionals over nested ternary operators
196
- - Group related code together and separate concerns
197
-
198
- ### Security
199
-
200
- - Add `rel="noopener"` when using `target="_blank"` on links
201
- - Avoid `dangerouslySetInnerHTML` unless absolutely necessary
202
- - Don't use `eval()` or assign directly to `document.cookie`
203
- - Validate and sanitize user input
204
-
205
- ### Performance
206
-
207
- - Avoid spread syntax in accumulators within loops
208
- - Use top-level regex literals instead of creating them in loops
209
- - Prefer specific imports over namespace imports
210
- - Avoid barrel files (index files that re-export everything)
211
- - Use proper image components (e.g., Next.js `<Image>`) over `<img>` tags
212
-
213
- ### Framework-Specific Guidance
214
-
215
- **Next.js:**
216
- - Use Next.js `<Image>` component for images
217
- - Use `next/head` or App Router metadata API for head elements
218
- - Use Server Components for async data fetching instead of async Client Components
219
-
220
- **React 19+:**
221
- - Use ref as a prop instead of `React.forwardRef`
222
-
223
- **Solid/Svelte/Vue/Qwik:**
224
- - Use `class` and `for` attributes (not `className` or `htmlFor`)
225
-
226
- ---
227
-
228
- ## Testing
229
-
230
- - Write assertions inside `it()` or `test()` blocks
231
- - Avoid done callbacks in async tests - use async/await instead
232
- - Don't use `.only` or `.skip` in committed code
233
- - Keep test suites reasonably flat - avoid excessive `describe` nesting
234
-
235
- ## When Biome Can't Help
236
-
237
- Biome's linter will catch most issues automatically. Focus your attention on:
238
-
239
- 1. **Business logic correctness** - Biome can't validate your algorithms
240
- 2. **Meaningful naming** - Use descriptive names for functions, variables, and types
241
- 3. **Architecture decisions** - Component structure, data flow, and API design
242
- 4. **Edge cases** - Handle boundary conditions and error states
243
- 5. **User experience** - Accessibility, performance, and usability considerations
244
- 6. **Documentation** - Add comments for complex logic, but prefer self-documenting code
245
-
246
- ---
247
-
248
- Most formatting and common issues are automatically fixed by Biome. Run `npm exec -- ultracite fix` before committing to ensure compliance.
@@ -1,15 +0,0 @@
1
- {
2
- "hooks": {
3
- "PostToolUse": [
4
- {
5
- "matcher": "Write|Edit",
6
- "hooks": [
7
- {
8
- "type": "command",
9
- "command": "bun x ultracite fix"
10
- }
11
- ]
12
- }
13
- ]
14
- }
15
- }
@@ -1,76 +0,0 @@
1
- version: 2
2
- updates:
3
- - package-ecosystem: "npm"
4
- directory: "/"
5
- schedule:
6
- interval: "daily"
7
- time: "09:00"
8
- timezone: "UTC"
9
- day:
10
- - "monday"
11
- - "tuesday"
12
- - "wednesday"
13
- - "thursday"
14
- - "friday"
15
- open-pull-requests-limit: 10
16
- groups:
17
- production-dependencies:
18
- patterns:
19
- - "*"
20
- exclude-patterns:
21
- - "vitest*"
22
- - "@types/*"
23
- - "typescript*"
24
- - "tsx*"
25
- - "esbuild*"
26
- - "ultracite*"
27
- - "@biomejs/biome*"
28
- development-dependencies:
29
- patterns:
30
- - "vitest*"
31
- - "@types/*"
32
- - "typescript*"
33
- - "tsx*"
34
- - "esbuild*"
35
- - "ultracite*"
36
- - "@biomejs/biome*"
37
- labels:
38
- - "dependencies"
39
- - "npm"
40
- commit-message:
41
- prefix: "chore"
42
- prefix-development: "chore"
43
- include: "scope"
44
- pull-request-branch-name:
45
- separator: "-"
46
- versioning-strategy: increase
47
- allow:
48
- - dependency-type: "all"
49
- reviewers:
50
- - "mynameistito"
51
- assignees:
52
- - "mynameistito"
53
-
54
- - package-ecosystem: "github-actions"
55
- directory: "/"
56
- schedule:
57
- interval: "daily"
58
- time: "09:00"
59
- timezone: "UTC"
60
- day:
61
- - "monday"
62
- - "tuesday"
63
- - "wednesday"
64
- - "thursday"
65
- - "friday"
66
- open-pull-requests-limit: 5
67
- labels:
68
- - "dependencies"
69
- - "github-actions"
70
- commit-message:
71
- prefix: "chore"
72
- include: "scope"
73
- reviewers:
74
- - "mynameistito"
75
- assignees:
76
- - "mynameistito"
@@ -1,64 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: ["**"]
6
- pull_request:
7
- branches: ["main"]
8
- workflow_dispatch:
9
-
10
- jobs:
11
- test:
12
- name: Test (Node ${{ matrix.node-version }})
13
- runs-on: ubuntu-latest
14
-
15
- strategy:
16
- matrix:
17
- node-version: [24.x, 25.x]
18
- fail-fast: false
19
-
20
- steps:
21
- - name: Checkout
22
- uses: actions/checkout@v4
23
-
24
- - name: Setup Node.js ${{ matrix.node-version }}
25
- uses: actions/setup-node@v4
26
- with:
27
- node-version: ${{ matrix.node-version }}
28
- cache: "npm"
29
-
30
- - name: Install dependencies
31
- run: npm ci
32
-
33
- - name: Type check
34
- run: npm run typecheck
35
-
36
- - name: Lint
37
- run: npm run lint
38
-
39
- - name: Test
40
- run: npm test -- --run
41
-
42
- - name: Build
43
- run: npm run build
44
-
45
- security:
46
- name: Security Audit
47
- runs-on: ubuntu-latest
48
-
49
- steps:
50
- - name: Checkout
51
- uses: actions/checkout@v4
52
-
53
- - name: Setup Node.js
54
- uses: actions/setup-node@v4
55
- with:
56
- node-version: "25.x"
57
- cache: "npm"
58
-
59
- - name: Install dependencies
60
- run: npm ci
61
-
62
- - name: Run npm audit
63
- run: npm audit --audit-level=moderate
64
- continue-on-error: true
@@ -1,55 +0,0 @@
1
- name: Release
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
- workflow_dispatch:
8
-
9
- permissions:
10
- contents: write
11
- id-token: write
12
-
13
- jobs:
14
- release:
15
- name: Release
16
- runs-on: ubuntu-latest
17
-
18
- steps:
19
- - name: Checkout
20
- uses: actions/checkout@v4
21
- with:
22
- fetch-depth: 0
23
- persist-credentials: false
24
-
25
- - name: Setup Node.js
26
- uses: actions/setup-node@v4
27
- with:
28
- node-version: "22.x"
29
- cache: "npm"
30
- registry-url: "https://registry.npmjs.org"
31
-
32
- - name: Update npm for trusted publishing
33
- run: npm install -g npm@latest
34
-
35
- - name: Install dependencies
36
- run: npm ci
37
-
38
- - name: Type check
39
- run: npm run typecheck
40
-
41
- - name: Lint
42
- run: npm run lint
43
-
44
- - name: Test
45
- run: npm test -- --run
46
-
47
- - name: Release
48
- env:
49
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
50
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
51
- GIT_AUTHOR_NAME: github-actions[bot]
52
- GIT_AUTHOR_EMAIL: github-actions[bot]@users.noreply.github.com
53
- GIT_COMMITTER_NAME: github-actions[bot]
54
- GIT_COMMITTER_EMAIL: github-actions[bot]@users.noreply.github.com
55
- run: npx semantic-release