@kitschpatrol/create-project 1.0.0 → 1.0.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/dist/index.js CHANGED
@@ -3585,7 +3585,8 @@ var template_default = createTemplate({
3585
3585
  "pnpm run build",
3586
3586
  "pnpm run fix"
3587
3587
  ],
3588
- phase: 0
3588
+ phase: 0,
3589
+ silent: true
3589
3590
  }]
3590
3591
  };
3591
3592
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitschpatrol/create-project",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Kitschpatrol's TypeScript project templates.",
5
5
  "keywords": [
6
6
  "cli",
@@ -21,6 +21,10 @@
21
21
  },
22
22
  "type": "module",
23
23
  "bin": "dist/index.js",
24
+ "files": [
25
+ "dist",
26
+ "templates"
27
+ ],
24
28
  "dependencies": {
25
29
  "bingo": "^0.5.16",
26
30
  "bingo-fs": "^0.5.5",
@@ -1,81 +0,0 @@
1
- name: Create GitHub Release
2
-
3
- on:
4
- push:
5
- tags:
6
- - 'v[0-9]*'
7
-
8
- jobs:
9
- build:
10
- name: Create Release
11
- runs-on: ubuntu-latest
12
- env:
13
- ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN || secrets.GITHUB_TOKEN }}
14
- IS_VALID_COMMIT: false
15
- TAG_NAME: ''
16
-
17
- steps:
18
- - name: Checkout
19
- uses: actions/checkout@v4
20
- with:
21
- fetch-depth: 0
22
-
23
- - name: Log Token Type
24
- run: |
25
- if [ ${{ env.ACCESS_TOKEN }} == ${{ secrets.GITHUB_TOKEN }} ]; then
26
- echo "🗝️ Authenticated with GitHub Token"
27
- else
28
- echo "🔑 Authenticated with Personal Access token"
29
- fi
30
-
31
- - name: Validate Tag and Branch
32
- id: validation
33
- run: |
34
- TAG=$(git tag --contains HEAD | grep '^v[0-9]' | head -n 1)
35
- echo "🏷️ Tag for commit is: $TAG"
36
- BRANCH=$(git branch -r --contains tags/${GITHUB_REF_NAME} | grep 'origin/main' | xargs)
37
- if [[ -z "$BRANCH" ]]; then
38
- echo "🚨 Tag is not on main branch"
39
- else
40
- echo "🕊️ Current branch is: $BRANCH"
41
- fi
42
- if [[ -z "$TAG" || -z "$BRANCH" ]]; then
43
- echo "IS_VALID_COMMIT=false" >> "$GITHUB_ENV"
44
- echo "TAG_NAME=''" >> "$GITHUB_ENV"
45
- else
46
- echo "IS_VALID_COMMIT=true" >> "$GITHUB_ENV"
47
- echo "TAG_NAME=$TAG" >> "$GITHUB_ENV"
48
- fi
49
-
50
- - name: Release Notes
51
- if: env.IS_VALID_COMMIT == 'true'
52
- id: release-notes
53
- uses: kitschpatrol/github-action-release-changelog@v2
54
-
55
- - name: Release
56
- if: env.IS_VALID_COMMIT == 'true'
57
- id: release
58
- uses: kitschpatrol/github-action-release@v2
59
- with:
60
- token: ${{ env.ACCESS_TOKEN }}
61
- draft: false
62
- prerelease: false
63
- name: ${{ env.TAG_NAME }}
64
- tag_name: ${{ env.TAG_NAME }}
65
- body: |
66
- ${{ steps.release-notes.outputs.changelog }}
67
- files: |
68
- readme.md
69
- README.md
70
- LICENSE
71
- license.txt
72
- CHANGELOG
73
- CHANGELOG.md
74
- changelog.md
75
-
76
- - name: Log Release Details
77
- if: env.IS_VALID_COMMIT == 'true'
78
- run: |
79
- echo "📦 Successfully released: ${{ env.TAG_NAME }}"
80
- echo "🔗 Release URL: ${{ steps.release.outputs.url }}"
81
- echo "🪪 Release ID: ${{ steps.release.outputs.id }}"
@@ -1,21 +0,0 @@
1
- name: Set GitHub Metadata
2
- on:
3
- push:
4
- branches: [main]
5
- workflow_dispatch: {}
6
-
7
- jobs:
8
- build:
9
- name: Set GitHub Metadata
10
- runs-on: ubuntu-latest
11
-
12
- steps:
13
- - name: Checkout
14
- uses: actions/checkout@v4
15
- with:
16
- fetch-depth: 0
17
-
18
- - name: Sync Package info to GitHub
19
- uses: kitschpatrol/github-action-repo-sync@v3
20
- with:
21
- TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
package/.prettierignore DELETED
@@ -1,8 +0,0 @@
1
- # Prettier Ignore
2
- # Also respects .gitignore
3
-
4
- # @kitschpatrol/prettier-config boilerplate
5
- pnpm-lock.yaml
6
- package-lock.json
7
-
8
- # Customizations
package/.remarkrc.js DELETED
@@ -1,5 +0,0 @@
1
- import { remarkConfig } from '@kitschpatrol/remark-config'
2
-
3
- export default remarkConfig({
4
- rules: [['remarkValidateLinks', { repository: false }]],
5
- })
@@ -1,11 +0,0 @@
1
- {
2
- "recommendations": [
3
- "astro-build.astro-vscode",
4
- "svelte.svelte-vscode",
5
- "dbaeumer.vscode-eslint",
6
- "stylelint.vscode-stylelint",
7
- "streetsidesoftware.code-spell-checker",
8
- "unifiedjs.vscode-mdx",
9
- "esbenp.prettier-vscode"
10
- ]
11
- }
@@ -1,66 +0,0 @@
1
- {
2
- "explorer.fileNesting.enabled": true,
3
- "explorer.fileNesting.expand": false,
4
- "explorer.fileNesting.patterns": {
5
- "*.js": "*.ts.map, *.js.map, *.d.ts, *.d.ts.map, *.d.js.map",
6
- "*.ts": "*.ts.map, *.d.ts, *.d.ts.map",
7
- ".env": ".env.*",
8
- "package.json": ".*ignore, .*rc, .*.js, .*.mjs, .*.cjs, .*.ts, .*.mts, .*.cts, .*.json, .*.jsonc, .*.json5, .*.yml, .*.yaml, *config.js, *config.mjs, *config.cjs, *config.ts, *config.mts, *config.cts, *config.json, *config.jsonc, *config.json5, *config.yml, *config.yaml, pnpm*, workspace*, yarn*, lerna.json, netlify.toml, package-lock.json, turbo.json, vercel.json, wrangler.toml, yarn.lock",
9
- "readme.md": "authors*, backers*, changelog*, citation*, code_of_conduct*, contributing*, contributors*, copying*, credits*, governance*, history*, license*, maintainers*, release_notes*, security*, sponsors*"
10
- },
11
- "typescript.enablePromptUseWorkspaceTsdk": true,
12
- "typescript.tsdk": "node_modules/typescript/lib",
13
- "editor.codeActionsOnSave": {
14
- "source.fixAll": "explicit",
15
- "source.organizeImports": "never"
16
- },
17
- "eslint.enable": true,
18
- "eslint.runtime": "node",
19
- "eslint.validate": [
20
- "astro",
21
- "html",
22
- "javascript",
23
- "javascriptreact",
24
- "json",
25
- "json5",
26
- "jsonc",
27
- "markdown",
28
- "mdx",
29
- "svelte",
30
- "toml",
31
- "typescript",
32
- "typescriptreact",
33
- "xml",
34
- "yaml"
35
- ],
36
- "eslint.useFlatConfig": true,
37
- "cSpell.enabled": true,
38
- "cSpell.workspaceRootPath": ".",
39
- "[astro]": {
40
- "editor.defaultFormatter": "esbenp.prettier-vscode"
41
- },
42
- "[gitignore]": {
43
- "editor.defaultFormatter": "esbenp.prettier-vscode"
44
- },
45
- "[ruby]": {
46
- "editor.defaultFormatter": "esbenp.prettier-vscode"
47
- },
48
- "[shellscript]": {
49
- "editor.defaultFormatter": "esbenp.prettier-vscode"
50
- },
51
- "[svelte]": {
52
- "editor.defaultFormatter": "esbenp.prettier-vscode"
53
- },
54
- "editor.defaultFormatter": "esbenp.prettier-vscode",
55
- "editor.formatOnSave": true,
56
- "prettier.documentSelectors": [
57
- "**/.eslintignore",
58
- "**/.node-version",
59
- "**/.npmrc",
60
- "**/.prettierignore",
61
- "**/*.astro",
62
- "**/*.rb",
63
- "**/*.svelte"
64
- ],
65
- "prettier.enable": true
66
- }
package/cspell.config.js DELETED
@@ -1,3 +0,0 @@
1
- import { cspellConfig } from '@kitschpatrol/cspell-config'
2
-
3
- export default cspellConfig()
package/eslint.config.ts DELETED
@@ -1,19 +0,0 @@
1
- import { eslintConfig } from '@kitschpatrol/eslint-config'
2
-
3
- export default eslintConfig(
4
- {
5
- // Enable as needed:
6
- // astro: true,
7
- // react: true,
8
- // svelte: true,
9
- type: 'lib',
10
- },
11
- {
12
- basePath: 'templates/cli',
13
- files: ['package.json'],
14
- rules: {
15
- 'json-package/valid-author': 'off',
16
- 'json-package/valid-name': 'off',
17
- },
18
- },
19
- )
package/knip.config.ts DELETED
@@ -1,5 +0,0 @@
1
- import { knipConfig } from '@kitschpatrol/knip-config'
2
-
3
- export default knipConfig({
4
- ignore: ['templates/**/*'],
5
- })
package/mdat.config.ts DELETED
@@ -1,3 +0,0 @@
1
- import { mdatConfig } from '@kitschpatrol/mdat-config'
2
-
3
- export default mdatConfig()
@@ -1,7 +0,0 @@
1
- packages:
2
- - templates/*
3
-
4
- onlyBuiltDependencies:
5
- - esbuild
6
- - puppeteer
7
- - unrs-resolver
@@ -1,3 +0,0 @@
1
- import { prettierConfig } from '@kitschpatrol/prettier-config'
2
-
3
- export default prettierConfig()
package/src/index.ts DELETED
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import { runTemplateCLI } from 'bingo'
4
- import template from './template'
5
-
6
- process.exitCode = await runTemplateCLI(template, {
7
- name: 'new-project',
8
- version: '0.0.0',
9
- })
package/src/template.ts DELETED
@@ -1,72 +0,0 @@
1
- /* eslint-disable node/no-unsupported-features/node-builtins */
2
-
3
- import { createTemplate } from 'bingo'
4
- import { intakeDirectory } from 'bingo-fs'
5
- import { handlebars } from 'bingo-handlebars'
6
- import path from 'node:path'
7
- import { z } from 'zod'
8
-
9
- export default createTemplate({
10
- about: {
11
- name: 'Kitschpatrol Create Project',
12
- // Show template origin in GitHub... don't want this right now
13
- // repository: {
14
- // owner: 'kitschpatrol',
15
- // repository: 'https://github.com/kitschpatrol/create-project',
16
- // },
17
- },
18
- options: {
19
- /* eslint-disable perfectionist/sort-objects */
20
- type: z
21
- .enum(['minimal', 'web', 'cli', 'library', 'cli+library'])
22
- .default('minimal')
23
- .describe('The type of project to create'),
24
- 'author-name': z.string().default('Eric Mika').describe('The name of the author'),
25
- 'author-email': z.string().default('eric@ericmika.com').describe('The email of the author'),
26
- 'author-url': z.string().default('https://ericmika.com').describe('The URL of the author'),
27
- 'cli-command-name': z
28
- .string()
29
- .default('new-project')
30
- .describe('CLI command name (if applicable)'),
31
- // "Future" prefix prevents Bingo from creating a GitHub repository
32
- // Pending resolution of https://github.com/bingo-js/bingo/issues/365
33
- 'github-owner': z
34
- .string()
35
- .default('kitschpatrol')
36
- .describe('The owner of the future repository'),
37
- 'github-repository': z
38
- .string()
39
- .default(`new-project`)
40
- .describe('The name of the future repository / package'),
41
- 'npm-otp-command': z
42
- .string()
43
- .default("op read 'op://Personal/Npmjs/one-time password?attribute=otp'")
44
- .describe('A shell command that returns your one-time password for publishing to npm'),
45
- /* eslint-enable perfectionist/sort-objects */
46
- },
47
- async produce(params) {
48
- const { options } = params
49
-
50
- return {
51
- files: {
52
- ...(await intakeDirectory(path.join(import.meta.dirname, `../templates/${options.type}`), {
53
- exclude: /node_modules|pnpm-lock\.yaml/,
54
- })),
55
- 'license.txt': await handlebars(
56
- path.join(import.meta.dirname, `../templates/${options.type}/license.txt`),
57
- options,
58
- ),
59
- 'package.json': await handlebars(
60
- path.join(import.meta.dirname, `../templates/${options.type}/package.json`),
61
- options,
62
- ),
63
- },
64
- scripts: [
65
- {
66
- commands: ['pnpm install', 'pnpm run build', 'pnpm run fix'],
67
- phase: 0,
68
- },
69
- ],
70
- }
71
- },
72
- })
@@ -1,3 +0,0 @@
1
- import { stylelintConfig } from '@kitschpatrol/stylelint-config'
2
-
3
- export default stylelintConfig()
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "declarationMap": true
5
- },
6
- "include": ["**/*", "**/**.*"],
7
- "exclude": ["**/dist/", "**/bin/"]
8
- }
package/tsconfig.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "extends": "@kitschpatrol/typescript-config",
3
-
4
- // Includes project dot-files files for typescript-eslint integration
5
- "include": ["**/*", "**/**.*"],
6
- "exclude": ["**/dist/", "**/bin/", "templates/"]
7
- }