create-typescript-app 1.80.0 → 1.82.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.
Files changed (109) hide show
  1. package/README.md +4 -3
  2. package/lib/next/base.d.ts +3 -2
  3. package/lib/next/base.js +17 -10
  4. package/lib/next/base.js.map +1 -1
  5. package/lib/next/blocks/blockAllContributors.d.ts +2 -1
  6. package/lib/next/blocks/blockAllContributors.js +1 -5
  7. package/lib/next/blocks/blockAllContributors.js.map +1 -1
  8. package/lib/next/blocks/blockAreTheTypesWrong.d.ts +2 -1
  9. package/lib/next/blocks/blockCSpell.d.ts +2 -1
  10. package/lib/next/blocks/blockContributingDocs.d.ts +2 -1
  11. package/lib/next/blocks/blockContributorCovenant.d.ts +2 -1
  12. package/lib/next/blocks/blockDevelopmentDocs.d.ts +2 -1
  13. package/lib/next/blocks/blockESLint.d.ts +2 -1
  14. package/lib/next/blocks/blockESLint.js +4 -2
  15. package/lib/next/blocks/blockESLint.js.map +1 -1
  16. package/lib/next/blocks/blockESLintComments.d.ts +2 -1
  17. package/lib/next/blocks/blockESLintJSDoc.d.ts +2 -1
  18. package/lib/next/blocks/blockESLintJSONC.d.ts +2 -1
  19. package/lib/next/blocks/blockESLintMarkdown.d.ts +2 -1
  20. package/lib/next/blocks/blockESLintMoreStyling.d.ts +2 -1
  21. package/lib/next/blocks/blockESLintNode.d.ts +2 -1
  22. package/lib/next/blocks/blockESLintPackageJson.d.ts +2 -1
  23. package/lib/next/blocks/blockESLintPerfectionist.d.ts +2 -1
  24. package/lib/next/blocks/blockESLintRegexp.d.ts +2 -1
  25. package/lib/next/blocks/blockESLintYML.d.ts +2 -1
  26. package/lib/next/blocks/blockExampleFiles.d.ts +2 -1
  27. package/lib/next/blocks/blockFunding.d.ts +2 -1
  28. package/lib/next/blocks/blockGitHubActionsCI.d.ts +3 -1
  29. package/lib/next/blocks/blockGitHubActionsCI.js +1 -0
  30. package/lib/next/blocks/blockGitHubActionsCI.js.map +1 -1
  31. package/lib/next/blocks/blockGitHubApps.d.ts +2 -1
  32. package/lib/next/blocks/blockGitHubIssueTemplates.d.ts +2 -1
  33. package/lib/next/blocks/blockGitHubPRTemplate.d.ts +2 -1
  34. package/lib/next/blocks/blockGitignore.d.ts +2 -1
  35. package/lib/next/blocks/blockKnip.d.ts +2 -1
  36. package/lib/next/blocks/blockKnip.js +11 -0
  37. package/lib/next/blocks/blockKnip.js.map +1 -1
  38. package/lib/next/blocks/blockMITLicense.d.ts +2 -1
  39. package/lib/next/blocks/blockMarkdownlint.d.ts +2 -1
  40. package/lib/next/blocks/blockMarkdownlint.js +8 -1
  41. package/lib/next/blocks/blockMarkdownlint.js.map +1 -1
  42. package/lib/next/blocks/blockNvmrc.d.ts +2 -1
  43. package/lib/next/blocks/blockPRCompliance.d.ts +2 -1
  44. package/lib/next/blocks/blockPackageJson.d.ts +2 -1
  45. package/lib/next/blocks/blockPackageJson.js +9 -4
  46. package/lib/next/blocks/blockPackageJson.js.map +1 -1
  47. package/lib/next/blocks/blockPnpmDedupe.d.ts +2 -1
  48. package/lib/next/blocks/blockPrettier.d.ts +2 -1
  49. package/lib/next/blocks/blockPrettier.js +2 -2
  50. package/lib/next/blocks/blockPrettier.js.map +1 -1
  51. package/lib/next/blocks/blockPrettierPluginCurly.d.ts +2 -1
  52. package/lib/next/blocks/blockPrettierPluginPackageJson.d.ts +2 -1
  53. package/lib/next/blocks/blockPrettierPluginSh.d.ts +2 -1
  54. package/lib/next/blocks/blockREADME.d.ts +2 -1
  55. package/lib/next/blocks/blockREADME.js +11 -12
  56. package/lib/next/blocks/blockREADME.js.map +1 -1
  57. package/lib/next/blocks/blockReleaseIt.d.ts +2 -1
  58. package/lib/next/blocks/blockReleaseIt.js +13 -1
  59. package/lib/next/blocks/blockReleaseIt.js.map +1 -1
  60. package/lib/next/blocks/blockRenovate.d.ts +2 -1
  61. package/lib/next/blocks/blockRepositoryBranchRuleset.d.ts +2 -1
  62. package/lib/next/blocks/blockRepositoryLabels.d.ts +2 -1
  63. package/lib/next/blocks/blockRepositorySecrets.d.ts +2 -1
  64. package/lib/next/blocks/blockRepositorySettings.d.ts +2 -1
  65. package/lib/next/blocks/blockRepositorySettings.js +3 -1
  66. package/lib/next/blocks/blockRepositorySettings.js.map +1 -1
  67. package/lib/next/blocks/blockSecurityDocs.d.ts +2 -1
  68. package/lib/next/blocks/blockTSup.d.ts +2 -1
  69. package/lib/next/blocks/blockTemplatedBy.d.ts +2 -1
  70. package/lib/next/blocks/blockTemplatedBy.js +1 -1
  71. package/lib/next/blocks/blockTemplatedBy.js.map +1 -1
  72. package/lib/next/blocks/blockTypeScript.d.ts +2 -1
  73. package/lib/next/blocks/blockTypeScript.js +1 -4
  74. package/lib/next/blocks/blockTypeScript.js.map +1 -1
  75. package/lib/next/blocks/blockVSCode.d.ts +2 -1
  76. package/lib/next/blocks/blockVitest.d.ts +8 -4
  77. package/lib/next/blocks/blockVitest.js +18 -14
  78. package/lib/next/blocks/blockVitest.js.map +1 -1
  79. package/lib/next/blocks/sourcePackageJson.d.ts +7 -5
  80. package/lib/next/presets/presetCommon.d.ts +3 -2
  81. package/lib/next/presets/presetEverything.d.ts +3 -2
  82. package/lib/next/presets/presetMinimal.d.ts +3 -2
  83. package/lib/next/readDescription.d.ts +1 -1
  84. package/lib/next/readDescription.js +9 -1
  85. package/lib/next/readDescription.js.map +1 -1
  86. package/lib/next/readDescriptionFromReadme.d.ts +3 -0
  87. package/lib/next/readDescriptionFromReadme.js +18 -0
  88. package/lib/next/readDescriptionFromReadme.js.map +1 -0
  89. package/lib/next/template.d.ts +3 -2
  90. package/lib/next/template.js +2 -2
  91. package/lib/next/template.js.map +1 -1
  92. package/lib/shared/options/createOptionDefaults/getUsageFromReadme.d.ts +3 -0
  93. package/lib/shared/options/createOptionDefaults/getUsageFromReadme.js +21 -0
  94. package/lib/shared/options/createOptionDefaults/getUsageFromReadme.js.map +1 -0
  95. package/lib/shared/options/createOptionDefaults/index.d.ts +1 -0
  96. package/lib/shared/options/createOptionDefaults/index.js +8 -3
  97. package/lib/shared/options/createOptionDefaults/index.js.map +1 -1
  98. package/lib/shared/options/createOptionDefaults/readDefaultsFromReadme.d.ts +2 -1
  99. package/lib/shared/options/createOptionDefaults/readDefaultsFromReadme.js +19 -4
  100. package/lib/shared/options/createOptionDefaults/readDefaultsFromReadme.js.map +1 -1
  101. package/lib/shared/options/readOptions.js +1 -1
  102. package/lib/shared/options/readOptions.js.map +1 -1
  103. package/lib/steps/uninstallPackages.js +2 -0
  104. package/lib/steps/uninstallPackages.js.map +1 -1
  105. package/lib/steps/writing/creation/rootFiles.js +13 -3
  106. package/lib/steps/writing/creation/rootFiles.js.map +1 -1
  107. package/lib/steps/writing/creation/writePackageJson.js +1 -1
  108. package/lib/steps/writing/creation/writePackageJson.js.map +1 -1
  109. package/package.json +7 -5
@@ -2,6 +2,7 @@ import * as create from 'create';
2
2
 
3
3
  declare const blockESLintNode: create.BlockWithoutAddons<{
4
4
  description: string;
5
+ access: "public" | "restricted";
5
6
  directory: string;
6
7
  email: {
7
8
  github: string;
@@ -10,7 +11,6 @@ declare const blockESLintNode: create.BlockWithoutAddons<{
10
11
  title: string;
11
12
  owner: string;
12
13
  repository: string;
13
- access?: "public" | "restricted" | undefined;
14
14
  author?: string | undefined;
15
15
  bin?: string | undefined;
16
16
  contributors?: {
@@ -43,6 +43,7 @@ declare const blockESLintNode: create.BlockWithoutAddons<{
43
43
  devDependencies?: Record<string, string> | undefined;
44
44
  scripts?: Record<string, string> | undefined;
45
45
  } | undefined;
46
+ usage?: string | undefined;
46
47
  version?: string | undefined;
47
48
  }>;
48
49
 
@@ -2,6 +2,7 @@ import * as create from 'create';
2
2
 
3
3
  declare const blockESLintPackageJson: create.BlockWithoutAddons<{
4
4
  description: string;
5
+ access: "public" | "restricted";
5
6
  directory: string;
6
7
  email: {
7
8
  github: string;
@@ -10,7 +11,6 @@ declare const blockESLintPackageJson: create.BlockWithoutAddons<{
10
11
  title: string;
11
12
  owner: string;
12
13
  repository: string;
13
- access?: "public" | "restricted" | undefined;
14
14
  author?: string | undefined;
15
15
  bin?: string | undefined;
16
16
  contributors?: {
@@ -43,6 +43,7 @@ declare const blockESLintPackageJson: create.BlockWithoutAddons<{
43
43
  devDependencies?: Record<string, string> | undefined;
44
44
  scripts?: Record<string, string> | undefined;
45
45
  } | undefined;
46
+ usage?: string | undefined;
46
47
  version?: string | undefined;
47
48
  }>;
48
49
 
@@ -2,6 +2,7 @@ import * as create from 'create';
2
2
 
3
3
  declare const blockESLintPerfectionist: create.BlockWithoutAddons<{
4
4
  description: string;
5
+ access: "public" | "restricted";
5
6
  directory: string;
6
7
  email: {
7
8
  github: string;
@@ -10,7 +11,6 @@ declare const blockESLintPerfectionist: create.BlockWithoutAddons<{
10
11
  title: string;
11
12
  owner: string;
12
13
  repository: string;
13
- access?: "public" | "restricted" | undefined;
14
14
  author?: string | undefined;
15
15
  bin?: string | undefined;
16
16
  contributors?: {
@@ -43,6 +43,7 @@ declare const blockESLintPerfectionist: create.BlockWithoutAddons<{
43
43
  devDependencies?: Record<string, string> | undefined;
44
44
  scripts?: Record<string, string> | undefined;
45
45
  } | undefined;
46
+ usage?: string | undefined;
46
47
  version?: string | undefined;
47
48
  }>;
48
49
 
@@ -2,6 +2,7 @@ import * as create from 'create';
2
2
 
3
3
  declare const blockESLintRegexp: create.BlockWithoutAddons<{
4
4
  description: string;
5
+ access: "public" | "restricted";
5
6
  directory: string;
6
7
  email: {
7
8
  github: string;
@@ -10,7 +11,6 @@ declare const blockESLintRegexp: create.BlockWithoutAddons<{
10
11
  title: string;
11
12
  owner: string;
12
13
  repository: string;
13
- access?: "public" | "restricted" | undefined;
14
14
  author?: string | undefined;
15
15
  bin?: string | undefined;
16
16
  contributors?: {
@@ -43,6 +43,7 @@ declare const blockESLintRegexp: create.BlockWithoutAddons<{
43
43
  devDependencies?: Record<string, string> | undefined;
44
44
  scripts?: Record<string, string> | undefined;
45
45
  } | undefined;
46
+ usage?: string | undefined;
46
47
  version?: string | undefined;
47
48
  }>;
48
49
 
@@ -2,6 +2,7 @@ import * as create from 'create';
2
2
 
3
3
  declare const blockESLintYML: create.BlockWithoutAddons<{
4
4
  description: string;
5
+ access: "public" | "restricted";
5
6
  directory: string;
6
7
  email: {
7
8
  github: string;
@@ -10,7 +11,6 @@ declare const blockESLintYML: create.BlockWithoutAddons<{
10
11
  title: string;
11
12
  owner: string;
12
13
  repository: string;
13
- access?: "public" | "restricted" | undefined;
14
14
  author?: string | undefined;
15
15
  bin?: string | undefined;
16
16
  contributors?: {
@@ -43,6 +43,7 @@ declare const blockESLintYML: create.BlockWithoutAddons<{
43
43
  devDependencies?: Record<string, string> | undefined;
44
44
  scripts?: Record<string, string> | undefined;
45
45
  } | undefined;
46
+ usage?: string | undefined;
46
47
  version?: string | undefined;
47
48
  }>;
48
49
 
@@ -4,6 +4,7 @@ declare const blockExampleFiles: create.BlockWithAddons<{
4
4
  files: Record<string, string>;
5
5
  }, {
6
6
  description: string;
7
+ access: "public" | "restricted";
7
8
  directory: string;
8
9
  email: {
9
10
  github: string;
@@ -12,7 +13,6 @@ declare const blockExampleFiles: create.BlockWithAddons<{
12
13
  title: string;
13
14
  owner: string;
14
15
  repository: string;
15
- access?: "public" | "restricted" | undefined;
16
16
  author?: string | undefined;
17
17
  bin?: string | undefined;
18
18
  contributors?: {
@@ -45,6 +45,7 @@ declare const blockExampleFiles: create.BlockWithAddons<{
45
45
  devDependencies?: Record<string, string> | undefined;
46
46
  scripts?: Record<string, string> | undefined;
47
47
  } | undefined;
48
+ usage?: string | undefined;
48
49
  version?: string | undefined;
49
50
  }>;
50
51
 
@@ -2,6 +2,7 @@ import * as create from 'create';
2
2
 
3
3
  declare const blockFunding: create.BlockWithoutAddons<{
4
4
  description: string;
5
+ access: "public" | "restricted";
5
6
  directory: string;
6
7
  email: {
7
8
  github: string;
@@ -10,7 +11,6 @@ declare const blockFunding: create.BlockWithoutAddons<{
10
11
  title: string;
11
12
  owner: string;
12
13
  repository: string;
13
- access?: "public" | "restricted" | undefined;
14
14
  author?: string | undefined;
15
15
  bin?: string | undefined;
16
16
  contributors?: {
@@ -43,6 +43,7 @@ declare const blockFunding: create.BlockWithoutAddons<{
43
43
  devDependencies?: Record<string, string> | undefined;
44
44
  scripts?: Record<string, string> | undefined;
45
45
  } | undefined;
46
+ usage?: string | undefined;
46
47
  version?: string | undefined;
47
48
  }>;
48
49
 
@@ -6,6 +6,7 @@ declare const blockGitHubActionsCI: create.BlockWithAddons<{
6
6
  steps: ({
7
7
  if?: string | undefined;
8
8
  with?: Record<string, string> | undefined;
9
+ env?: Record<string, string> | undefined;
9
10
  } & ({
10
11
  run: string;
11
12
  } | {
@@ -14,6 +15,7 @@ declare const blockGitHubActionsCI: create.BlockWithAddons<{
14
15
  }[] | undefined;
15
16
  }, {
16
17
  description: string;
18
+ access: "public" | "restricted";
17
19
  directory: string;
18
20
  email: {
19
21
  github: string;
@@ -22,7 +24,6 @@ declare const blockGitHubActionsCI: create.BlockWithAddons<{
22
24
  title: string;
23
25
  owner: string;
24
26
  repository: string;
25
- access?: "public" | "restricted" | undefined;
26
27
  author?: string | undefined;
27
28
  bin?: string | undefined;
28
29
  contributors?: {
@@ -55,6 +56,7 @@ declare const blockGitHubActionsCI: create.BlockWithAddons<{
55
56
  devDependencies?: Record<string, string> | undefined;
56
57
  scripts?: Record<string, string> | undefined;
57
58
  } | undefined;
59
+ usage?: string | undefined;
58
60
  version?: string | undefined;
59
61
  }>;
60
62
 
@@ -15,6 +15,7 @@ const blockGitHubActionsCI = base.createBlock({
15
15
  steps: z.array(
16
16
  z.intersection(
17
17
  z.object({
18
+ env: z.record(z.string(), z.string()).optional(),
18
19
  if: z.string().optional(),
19
20
  with: z.record(z.string(), z.string()).optional()
20
21
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/next/blocks/blockGitHubActionsCI.ts"],"sourcesContent":["import jsYaml from \"js-yaml\";\nimport { z } from \"zod\";\n\nimport { createMultiWorkflowFile } from \"../../steps/writing/creation/dotGitHub/createMultiWorkflowFile.js\";\nimport { createSoloWorkflowFile } from \"../../steps/writing/creation/dotGitHub/createSoloWorkflowFile.js\";\nimport { base } from \"../base.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockGitHubActionsCI = base.createBlock({\n\tabout: {\n\t\tname: \"GitHub Actions CI\",\n\t},\n\taddons: {\n\t\tjobs: z\n\t\t\t.array(\n\t\t\t\tz.object({\n\t\t\t\t\tname: z.string(),\n\t\t\t\t\tsteps: z.array(\n\t\t\t\t\t\tz.intersection(\n\t\t\t\t\t\t\tz.object({\n\t\t\t\t\t\t\t\tif: z.string().optional(),\n\t\t\t\t\t\t\t\twith: z.record(z.string(), z.string()).optional(),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tz.union([\n\t\t\t\t\t\t\t\tz.object({ run: z.string() }),\n\t\t\t\t\t\t\t\tz.object({ uses: z.string() }),\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.optional(),\n\t},\n\tmigrate() {\n\t\treturn {\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\"rm -rf .circleci travis.yml\"],\n\t\t\t\t\tphase: CommandPhase.Migrations,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\tproduce({ addons }) {\n\t\tconst { jobs } = addons;\n\n\t\treturn {\n\t\t\tfiles: {\n\t\t\t\t\".github\": {\n\t\t\t\t\tactions: {\n\t\t\t\t\t\tprepare: {\n\t\t\t\t\t\t\t\"action.yml\": jsYaml\n\t\t\t\t\t\t\t\t.dump({\n\t\t\t\t\t\t\t\t\tdescription: \"Prepares the repo for a typical CI job\",\n\t\t\t\t\t\t\t\t\tname: \"Prepare\",\n\t\t\t\t\t\t\t\t\truns: {\n\t\t\t\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tuses: \"pnpm/action-setup@v4\",\n\t\t\t\t\t\t\t\t\t\t\t\twith: { version: 9 },\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tuses: \"actions/setup-node@v4\",\n\t\t\t\t\t\t\t\t\t\t\t\twith: { cache: \"pnpm\", \"node-version\": \"20\" },\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\trun: \"pnpm install --frozen-lockfile\",\n\t\t\t\t\t\t\t\t\t\t\t\tshell: \"bash\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tusing: \"composite\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.replaceAll(/\\n(\\S)/g, \"\\n\\n$1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tworkflows: {\n\t\t\t\t\t\t\"accessibility-alt-text-bot.yml\": createSoloWorkflowFile({\n\t\t\t\t\t\t\tif: \"${{ !endsWith(github.actor, '[bot]') }}\",\n\t\t\t\t\t\t\tname: \"Accessibility Alt Text Bot\",\n\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\tissue_comment: {\n\t\t\t\t\t\t\t\t\ttypes: [\"created\", \"edited\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tissues: {\n\t\t\t\t\t\t\t\t\ttypes: [\"edited\", \"opened\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tpull_request: {\n\t\t\t\t\t\t\t\t\ttypes: [\"edited\", \"opened\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tpermissions: {\n\t\t\t\t\t\t\t\tissues: \"write\",\n\t\t\t\t\t\t\t\t\"pull-requests\": \"write\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tuses: \"github/accessibility-alt-text-bot@v1.4.0\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\"ci.yml\":\n\t\t\t\t\t\t\tjobs &&\n\t\t\t\t\t\t\tcreateMultiWorkflowFile({\n\t\t\t\t\t\t\t\tjobs: jobs.sort((a, b) => a.name.localeCompare(b.name)),\n\t\t\t\t\t\t\t\tname: \"CI\",\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\"pr-review-requested.yml\": createSoloWorkflowFile({\n\t\t\t\t\t\t\tname: \"PR Review Requested\",\n\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\tpull_request_target: {\n\t\t\t\t\t\t\t\t\ttypes: [\"review_requested\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tpermissions: {\n\t\t\t\t\t\t\t\t\"pull-requests\": \"write\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tuses: \"actions-ecosystem/action-remove-labels@v1\",\n\t\t\t\t\t\t\t\t\twith: {\n\t\t\t\t\t\t\t\t\t\tlabels: \"status: waiting for author\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif: \"failure()\",\n\t\t\t\t\t\t\t\t\trun: 'echo \"Don\\'t worry if the previous step failed.\"\\necho \"See https://github.com/actions-ecosystem/action-remove-labels/issues/221.\"\\n',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t},\n});\n"],"mappings":"AAAA,OAAO,YAAY;AACnB,SAAS,SAAS;AAElB,SAAS,+BAA+B;AACxC,SAAS,8BAA8B;AACvC,SAAS,YAAY;AACrB,SAAS,oBAAoB;AAEtB,MAAM,uBAAuB,KAAK,YAAY;AAAA,EACpD,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,QAAQ;AAAA,IACP,MAAM,EACJ;AAAA,MACA,EAAE,OAAO;AAAA,QACR,MAAM,EAAE,OAAO;AAAA,QACf,OAAO,EAAE;AAAA,UACR,EAAE;AAAA,YACD,EAAE,OAAO;AAAA,cACR,IAAI,EAAE,OAAO,EAAE,SAAS;AAAA,cACxB,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,YACjD,CAAC;AAAA,YACD,EAAE,MAAM;AAAA,cACP,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAAA,cAC5B,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAAA,YAC9B,CAAC;AAAA,UACF;AAAA,QACD;AAAA,MACD,CAAC;AAAA,IACF,EACC,SAAS;AAAA,EACZ;AAAA,EACA,UAAU;AACT,WAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,UACC,UAAU,CAAC,6BAA6B;AAAA,UACxC,OAAO,aAAa;AAAA,QACrB;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,QAAQ,EAAE,OAAO,GAAG;AACnB,UAAM,EAAE,KAAK,IAAI;AAEjB,WAAO;AAAA,MACN,OAAO;AAAA,QACN,WAAW;AAAA,UACV,SAAS;AAAA,YACR,SAAS;AAAA,cACR,cAAc,OACZ,KAAK;AAAA,gBACL,aAAa;AAAA,gBACb,MAAM;AAAA,gBACN,MAAM;AAAA,kBACL,OAAO;AAAA,oBACN;AAAA,sBACC,MAAM;AAAA,sBACN,MAAM,EAAE,SAAS,EAAE;AAAA,oBACpB;AAAA,oBACA;AAAA,sBACC,MAAM;AAAA,sBACN,MAAM,EAAE,OAAO,QAAQ,gBAAgB,KAAK;AAAA,oBAC7C;AAAA,oBACA;AAAA,sBACC,KAAK;AAAA,sBACL,OAAO;AAAA,oBACR;AAAA,kBACD;AAAA,kBACA,OAAO;AAAA,gBACR;AAAA,cACD,CAAC,EACA,WAAW,WAAW,QAAQ;AAAA,YACjC;AAAA,UACD;AAAA,UACA,WAAW;AAAA,YACV,kCAAkC,uBAAuB;AAAA,cACxD,IAAI;AAAA,cACJ,MAAM;AAAA,cACN,IAAI;AAAA,gBACH,eAAe;AAAA,kBACd,OAAO,CAAC,WAAW,QAAQ;AAAA,gBAC5B;AAAA,gBACA,QAAQ;AAAA,kBACP,OAAO,CAAC,UAAU,QAAQ;AAAA,gBAC3B;AAAA,gBACA,cAAc;AAAA,kBACb,OAAO,CAAC,UAAU,QAAQ;AAAA,gBAC3B;AAAA,cACD;AAAA,cACA,aAAa;AAAA,gBACZ,QAAQ;AAAA,gBACR,iBAAiB;AAAA,cAClB;AAAA,cACA,OAAO;AAAA,gBACN;AAAA,kBACC,MAAM;AAAA,gBACP;AAAA,cACD;AAAA,YACD,CAAC;AAAA,YACD,UACC,QACA,wBAAwB;AAAA,cACvB,MAAM,KAAK,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC;AAAA,cACtD,MAAM;AAAA,YACP,CAAC;AAAA,YACF,2BAA2B,uBAAuB;AAAA,cACjD,MAAM;AAAA,cACN,IAAI;AAAA,gBACH,qBAAqB;AAAA,kBACpB,OAAO,CAAC,kBAAkB;AAAA,gBAC3B;AAAA,cACD;AAAA,cACA,aAAa;AAAA,gBACZ,iBAAiB;AAAA,cAClB;AAAA,cACA,OAAO;AAAA,gBACN;AAAA,kBACC,MAAM;AAAA,kBACN,MAAM;AAAA,oBACL,QAAQ;AAAA,kBACT;AAAA,gBACD;AAAA,gBACA;AAAA,kBACC,IAAI;AAAA,kBACJ,KAAK;AAAA;AAAA;AAAA,gBACN;AAAA,cACD;AAAA,YACD,CAAC;AAAA,UACF;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../../src/next/blocks/blockGitHubActionsCI.ts"],"sourcesContent":["import jsYaml from \"js-yaml\";\nimport { z } from \"zod\";\n\nimport { createMultiWorkflowFile } from \"../../steps/writing/creation/dotGitHub/createMultiWorkflowFile.js\";\nimport { createSoloWorkflowFile } from \"../../steps/writing/creation/dotGitHub/createSoloWorkflowFile.js\";\nimport { base } from \"../base.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockGitHubActionsCI = base.createBlock({\n\tabout: {\n\t\tname: \"GitHub Actions CI\",\n\t},\n\taddons: {\n\t\tjobs: z\n\t\t\t.array(\n\t\t\t\tz.object({\n\t\t\t\t\tname: z.string(),\n\t\t\t\t\tsteps: z.array(\n\t\t\t\t\t\tz.intersection(\n\t\t\t\t\t\t\tz.object({\n\t\t\t\t\t\t\t\tenv: z.record(z.string(), z.string()).optional(),\n\t\t\t\t\t\t\t\tif: z.string().optional(),\n\t\t\t\t\t\t\t\twith: z.record(z.string(), z.string()).optional(),\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tz.union([\n\t\t\t\t\t\t\t\tz.object({ run: z.string() }),\n\t\t\t\t\t\t\t\tz.object({ uses: z.string() }),\n\t\t\t\t\t\t\t]),\n\t\t\t\t\t\t),\n\t\t\t\t\t),\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.optional(),\n\t},\n\tmigrate() {\n\t\treturn {\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\"rm -rf .circleci travis.yml\"],\n\t\t\t\t\tphase: CommandPhase.Migrations,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\tproduce({ addons }) {\n\t\tconst { jobs } = addons;\n\n\t\treturn {\n\t\t\tfiles: {\n\t\t\t\t\".github\": {\n\t\t\t\t\tactions: {\n\t\t\t\t\t\tprepare: {\n\t\t\t\t\t\t\t\"action.yml\": jsYaml\n\t\t\t\t\t\t\t\t.dump({\n\t\t\t\t\t\t\t\t\tdescription: \"Prepares the repo for a typical CI job\",\n\t\t\t\t\t\t\t\t\tname: \"Prepare\",\n\t\t\t\t\t\t\t\t\truns: {\n\t\t\t\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tuses: \"pnpm/action-setup@v4\",\n\t\t\t\t\t\t\t\t\t\t\t\twith: { version: 9 },\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tuses: \"actions/setup-node@v4\",\n\t\t\t\t\t\t\t\t\t\t\t\twith: { cache: \"pnpm\", \"node-version\": \"20\" },\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\trun: \"pnpm install --frozen-lockfile\",\n\t\t\t\t\t\t\t\t\t\t\t\tshell: \"bash\",\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tusing: \"composite\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.replaceAll(/\\n(\\S)/g, \"\\n\\n$1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tworkflows: {\n\t\t\t\t\t\t\"accessibility-alt-text-bot.yml\": createSoloWorkflowFile({\n\t\t\t\t\t\t\tif: \"${{ !endsWith(github.actor, '[bot]') }}\",\n\t\t\t\t\t\t\tname: \"Accessibility Alt Text Bot\",\n\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\tissue_comment: {\n\t\t\t\t\t\t\t\t\ttypes: [\"created\", \"edited\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tissues: {\n\t\t\t\t\t\t\t\t\ttypes: [\"edited\", \"opened\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tpull_request: {\n\t\t\t\t\t\t\t\t\ttypes: [\"edited\", \"opened\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tpermissions: {\n\t\t\t\t\t\t\t\tissues: \"write\",\n\t\t\t\t\t\t\t\t\"pull-requests\": \"write\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tuses: \"github/accessibility-alt-text-bot@v1.4.0\",\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t\"ci.yml\":\n\t\t\t\t\t\t\tjobs &&\n\t\t\t\t\t\t\tcreateMultiWorkflowFile({\n\t\t\t\t\t\t\t\tjobs: jobs.sort((a, b) => a.name.localeCompare(b.name)),\n\t\t\t\t\t\t\t\tname: \"CI\",\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\"pr-review-requested.yml\": createSoloWorkflowFile({\n\t\t\t\t\t\t\tname: \"PR Review Requested\",\n\t\t\t\t\t\t\ton: {\n\t\t\t\t\t\t\t\tpull_request_target: {\n\t\t\t\t\t\t\t\t\ttypes: [\"review_requested\"],\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tpermissions: {\n\t\t\t\t\t\t\t\t\"pull-requests\": \"write\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsteps: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tuses: \"actions-ecosystem/action-remove-labels@v1\",\n\t\t\t\t\t\t\t\t\twith: {\n\t\t\t\t\t\t\t\t\t\tlabels: \"status: waiting for author\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif: \"failure()\",\n\t\t\t\t\t\t\t\t\trun: 'echo \"Don\\'t worry if the previous step failed.\"\\necho \"See https://github.com/actions-ecosystem/action-remove-labels/issues/221.\"\\n',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t}),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t},\n});\n"],"mappings":"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","names":[]}
@@ -7,6 +7,7 @@ declare const blockGitHubApps: create.BlockWithAddons<{
7
7
  }[];
8
8
  }, {
9
9
  description: string;
10
+ access: "public" | "restricted";
10
11
  directory: string;
11
12
  email: {
12
13
  github: string;
@@ -15,7 +16,6 @@ declare const blockGitHubApps: create.BlockWithAddons<{
15
16
  title: string;
16
17
  owner: string;
17
18
  repository: string;
18
- access?: "public" | "restricted" | undefined;
19
19
  author?: string | undefined;
20
20
  bin?: string | undefined;
21
21
  contributors?: {
@@ -48,6 +48,7 @@ declare const blockGitHubApps: create.BlockWithAddons<{
48
48
  devDependencies?: Record<string, string> | undefined;
49
49
  scripts?: Record<string, string> | undefined;
50
50
  } | undefined;
51
+ usage?: string | undefined;
51
52
  version?: string | undefined;
52
53
  }>;
53
54
 
@@ -2,6 +2,7 @@ import * as create from 'create';
2
2
 
3
3
  declare const blockGitHubIssueTemplates: create.BlockWithoutAddons<{
4
4
  description: string;
5
+ access: "public" | "restricted";
5
6
  directory: string;
6
7
  email: {
7
8
  github: string;
@@ -10,7 +11,6 @@ declare const blockGitHubIssueTemplates: create.BlockWithoutAddons<{
10
11
  title: string;
11
12
  owner: string;
12
13
  repository: string;
13
- access?: "public" | "restricted" | undefined;
14
14
  author?: string | undefined;
15
15
  bin?: string | undefined;
16
16
  contributors?: {
@@ -43,6 +43,7 @@ declare const blockGitHubIssueTemplates: create.BlockWithoutAddons<{
43
43
  devDependencies?: Record<string, string> | undefined;
44
44
  scripts?: Record<string, string> | undefined;
45
45
  } | undefined;
46
+ usage?: string | undefined;
46
47
  version?: string | undefined;
47
48
  }>;
48
49
 
@@ -2,6 +2,7 @@ import * as create from 'create';
2
2
 
3
3
  declare const blockGitHubPRTemplate: create.BlockWithoutAddons<{
4
4
  description: string;
5
+ access: "public" | "restricted";
5
6
  directory: string;
6
7
  email: {
7
8
  github: string;
@@ -10,7 +11,6 @@ declare const blockGitHubPRTemplate: create.BlockWithoutAddons<{
10
11
  title: string;
11
12
  owner: string;
12
13
  repository: string;
13
- access?: "public" | "restricted" | undefined;
14
14
  author?: string | undefined;
15
15
  bin?: string | undefined;
16
16
  contributors?: {
@@ -43,6 +43,7 @@ declare const blockGitHubPRTemplate: create.BlockWithoutAddons<{
43
43
  devDependencies?: Record<string, string> | undefined;
44
44
  scripts?: Record<string, string> | undefined;
45
45
  } | undefined;
46
+ usage?: string | undefined;
46
47
  version?: string | undefined;
47
48
  }>;
48
49
 
@@ -4,6 +4,7 @@ declare const blockGitignore: create.BlockWithAddons<{
4
4
  ignores: string[];
5
5
  }, {
6
6
  description: string;
7
+ access: "public" | "restricted";
7
8
  directory: string;
8
9
  email: {
9
10
  github: string;
@@ -12,7 +13,6 @@ declare const blockGitignore: create.BlockWithAddons<{
12
13
  title: string;
13
14
  owner: string;
14
15
  repository: string;
15
- access?: "public" | "restricted" | undefined;
16
16
  author?: string | undefined;
17
17
  bin?: string | undefined;
18
18
  contributors?: {
@@ -45,6 +45,7 @@ declare const blockGitignore: create.BlockWithAddons<{
45
45
  devDependencies?: Record<string, string> | undefined;
46
46
  scripts?: Record<string, string> | undefined;
47
47
  } | undefined;
48
+ usage?: string | undefined;
48
49
  version?: string | undefined;
49
50
  }>;
50
51
 
@@ -2,6 +2,7 @@ import * as create from 'create';
2
2
 
3
3
  declare const blockKnip: create.BlockWithoutAddons<{
4
4
  description: string;
5
+ access: "public" | "restricted";
5
6
  directory: string;
6
7
  email: {
7
8
  github: string;
@@ -10,7 +11,6 @@ declare const blockKnip: create.BlockWithoutAddons<{
10
11
  title: string;
11
12
  owner: string;
12
13
  repository: string;
13
- access?: "public" | "restricted" | undefined;
14
14
  author?: string | undefined;
15
15
  bin?: string | undefined;
16
16
  contributors?: {
@@ -43,6 +43,7 @@ declare const blockKnip: create.BlockWithoutAddons<{
43
43
  devDependencies?: Record<string, string> | undefined;
44
44
  scripts?: Record<string, string> | undefined;
45
45
  } | undefined;
46
+ usage?: string | undefined;
46
47
  version?: string | undefined;
47
48
  }>;
48
49
 
@@ -3,10 +3,21 @@ import { blockDevelopmentDocs } from "./blockDevelopmentDocs.js";
3
3
  import { blockGitHubActionsCI } from "./blockGitHubActionsCI.js";
4
4
  import { blockPackageJson } from "./blockPackageJson.js";
5
5
  import { getPackageDependencies, getPackageDependency } from "./packageData.js";
6
+ import { CommandPhase } from "./phases.js";
6
7
  const blockKnip = base.createBlock({
7
8
  about: {
8
9
  name: "Knip"
9
10
  },
11
+ migrate() {
12
+ return {
13
+ scripts: [
14
+ {
15
+ commands: ["rm .knip* knip.*"],
16
+ phase: CommandPhase.Migrations
17
+ }
18
+ ]
19
+ };
20
+ },
10
21
  produce() {
11
22
  return {
12
23
  addons: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/next/blocks/blockKnip.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockDevelopmentDocs } from \"./blockDevelopmentDocs.js\";\nimport { blockGitHubActionsCI } from \"./blockGitHubActionsCI.js\";\nimport { blockPackageJson } from \"./blockPackageJson.js\";\nimport { getPackageDependencies, getPackageDependency } from \"./packageData.js\";\n\nexport const blockKnip = base.createBlock({\n\tabout: {\n\t\tname: \"Knip\",\n\t},\n\tproduce() {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockDevelopmentDocs({\n\t\t\t\t\tsections: {\n\t\t\t\t\t\tLinting: {\n\t\t\t\t\t\t\tcontents: {\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t`- \\`pnpm lint:knip\\` ([knip](https://github.com/webpro/knip)): Detects unused files, dependencies, and code exports`,\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tblockGitHubActionsCI({\n\t\t\t\t\tjobs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: \"Lint Knip\",\n\t\t\t\t\t\t\tsteps: [{ run: \"pnpm lint:knip\" }],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t\tblockPackageJson({\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tdevDependencies: getPackageDependencies(\"knip\"),\n\t\t\t\t\t\tscripts: {\n\t\t\t\t\t\t\t\"lint:knip\": \"knip\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t],\n\t\t\tfiles: {\n\t\t\t\t\"knip.json\": JSON.stringify({\n\t\t\t\t\t$schema: `https://unpkg.com/knip@${getPackageDependency(\"knip\")}/schema.json`,\n\t\t\t\t\tentry: [\"src/index.ts!\"],\n\t\t\t\t\tignoreExportsUsedInFile: {\n\t\t\t\t\t\tinterface: true,\n\t\t\t\t\t\ttype: true,\n\t\t\t\t\t},\n\t\t\t\t\tproject: [\"src/**/*.ts!\"],\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\t},\n});\n"],"mappings":"AAAA,SAAS,YAAY;AACrB,SAAS,4BAA4B;AACrC,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB,4BAA4B;AAEtD,MAAM,YAAY,KAAK,YAAY;AAAA,EACzC,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,UAAU;AACT,WAAO;AAAA,MACN,QAAQ;AAAA,QACP,qBAAqB;AAAA,UACpB,UAAU;AAAA,YACT,SAAS;AAAA,cACR,UAAU;AAAA,gBACT,OAAO;AAAA,kBACN;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,qBAAqB;AAAA,UACpB,MAAM;AAAA,YACL;AAAA,cACC,MAAM;AAAA,cACN,OAAO,CAAC,EAAE,KAAK,iBAAiB,CAAC;AAAA,YAClC;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,iBAAiB;AAAA,UAChB,YAAY;AAAA,YACX,iBAAiB,uBAAuB,MAAM;AAAA,YAC9C,SAAS;AAAA,cACR,aAAa;AAAA,YACd;AAAA,UACD;AAAA,QACD,CAAC;AAAA,MACF;AAAA,MACA,OAAO;AAAA,QACN,aAAa,KAAK,UAAU;AAAA,UAC3B,SAAS,0BAA0B,qBAAqB,MAAM,CAAC;AAAA,UAC/D,OAAO,CAAC,eAAe;AAAA,UACvB,yBAAyB;AAAA,YACxB,WAAW;AAAA,YACX,MAAM;AAAA,UACP;AAAA,UACA,SAAS,CAAC,cAAc;AAAA,QACzB,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../../src/next/blocks/blockKnip.ts"],"sourcesContent":["import { base } from \"../base.js\";\nimport { blockDevelopmentDocs } from \"./blockDevelopmentDocs.js\";\nimport { blockGitHubActionsCI } from \"./blockGitHubActionsCI.js\";\nimport { blockPackageJson } from \"./blockPackageJson.js\";\nimport { getPackageDependencies, getPackageDependency } from \"./packageData.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockKnip = base.createBlock({\n\tabout: {\n\t\tname: \"Knip\",\n\t},\n\tmigrate() {\n\t\treturn {\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\"rm .knip* knip.*\"],\n\t\t\t\t\tphase: CommandPhase.Migrations,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\tproduce() {\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockDevelopmentDocs({\n\t\t\t\t\tsections: {\n\t\t\t\t\t\tLinting: {\n\t\t\t\t\t\t\tcontents: {\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t`- \\`pnpm lint:knip\\` ([knip](https://github.com/webpro/knip)): Detects unused files, dependencies, and code exports`,\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tblockGitHubActionsCI({\n\t\t\t\t\tjobs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: \"Lint Knip\",\n\t\t\t\t\t\t\tsteps: [{ run: \"pnpm lint:knip\" }],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t\tblockPackageJson({\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tdevDependencies: getPackageDependencies(\"knip\"),\n\t\t\t\t\t\tscripts: {\n\t\t\t\t\t\t\t\"lint:knip\": \"knip\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t],\n\t\t\tfiles: {\n\t\t\t\t\"knip.json\": JSON.stringify({\n\t\t\t\t\t$schema: `https://unpkg.com/knip@${getPackageDependency(\"knip\")}/schema.json`,\n\t\t\t\t\tentry: [\"src/index.ts!\"],\n\t\t\t\t\tignoreExportsUsedInFile: {\n\t\t\t\t\t\tinterface: true,\n\t\t\t\t\t\ttype: true,\n\t\t\t\t\t},\n\t\t\t\t\tproject: [\"src/**/*.ts!\"],\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\t},\n});\n"],"mappings":"AAAA,SAAS,YAAY;AACrB,SAAS,4BAA4B;AACrC,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB,4BAA4B;AAC7D,SAAS,oBAAoB;AAEtB,MAAM,YAAY,KAAK,YAAY;AAAA,EACzC,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,UAAU;AACT,WAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,UACC,UAAU,CAAC,kBAAkB;AAAA,UAC7B,OAAO,aAAa;AAAA,QACrB;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,UAAU;AACT,WAAO;AAAA,MACN,QAAQ;AAAA,QACP,qBAAqB;AAAA,UACpB,UAAU;AAAA,YACT,SAAS;AAAA,cACR,UAAU;AAAA,gBACT,OAAO;AAAA,kBACN;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,qBAAqB;AAAA,UACpB,MAAM;AAAA,YACL;AAAA,cACC,MAAM;AAAA,cACN,OAAO,CAAC,EAAE,KAAK,iBAAiB,CAAC;AAAA,YAClC;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,iBAAiB;AAAA,UAChB,YAAY;AAAA,YACX,iBAAiB,uBAAuB,MAAM;AAAA,YAC9C,SAAS;AAAA,cACR,aAAa;AAAA,YACd;AAAA,UACD;AAAA,QACD,CAAC;AAAA,MACF;AAAA,MACA,OAAO;AAAA,QACN,aAAa,KAAK,UAAU;AAAA,UAC3B,SAAS,0BAA0B,qBAAqB,MAAM,CAAC;AAAA,UAC/D,OAAO,CAAC,eAAe;AAAA,UACvB,yBAAyB;AAAA,YACxB,WAAW;AAAA,YACX,MAAM;AAAA,UACP;AAAA,UACA,SAAS,CAAC,cAAc;AAAA,QACzB,CAAC;AAAA,MACF;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
@@ -2,6 +2,7 @@ import * as create from 'create';
2
2
 
3
3
  declare const blockMITLicense: create.BlockWithoutAddons<{
4
4
  description: string;
5
+ access: "public" | "restricted";
5
6
  directory: string;
6
7
  email: {
7
8
  github: string;
@@ -10,7 +11,6 @@ declare const blockMITLicense: create.BlockWithoutAddons<{
10
11
  title: string;
11
12
  owner: string;
12
13
  repository: string;
13
- access?: "public" | "restricted" | undefined;
14
14
  author?: string | undefined;
15
15
  bin?: string | undefined;
16
16
  contributors?: {
@@ -43,6 +43,7 @@ declare const blockMITLicense: create.BlockWithoutAddons<{
43
43
  devDependencies?: Record<string, string> | undefined;
44
44
  scripts?: Record<string, string> | undefined;
45
45
  } | undefined;
46
+ usage?: string | undefined;
46
47
  version?: string | undefined;
47
48
  }>;
48
49
 
@@ -4,6 +4,7 @@ declare const blockMarkdownlint: create.BlockWithAddons<{
4
4
  ignores: string[];
5
5
  }, {
6
6
  description: string;
7
+ access: "public" | "restricted";
7
8
  directory: string;
8
9
  email: {
9
10
  github: string;
@@ -12,7 +13,6 @@ declare const blockMarkdownlint: create.BlockWithAddons<{
12
13
  title: string;
13
14
  owner: string;
14
15
  repository: string;
15
- access?: "public" | "restricted" | undefined;
16
16
  author?: string | undefined;
17
17
  bin?: string | undefined;
18
18
  contributors?: {
@@ -45,6 +45,7 @@ declare const blockMarkdownlint: create.BlockWithAddons<{
45
45
  devDependencies?: Record<string, string> | undefined;
46
46
  scripts?: Record<string, string> | undefined;
47
47
  } | undefined;
48
+ usage?: string | undefined;
48
49
  version?: string | undefined;
49
50
  }>;
50
51
 
@@ -6,6 +6,7 @@ import { blockGitHubActionsCI } from "./blockGitHubActionsCI.js";
6
6
  import { blockPackageJson } from "./blockPackageJson.js";
7
7
  import { blockVSCode } from "./blockVSCode.js";
8
8
  import { getPackageDependencies } from "./packageData.js";
9
+ import { CommandPhase } from "./phases.js";
9
10
  const blockMarkdownlint = base.createBlock({
10
11
  about: {
11
12
  name: "Markdownlint"
@@ -67,7 +68,13 @@ const blockMarkdownlint = base.createBlock({
67
68
  "node_modules/",
68
69
  ...ignores
69
70
  ].sort().join("\n")
70
- }
71
+ },
72
+ scripts: [
73
+ {
74
+ commands: ["pnpm lint:md --fix"],
75
+ phase: CommandPhase.Process
76
+ }
77
+ ]
71
78
  };
72
79
  }
73
80
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/next/blocks/blockMarkdownlint.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { base } from \"../base.js\";\nimport { blockCSpell } from \"./blockCSpell.js\";\nimport { blockDevelopmentDocs } from \"./blockDevelopmentDocs.js\";\nimport { blockGitHubActionsCI } from \"./blockGitHubActionsCI.js\";\nimport { blockPackageJson } from \"./blockPackageJson.js\";\nimport { blockVSCode } from \"./blockVSCode.js\";\nimport { getPackageDependencies } from \"./packageData.js\";\n\nexport const blockMarkdownlint = base.createBlock({\n\tabout: {\n\t\tname: \"Markdownlint\",\n\t},\n\taddons: {\n\t\tignores: z.array(z.string()).default([]),\n\t},\n\tproduce({ addons }) {\n\t\tconst { ignores } = addons;\n\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockCSpell({\n\t\t\t\t\twords: [\"markdownlintignore\"],\n\t\t\t\t}),\n\t\t\t\tblockDevelopmentDocs({\n\t\t\t\t\tsections: {\n\t\t\t\t\t\tLinting: {\n\t\t\t\t\t\t\tcontents: {\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t`- \\`pnpm lint:md\\` ([Markdownlint](https://github.com/DavidAnson/markdownlint)): Checks Markdown source files`,\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tblockGitHubActionsCI({\n\t\t\t\t\tjobs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: \"Lint Markdown\",\n\t\t\t\t\t\t\tsteps: [{ run: \"pnpm lint:md\" }],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t\tblockPackageJson({\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tdevDependencies: getPackageDependencies(\n\t\t\t\t\t\t\t\"markdownlint\",\n\t\t\t\t\t\t\t\"markdownlint-cli\",\n\t\t\t\t\t\t\t\"sentences-per-line\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\tscripts: {\n\t\t\t\t\t\t\t\"lint:md\":\n\t\t\t\t\t\t\t\t'markdownlint \"**/*.md\" \".github/**/*.md\" --rules sentences-per-line',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tblockVSCode({\n\t\t\t\t\textensions: [\"DavidAnson.vscode-markdownlint\"],\n\t\t\t\t}),\n\t\t\t],\n\t\t\tfiles: {\n\t\t\t\t\".markdownlint.json\": JSON.stringify({\n\t\t\t\t\textends: \"markdownlint/style/prettier\",\n\t\t\t\t\t\"first-line-h1\": false,\n\t\t\t\t\t\"no-inline-html\": false,\n\t\t\t\t}),\n\t\t\t\t\".markdownlintignore\": [\n\t\t\t\t\t\".github/CODE_OF_CONDUCT.md\",\n\t\t\t\t\t\"CHANGELOG.md\",\n\t\t\t\t\t\"node_modules/\",\n\t\t\t\t\t...ignores,\n\t\t\t\t]\n\t\t\t\t\t.sort()\n\t\t\t\t\t.join(\"\\n\"),\n\t\t\t},\n\t\t};\n\t},\n});\n"],"mappings":"AAAA,SAAS,SAAS;AAElB,SAAS,YAAY;AACrB,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AACrC,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,8BAA8B;AAEhC,MAAM,oBAAoB,KAAK,YAAY;AAAA,EACjD,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,QAAQ;AAAA,IACP,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,EACxC;AAAA,EACA,QAAQ,EAAE,OAAO,GAAG;AACnB,UAAM,EAAE,QAAQ,IAAI;AAEpB,WAAO;AAAA,MACN,QAAQ;AAAA,QACP,YAAY;AAAA,UACX,OAAO,CAAC,oBAAoB;AAAA,QAC7B,CAAC;AAAA,QACD,qBAAqB;AAAA,UACpB,UAAU;AAAA,YACT,SAAS;AAAA,cACR,UAAU;AAAA,gBACT,OAAO;AAAA,kBACN;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,qBAAqB;AAAA,UACpB,MAAM;AAAA,YACL;AAAA,cACC,MAAM;AAAA,cACN,OAAO,CAAC,EAAE,KAAK,eAAe,CAAC;AAAA,YAChC;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,iBAAiB;AAAA,UAChB,YAAY;AAAA,YACX,iBAAiB;AAAA,cAChB;AAAA,cACA;AAAA,cACA;AAAA,YACD;AAAA,YACA,SAAS;AAAA,cACR,WACC;AAAA,YACF;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,YAAY;AAAA,UACX,YAAY,CAAC,gCAAgC;AAAA,QAC9C,CAAC;AAAA,MACF;AAAA,MACA,OAAO;AAAA,QACN,sBAAsB,KAAK,UAAU;AAAA,UACpC,SAAS;AAAA,UACT,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,QACnB,CAAC;AAAA,QACD,uBAAuB;AAAA,UACtB;AAAA,UACA;AAAA,UACA;AAAA,UACA,GAAG;AAAA,QACJ,EACE,KAAK,EACL,KAAK,IAAI;AAAA,MACZ;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../../src/next/blocks/blockMarkdownlint.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { base } from \"../base.js\";\nimport { blockCSpell } from \"./blockCSpell.js\";\nimport { blockDevelopmentDocs } from \"./blockDevelopmentDocs.js\";\nimport { blockGitHubActionsCI } from \"./blockGitHubActionsCI.js\";\nimport { blockPackageJson } from \"./blockPackageJson.js\";\nimport { blockVSCode } from \"./blockVSCode.js\";\nimport { getPackageDependencies } from \"./packageData.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockMarkdownlint = base.createBlock({\n\tabout: {\n\t\tname: \"Markdownlint\",\n\t},\n\taddons: {\n\t\tignores: z.array(z.string()).default([]),\n\t},\n\tproduce({ addons }) {\n\t\tconst { ignores } = addons;\n\n\t\treturn {\n\t\t\taddons: [\n\t\t\t\tblockCSpell({\n\t\t\t\t\twords: [\"markdownlintignore\"],\n\t\t\t\t}),\n\t\t\t\tblockDevelopmentDocs({\n\t\t\t\t\tsections: {\n\t\t\t\t\t\tLinting: {\n\t\t\t\t\t\t\tcontents: {\n\t\t\t\t\t\t\t\titems: [\n\t\t\t\t\t\t\t\t\t`- \\`pnpm lint:md\\` ([Markdownlint](https://github.com/DavidAnson/markdownlint)): Checks Markdown source files`,\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tblockGitHubActionsCI({\n\t\t\t\t\tjobs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: \"Lint Markdown\",\n\t\t\t\t\t\t\tsteps: [{ run: \"pnpm lint:md\" }],\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}),\n\t\t\t\tblockPackageJson({\n\t\t\t\t\tproperties: {\n\t\t\t\t\t\tdevDependencies: getPackageDependencies(\n\t\t\t\t\t\t\t\"markdownlint\",\n\t\t\t\t\t\t\t\"markdownlint-cli\",\n\t\t\t\t\t\t\t\"sentences-per-line\",\n\t\t\t\t\t\t),\n\t\t\t\t\t\tscripts: {\n\t\t\t\t\t\t\t\"lint:md\":\n\t\t\t\t\t\t\t\t'markdownlint \"**/*.md\" \".github/**/*.md\" --rules sentences-per-line',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t\tblockVSCode({\n\t\t\t\t\textensions: [\"DavidAnson.vscode-markdownlint\"],\n\t\t\t\t}),\n\t\t\t],\n\t\t\tfiles: {\n\t\t\t\t\".markdownlint.json\": JSON.stringify({\n\t\t\t\t\textends: \"markdownlint/style/prettier\",\n\t\t\t\t\t\"first-line-h1\": false,\n\t\t\t\t\t\"no-inline-html\": false,\n\t\t\t\t}),\n\t\t\t\t\".markdownlintignore\": [\n\t\t\t\t\t\".github/CODE_OF_CONDUCT.md\",\n\t\t\t\t\t\"CHANGELOG.md\",\n\t\t\t\t\t\"node_modules/\",\n\t\t\t\t\t...ignores,\n\t\t\t\t]\n\t\t\t\t\t.sort()\n\t\t\t\t\t.join(\"\\n\"),\n\t\t\t},\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\"pnpm lint:md --fix\"],\n\t\t\t\t\tphase: CommandPhase.Process,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n});\n"],"mappings":"AAAA,SAAS,SAAS;AAElB,SAAS,YAAY;AACrB,SAAS,mBAAmB;AAC5B,SAAS,4BAA4B;AACrC,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,8BAA8B;AACvC,SAAS,oBAAoB;AAEtB,MAAM,oBAAoB,KAAK,YAAY;AAAA,EACjD,OAAO;AAAA,IACN,MAAM;AAAA,EACP;AAAA,EACA,QAAQ;AAAA,IACP,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,EACxC;AAAA,EACA,QAAQ,EAAE,OAAO,GAAG;AACnB,UAAM,EAAE,QAAQ,IAAI;AAEpB,WAAO;AAAA,MACN,QAAQ;AAAA,QACP,YAAY;AAAA,UACX,OAAO,CAAC,oBAAoB;AAAA,QAC7B,CAAC;AAAA,QACD,qBAAqB;AAAA,UACpB,UAAU;AAAA,YACT,SAAS;AAAA,cACR,UAAU;AAAA,gBACT,OAAO;AAAA,kBACN;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,qBAAqB;AAAA,UACpB,MAAM;AAAA,YACL;AAAA,cACC,MAAM;AAAA,cACN,OAAO,CAAC,EAAE,KAAK,eAAe,CAAC;AAAA,YAChC;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,iBAAiB;AAAA,UAChB,YAAY;AAAA,YACX,iBAAiB;AAAA,cAChB;AAAA,cACA;AAAA,cACA;AAAA,YACD;AAAA,YACA,SAAS;AAAA,cACR,WACC;AAAA,YACF;AAAA,UACD;AAAA,QACD,CAAC;AAAA,QACD,YAAY;AAAA,UACX,YAAY,CAAC,gCAAgC;AAAA,QAC9C,CAAC;AAAA,MACF;AAAA,MACA,OAAO;AAAA,QACN,sBAAsB,KAAK,UAAU;AAAA,UACpC,SAAS;AAAA,UACT,iBAAiB;AAAA,UACjB,kBAAkB;AAAA,QACnB,CAAC;AAAA,QACD,uBAAuB;AAAA,UACtB;AAAA,UACA;AAAA,UACA;AAAA,UACA,GAAG;AAAA,QACJ,EACE,KAAK,EACL,KAAK,IAAI;AAAA,MACZ;AAAA,MACA,SAAS;AAAA,QACR;AAAA,UACC,UAAU,CAAC,oBAAoB;AAAA,UAC/B,OAAO,aAAa;AAAA,QACrB;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD,CAAC;","names":[]}
@@ -2,6 +2,7 @@ import * as create from 'create';
2
2
 
3
3
  declare const blockNvmrc: create.BlockWithoutAddons<{
4
4
  description: string;
5
+ access: "public" | "restricted";
5
6
  directory: string;
6
7
  email: {
7
8
  github: string;
@@ -10,7 +11,6 @@ declare const blockNvmrc: create.BlockWithoutAddons<{
10
11
  title: string;
11
12
  owner: string;
12
13
  repository: string;
13
- access?: "public" | "restricted" | undefined;
14
14
  author?: string | undefined;
15
15
  bin?: string | undefined;
16
16
  contributors?: {
@@ -43,6 +43,7 @@ declare const blockNvmrc: create.BlockWithoutAddons<{
43
43
  devDependencies?: Record<string, string> | undefined;
44
44
  scripts?: Record<string, string> | undefined;
45
45
  } | undefined;
46
+ usage?: string | undefined;
46
47
  version?: string | undefined;
47
48
  }>;
48
49
 
@@ -2,6 +2,7 @@ import * as create from 'create';
2
2
 
3
3
  declare const blockPRCompliance: create.BlockWithoutAddons<{
4
4
  description: string;
5
+ access: "public" | "restricted";
5
6
  directory: string;
6
7
  email: {
7
8
  github: string;
@@ -10,7 +11,6 @@ declare const blockPRCompliance: create.BlockWithoutAddons<{
10
11
  title: string;
11
12
  owner: string;
12
13
  repository: string;
13
- access?: "public" | "restricted" | undefined;
14
14
  author?: string | undefined;
15
15
  bin?: string | undefined;
16
16
  contributors?: {
@@ -43,6 +43,7 @@ declare const blockPRCompliance: create.BlockWithoutAddons<{
43
43
  devDependencies?: Record<string, string> | undefined;
44
44
  scripts?: Record<string, string> | undefined;
45
45
  } | undefined;
46
+ usage?: string | undefined;
46
47
  version?: string | undefined;
47
48
  }>;
48
49
 
@@ -11,6 +11,7 @@ declare const blockPackageJson: create.BlockWithAddons<{
11
11
  } & Record<string, unknown>;
12
12
  }, {
13
13
  description: string;
14
+ access: "public" | "restricted";
14
15
  directory: string;
15
16
  email: {
16
17
  github: string;
@@ -19,7 +20,6 @@ declare const blockPackageJson: create.BlockWithAddons<{
19
20
  title: string;
20
21
  owner: string;
21
22
  repository: string;
22
- access?: "public" | "restricted" | undefined;
23
23
  author?: string | undefined;
24
24
  bin?: string | undefined;
25
25
  contributors?: {
@@ -52,6 +52,7 @@ declare const blockPackageJson: create.BlockWithAddons<{
52
52
  devDependencies?: Record<string, string> | undefined;
53
53
  scripts?: Record<string, string> | undefined;
54
54
  } | undefined;
55
+ usage?: string | undefined;
55
56
  version?: string | undefined;
56
57
  }>;
57
58
 
@@ -1,3 +1,4 @@
1
+ import * as htmlToText from "html-to-text";
1
2
  import removeUndefinedObjects from "remove-undefined-objects";
2
3
  import sortPackageJson from "sort-package-json";
3
4
  import { z } from "zod";
@@ -31,7 +32,7 @@ const blockPackageJson = base.createBlock({
31
32
  ]
32
33
  };
33
34
  },
34
- produce({ addons, options }) {
35
+ produce({ addons, offline, options }) {
35
36
  const dependencies = {
36
37
  ...options.packageData?.dependencies,
37
38
  ...addons.properties.dependencies
@@ -40,6 +41,7 @@ const blockPackageJson = base.createBlock({
40
41
  ...options.packageData?.devDependencies,
41
42
  ...addons.properties.devDependencies
42
43
  };
44
+ const description = htmlToText.convert(options.description);
43
45
  return {
44
46
  files: {
45
47
  "package.json": sortPackageJson(
@@ -49,7 +51,7 @@ const blockPackageJson = base.createBlock({
49
51
  author: { email: options.email.npm, name: options.author },
50
52
  bin: options.bin,
51
53
  dependencies: Object.keys(dependencies).length ? dependencies : void 0,
52
- description: options.description,
54
+ description,
53
55
  devDependencies: Object.keys(devDependencies).length ? devDependencies : void 0,
54
56
  ...options.node && {
55
57
  engines: {
@@ -70,7 +72,7 @@ const blockPackageJson = base.createBlock({
70
72
  name: options.repository,
71
73
  repository: {
72
74
  type: "git",
73
- url: `https://github.com/${options.owner}/${options.repository}`
75
+ url: `git+https://github.com/${options.owner}/${options.repository}.git`
74
76
  },
75
77
  scripts: {
76
78
  ...options.packageData?.scripts,
@@ -84,7 +86,10 @@ const blockPackageJson = base.createBlock({
84
86
  },
85
87
  scripts: [
86
88
  {
87
- commands: ["pnpm install", ...addons.cleanupCommands],
89
+ commands: [
90
+ offline ? "pnpm install" : "pnpm install --offline",
91
+ ...addons.cleanupCommands
92
+ ],
88
93
  phase: CommandPhase.Install
89
94
  }
90
95
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/next/blocks/blockPackageJson.ts"],"sourcesContent":["import removeUndefinedObjects from \"remove-undefined-objects\";\nimport sortPackageJson from \"sort-package-json\";\nimport { z } from \"zod\";\n\nimport { base } from \"../base.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockPackageJson = base.createBlock({\n\tabout: {\n\t\tname: \"Package JSON\",\n\t},\n\taddons: {\n\t\tcleanupCommands: z.array(z.string()).default([]),\n\t\t// TODO: Find a zod package for this?\n\t\tproperties: z\n\t\t\t.intersection(\n\t\t\t\tz.object({\n\t\t\t\t\tdependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\t\tdevDependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\t\tfiles: z.array(z.string()).optional(),\n\t\t\t\t\tpeerDependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\t\tscripts: z.record(z.string(), z.string()).optional(),\n\t\t\t\t}),\n\t\t\t\tz.record(z.string(), z.unknown()),\n\t\t\t)\n\t\t\t.default({}),\n\t},\n\tmigrate() {\n\t\treturn {\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\"rm package-lock.json yarn.lock\"],\n\t\t\t\t\tphase: CommandPhase.Migrations,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\tproduce({ addons, options }) {\n\t\tconst dependencies = {\n\t\t\t...options.packageData?.dependencies,\n\t\t\t...addons.properties.dependencies,\n\t\t};\n\t\tconst devDependencies = {\n\t\t\t...options.packageData?.devDependencies,\n\t\t\t...addons.properties.devDependencies,\n\t\t};\n\n\t\treturn {\n\t\t\tfiles: {\n\t\t\t\t\"package.json\": sortPackageJson(\n\t\t\t\t\tJSON.stringify(\n\t\t\t\t\t\tremoveUndefinedObjects({\n\t\t\t\t\t\t\t...addons.properties,\n\t\t\t\t\t\t\tauthor: { email: options.email.npm, name: options.author },\n\t\t\t\t\t\t\tbin: options.bin,\n\t\t\t\t\t\t\tdependencies: Object.keys(dependencies).length\n\t\t\t\t\t\t\t\t? dependencies\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tdescription: options.description,\n\t\t\t\t\t\t\tdevDependencies: Object.keys(devDependencies).length\n\t\t\t\t\t\t\t\t? devDependencies\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t...(options.node && {\n\t\t\t\t\t\t\t\tengines: {\n\t\t\t\t\t\t\t\t\tnode: `>=${options.node.minimum}`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tfiles: [\n\t\t\t\t\t\t\t\toptions.bin?.replace(/^\\.\\//, \"\"),\n\t\t\t\t\t\t\t\t...(addons.properties.files ?? []),\n\t\t\t\t\t\t\t\t\"package.json\",\n\t\t\t\t\t\t\t\t\"README.md\",\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t.sort(),\n\t\t\t\t\t\t\tkeywords: options.keywords?.flatMap((keyword) =>\n\t\t\t\t\t\t\t\tkeyword.split(/ /),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tlicense: \"MIT\",\n\t\t\t\t\t\t\tmain: \"./lib/index.js\",\n\t\t\t\t\t\t\tname: options.repository,\n\t\t\t\t\t\t\trepository: {\n\t\t\t\t\t\t\t\ttype: \"git\",\n\t\t\t\t\t\t\t\turl: `https://github.com/${options.owner}/${options.repository}`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscripts: {\n\t\t\t\t\t\t\t\t...options.packageData?.scripts,\n\t\t\t\t\t\t\t\t...addons.properties.scripts,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttype: \"module\",\n\t\t\t\t\t\t\tversion: options.version ?? \"0.0.0\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t},\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\"pnpm install\", ...addons.cleanupCommands],\n\t\t\t\t\tphase: CommandPhase.Install,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n});\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/next/blocks/blockPackageJson.ts"],"sourcesContent":["import * as htmlToText from \"html-to-text\";\nimport removeUndefinedObjects from \"remove-undefined-objects\";\nimport sortPackageJson from \"sort-package-json\";\nimport { z } from \"zod\";\n\nimport { base } from \"../base.js\";\nimport { CommandPhase } from \"./phases.js\";\n\nexport const blockPackageJson = base.createBlock({\n\tabout: {\n\t\tname: \"Package JSON\",\n\t},\n\taddons: {\n\t\tcleanupCommands: z.array(z.string()).default([]),\n\t\t// TODO: Find a zod package for this?\n\t\tproperties: z\n\t\t\t.intersection(\n\t\t\t\tz.object({\n\t\t\t\t\tdependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\t\tdevDependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\t\tfiles: z.array(z.string()).optional(),\n\t\t\t\t\tpeerDependencies: z.record(z.string(), z.string()).optional(),\n\t\t\t\t\tscripts: z.record(z.string(), z.string()).optional(),\n\t\t\t\t}),\n\t\t\t\tz.record(z.string(), z.unknown()),\n\t\t\t)\n\t\t\t.default({}),\n\t},\n\tmigrate() {\n\t\treturn {\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\"rm package-lock.json yarn.lock\"],\n\t\t\t\t\tphase: CommandPhase.Migrations,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\tproduce({ addons, offline, options }) {\n\t\tconst dependencies = {\n\t\t\t...options.packageData?.dependencies,\n\t\t\t...addons.properties.dependencies,\n\t\t};\n\t\tconst devDependencies = {\n\t\t\t...options.packageData?.devDependencies,\n\t\t\t...addons.properties.devDependencies,\n\t\t};\n\t\tconst description = htmlToText.convert(options.description);\n\n\t\treturn {\n\t\t\tfiles: {\n\t\t\t\t\"package.json\": sortPackageJson(\n\t\t\t\t\tJSON.stringify(\n\t\t\t\t\t\tremoveUndefinedObjects({\n\t\t\t\t\t\t\t...addons.properties,\n\t\t\t\t\t\t\tauthor: { email: options.email.npm, name: options.author },\n\t\t\t\t\t\t\tbin: options.bin,\n\t\t\t\t\t\t\tdependencies: Object.keys(dependencies).length\n\t\t\t\t\t\t\t\t? dependencies\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\tdescription,\n\t\t\t\t\t\t\tdevDependencies: Object.keys(devDependencies).length\n\t\t\t\t\t\t\t\t? devDependencies\n\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t...(options.node && {\n\t\t\t\t\t\t\t\tengines: {\n\t\t\t\t\t\t\t\t\tnode: `>=${options.node.minimum}`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tfiles: [\n\t\t\t\t\t\t\t\toptions.bin?.replace(/^\\.\\//, \"\"),\n\t\t\t\t\t\t\t\t...(addons.properties.files ?? []),\n\t\t\t\t\t\t\t\t\"package.json\",\n\t\t\t\t\t\t\t\t\"README.md\",\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t.sort(),\n\t\t\t\t\t\t\tkeywords: options.keywords?.flatMap((keyword) =>\n\t\t\t\t\t\t\t\tkeyword.split(/ /),\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tlicense: \"MIT\",\n\t\t\t\t\t\t\tmain: \"./lib/index.js\",\n\t\t\t\t\t\t\tname: options.repository,\n\t\t\t\t\t\t\trepository: {\n\t\t\t\t\t\t\t\ttype: \"git\",\n\t\t\t\t\t\t\t\turl: `git+https://github.com/${options.owner}/${options.repository}.git`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tscripts: {\n\t\t\t\t\t\t\t\t...options.packageData?.scripts,\n\t\t\t\t\t\t\t\t...addons.properties.scripts,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttype: \"module\",\n\t\t\t\t\t\t\tversion: options.version ?? \"0.0.0\",\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t},\n\t\t\tscripts: [\n\t\t\t\t{\n\t\t\t\t\tcommands: [\n\t\t\t\t\t\toffline ? \"pnpm install\" : \"pnpm install --offline\",\n\t\t\t\t\t\t...addons.cleanupCommands,\n\t\t\t\t\t],\n\t\t\t\t\tphase: CommandPhase.Install,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n});\n"],"mappings":"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","names":[]}