create-typescript-app 2.65.2 → 2.66.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 (163) hide show
  1. package/dist/base.d.mts +3 -4
  2. package/dist/blocks/actions/resolveUses.d.mts +2 -3
  3. package/dist/blocks/actions/steps.d.mts +5 -6
  4. package/dist/blocks/bin/getPrimaryBin.d.mts +2 -3
  5. package/dist/blocks/blockAllContributors.d.mts +2 -3
  6. package/dist/blocks/blockAllContributors.mjs +3 -6
  7. package/dist/blocks/blockAreTheTypesWrong.d.mts +2 -3
  8. package/dist/blocks/blockBin.d.mts +2 -3
  9. package/dist/blocks/blockCSpell.d.mts +2 -3
  10. package/dist/blocks/blockCTATransitions.d.mts +2 -3
  11. package/dist/blocks/blockCTATransitions.mjs +5 -8
  12. package/dist/blocks/blockCodecov.d.mts +2 -3
  13. package/dist/blocks/blockContributingDocs.d.mts +2 -3
  14. package/dist/blocks/blockContributorCovenant.d.mts +2 -3
  15. package/dist/blocks/blockDevelopmentDocs.d.mts +2 -3
  16. package/dist/blocks/blockESLint.d.mts +2 -3
  17. package/dist/blocks/blockESLint.mjs +3 -2
  18. package/dist/blocks/blockESLintComments.d.mts +2 -3
  19. package/dist/blocks/blockESLintJSDoc.d.mts +2 -3
  20. package/dist/blocks/blockESLintJSONC.d.mts +2 -3
  21. package/dist/blocks/blockESLintMarkdown.d.mts +2 -3
  22. package/dist/blocks/blockESLintMarkdownLinks.d.mts +2 -3
  23. package/dist/blocks/blockESLintMoreStyling.d.mts +3 -4
  24. package/dist/blocks/blockESLintNode.d.mts +2 -3
  25. package/dist/blocks/blockESLintPackageJson.d.mts +2 -3
  26. package/dist/blocks/blockESLintPerfectionist.d.mts +2 -3
  27. package/dist/blocks/blockESLintPlugin.d.mts +2 -3
  28. package/dist/blocks/blockESLintRegexp.d.mts +2 -3
  29. package/dist/blocks/blockESLintYML.d.mts +2 -3
  30. package/dist/blocks/blockExampleFiles.d.mts +2 -3
  31. package/dist/blocks/blockExports.d.mts +2 -3
  32. package/dist/blocks/blockFunding.d.mts +2 -3
  33. package/dist/blocks/blockFunding.mjs +2 -1
  34. package/dist/blocks/blockGitHubActionsCI.d.mts +2 -3
  35. package/dist/blocks/blockGitHubActionsCI.mjs +7 -8
  36. package/dist/blocks/blockGitHubApps.d.mts +2 -3
  37. package/dist/blocks/blockGitHubIssueTemplates.d.mts +2 -3
  38. package/dist/blocks/blockGitHubIssueTemplates.mjs +9 -17
  39. package/dist/blocks/blockGitHubPRTemplate.d.mts +2 -3
  40. package/dist/blocks/blockGitignore.d.mts +2 -3
  41. package/dist/blocks/blockKnip.d.mts +2 -3
  42. package/dist/blocks/blockKnip.mjs +3 -2
  43. package/dist/blocks/blockMITLicense.d.mts +2 -3
  44. package/dist/blocks/blockNcc.d.mts +2 -3
  45. package/dist/blocks/blockNvmrc.d.mts +2 -3
  46. package/dist/blocks/blockOctoGuide.d.mts +2 -3
  47. package/dist/blocks/blockOctoGuide.mjs +4 -7
  48. package/dist/blocks/blockOctoGuideStrict.d.mts +2 -3
  49. package/dist/blocks/blockPackageJson.d.mts +2 -3
  50. package/dist/blocks/blockPnpmDedupe.d.mts +2 -3
  51. package/dist/blocks/blockPrettier.d.mts +2 -3
  52. package/dist/blocks/blockPrettier.mjs +3 -2
  53. package/dist/blocks/blockPrettierPluginCurly.d.mts +2 -3
  54. package/dist/blocks/blockPrettierPluginPackageJson.d.mts +2 -3
  55. package/dist/blocks/blockPrettierPluginPaddingLines.d.mts +2 -3
  56. package/dist/blocks/blockPrettierPluginSentencesPerLine.d.mts +2 -3
  57. package/dist/blocks/blockPrettierPluginSh.d.mts +2 -3
  58. package/dist/blocks/blockREADME.d.mts +2 -3
  59. package/dist/blocks/blockReleaseIt.d.mts +2 -3
  60. package/dist/blocks/blockReleaseIt.mjs +12 -10
  61. package/dist/blocks/blockRemoveDependencies.d.mts +2 -3
  62. package/dist/blocks/blockRemoveFiles.d.mts +2 -3
  63. package/dist/blocks/blockRemoveWorkflows.d.mts +2 -3
  64. package/dist/blocks/blockRenovate.d.mts +2 -3
  65. package/dist/blocks/blockRepositoryBranchRuleset.d.mts +2 -3
  66. package/dist/blocks/blockRepositoryLabels.d.mts +2 -3
  67. package/dist/blocks/blockRepositorySecrets.d.mts +2 -3
  68. package/dist/blocks/blockRepositorySettings.d.mts +2 -3
  69. package/dist/blocks/blockSecurityDocs.d.mts +2 -3
  70. package/dist/blocks/blockSideEffects.d.mts +2 -3
  71. package/dist/blocks/blockTSDown.d.mts +2 -3
  72. package/dist/blocks/blockTSDown.mjs +3 -2
  73. package/dist/blocks/blockTemplatedWith.d.mts +2 -3
  74. package/dist/blocks/blockTypeScript.d.mts +2 -3
  75. package/dist/blocks/blockVSCode.d.mts +2 -3
  76. package/dist/blocks/blockVitest.d.mts +2 -3
  77. package/dist/blocks/blockWebExt.d.mts +2 -3
  78. package/dist/blocks/codecov/findCodecovStep.d.mts +3 -4
  79. package/dist/blocks/eslint/blockESLintIntake.d.mts +2 -3
  80. package/dist/blocks/eslint/blockESLintPluginIntake.d.mts +2 -3
  81. package/dist/blocks/eslint/getScriptFileExtension.d.mts +3 -4
  82. package/dist/blocks/eslint/mergeAllExtensions.d.mts +2 -3
  83. package/dist/blocks/eslint/schemas.d.mts +15 -16
  84. package/dist/blocks/files/createJobName.d.mts +2 -3
  85. package/dist/blocks/files/createMultiWorkflowFile.d.mts +5 -6
  86. package/dist/blocks/files/createSoloWorkflowFile.d.mts +2 -3
  87. package/dist/blocks/files/formatIgnoreFile.d.mts +2 -3
  88. package/dist/blocks/files/formatWorkflowYaml.d.mts +2 -3
  89. package/dist/blocks/files/formatYaml.d.mts +2 -3
  90. package/dist/blocks/files/removeUsesQuotes.d.mts +2 -3
  91. package/dist/blocks/files/withPreviously.d.mts +4 -0
  92. package/dist/blocks/files/withPreviously.mjs +6 -0
  93. package/dist/blocks/getInstallationSuggestions.d.mts +2 -3
  94. package/dist/blocks/index.d.mts +2 -2
  95. package/dist/blocks/intake/intakeFile.d.mts +2 -3
  96. package/dist/blocks/intake/intakeFileAsJson.d.mts +2 -3
  97. package/dist/blocks/intake/intakeFileAsYaml.d.mts +3 -4
  98. package/dist/blocks/intake/intakeFileDefineConfig.d.mts +2 -3
  99. package/dist/blocks/intake/intakeFileExportObject.d.mts +2 -3
  100. package/dist/blocks/options.fakes.d.mts +2 -3
  101. package/dist/blocks/outcomeLabels.d.mts +2 -3
  102. package/dist/blocks/phases.d.mts +2 -3
  103. package/dist/constants.d.mts +2 -3
  104. package/dist/data/contributions.d.mts +2 -3
  105. package/dist/data/packageData.d.mts +4 -5
  106. package/dist/index.d.mts +2 -2
  107. package/dist/inputs/inputFromDirectory.d.mts +2 -3
  108. package/dist/inputs/inputFromOctokit.d.mts +2 -3
  109. package/dist/options/readAccess.d.mts +2 -3
  110. package/dist/options/readAllContributors.d.mts +2 -3
  111. package/dist/options/readAuthor.d.mts +2 -3
  112. package/dist/options/readBin.d.mts +2 -3
  113. package/dist/options/readBundle.d.mts +2 -3
  114. package/dist/options/readCodecovToken.d.mts +2 -3
  115. package/dist/options/readDescription.d.mts +2 -3
  116. package/dist/options/readDescriptionFromReadme.d.mts +2 -3
  117. package/dist/options/readDevelopmentDocumentation.d.mts +2 -3
  118. package/dist/options/readDocumentation.d.mts +2 -3
  119. package/dist/options/readEmailFromCodeOfConduct.d.mts +2 -3
  120. package/dist/options/readEmailFromGit.d.mts +2 -3
  121. package/dist/options/readEmailFromNpm.d.mts +2 -3
  122. package/dist/options/readEmails.d.mts +2 -3
  123. package/dist/options/readEmoji.d.mts +2 -3
  124. package/dist/options/readExistingLabels.d.mts +2 -3
  125. package/dist/options/readFileAsJson.d.mts +2 -3
  126. package/dist/options/readFileSafe.d.mts +2 -3
  127. package/dist/options/readFunding.d.mts +2 -3
  128. package/dist/options/readGitDefaults.d.mts +2 -3
  129. package/dist/options/readGuide.d.mts +2 -3
  130. package/dist/options/readKeywords.d.mts +2 -3
  131. package/dist/options/readLogo.d.mts +2 -3
  132. package/dist/options/readLogoSizing.d.mts +3 -4
  133. package/dist/options/readNode.d.mts +2 -3
  134. package/dist/options/readNpmDefaults.d.mts +2 -3
  135. package/dist/options/readOwner.d.mts +2 -3
  136. package/dist/options/readPackageAuthor.d.mts +3 -4
  137. package/dist/options/readPackageData.d.mts +2 -3
  138. package/dist/options/readPnpm.d.mts +2 -3
  139. package/dist/options/readReadmeAdditional.d.mts +2 -3
  140. package/dist/options/readReadmeExplainer.d.mts +2 -3
  141. package/dist/options/readReadmeFootnotes.d.mts +3 -4
  142. package/dist/options/readReadmeUsage.d.mts +2 -3
  143. package/dist/options/readRepository.d.mts +2 -3
  144. package/dist/options/readRulesetId.d.mts +2 -3
  145. package/dist/options/readTitle.d.mts +2 -3
  146. package/dist/options/readWords.d.mts +2 -3
  147. package/dist/options/readWorkflowsVersions.d.mts +2 -3
  148. package/dist/presets/common.d.mts +2 -3
  149. package/dist/presets/everything.d.mts +2 -3
  150. package/dist/presets/index.d.mts +2 -2
  151. package/dist/presets/minimal.d.mts +2 -3
  152. package/dist/schemas.d.mts +15 -16
  153. package/dist/template.d.mts +2 -3
  154. package/dist/types.d.mts +4 -5
  155. package/dist/utils/htmlToTextSafe.d.mts +2 -3
  156. package/dist/utils/parseDefineConfig.d.mts +2 -3
  157. package/dist/utils/resolveBin.d.mts +2 -3
  158. package/dist/utils/resolveEmails.d.mts +2 -3
  159. package/dist/utils/swallowError.d.mts +2 -3
  160. package/dist/utils/swallowErrorAsync.d.mts +2 -3
  161. package/dist/utils/trimPrecedingSlash.d.mts +2 -3
  162. package/dist/utils/tryCatch.d.mts +2 -3
  163. package/package.json +26 -26
package/dist/base.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { BaseOptionsFor } from "bingo-stratum";
2
2
  import { z } from "zod";
3
3
  //#region src/base.d.ts
4
- declare const base: import("bingo-stratum").Base<{
4
+ export declare const base: import("bingo-stratum").Base<{
5
5
  access: z.ZodUnion<readonly [z.ZodLiteral<"public">, z.ZodLiteral<"restricted">]>;
6
6
  author: z.ZodOptional<z.ZodString>;
7
7
  bin: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>]>>;
@@ -72,8 +72,7 @@ declare const base: import("bingo-stratum").Base<{
72
72
  pinned: z.ZodOptional<z.ZodBoolean>;
73
73
  }, z.core.$strip>>>>;
74
74
  }>;
75
- type BaseOptions = BaseOptionsFor<typeof base> & {
75
+ export type BaseOptions = BaseOptionsFor<typeof base> & {
76
76
  preset?: string;
77
77
  };
78
- //#endregion
79
- export { BaseOptions, base };
78
+ //#endregion
@@ -1,5 +1,4 @@
1
1
  import { WorkflowsVersions } from "../../schemas.mjs";
2
2
  //#region src/blocks/actions/resolveUses.d.ts
3
- declare function resolveUses(action: string, version: string, workflowsVersions?: WorkflowsVersions): string;
4
- //#endregion
5
- export { resolveUses };
3
+ export declare function resolveUses(action: string, version: string, workflowsVersions?: WorkflowsVersions): string;
4
+ //#endregion
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { IntakeDirectory } from "bingo-fs";
3
3
  //#region src/blocks/actions/steps.d.ts
4
- declare const zActionStep: z.ZodIntersection<z.ZodObject<{
4
+ export declare const zActionStep: z.ZodIntersection<z.ZodObject<{
5
5
  env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
6
6
  if: z.ZodOptional<z.ZodString>;
7
7
  with: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -10,12 +10,11 @@ declare const zActionStep: z.ZodIntersection<z.ZodObject<{
10
10
  }, z.core.$strip>, z.ZodObject<{
11
11
  uses: z.ZodString;
12
12
  }, z.core.$strip>]>>;
13
- interface JobOrRunStep {
13
+ export interface JobOrRunStep {
14
14
  env?: Record<string, string>;
15
15
  uses?: unknown;
16
16
  with?: Record<string, string>;
17
17
  }
18
- declare function getYamlSteps(yaml: unknown, ymlPath: string[]): JobOrRunStep[] | undefined;
19
- declare function intakeFileYamlSteps(files: IntakeDirectory, filePath: string[], ymlPath: string[]): JobOrRunStep[] | undefined;
20
- //#endregion
21
- export { JobOrRunStep, getYamlSteps, intakeFileYamlSteps, zActionStep };
18
+ export declare function getYamlSteps(yaml: unknown, ymlPath: string[]): JobOrRunStep[] | undefined;
19
+ export declare function intakeFileYamlSteps(files: IntakeDirectory, filePath: string[], ymlPath: string[]): JobOrRunStep[] | undefined;
20
+ //#endregion
@@ -1,4 +1,3 @@
1
1
  //#region src/blocks/bin/getPrimaryBin.d.ts
2
- declare function getPrimaryBin(bin: Record<string, string | undefined> | string | undefined, repository: string): string | undefined;
3
- //#endregion
4
- export { getPrimaryBin };
2
+ export declare function getPrimaryBin(bin: Record<string, string | undefined> | string | undefined, repository: string): string | undefined;
3
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockAllContributors.d.ts
2
- declare const blockAllContributors: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockAllContributors: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockAllContributors: import("bingo-stratum").BlockWithoutAddons<{
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockAllContributors };
73
+ //#endregion
@@ -2,8 +2,8 @@ import { startingOwnerContributions } from "../data/contributions.mjs";
2
2
  import { base } from "../base.mjs";
3
3
  import { resolveUses } from "./actions/resolveUses.mjs";
4
4
  import { CommandPhase } from "./phases.mjs";
5
- import { blockRemoveFiles } from "./blockRemoveFiles.mjs";
6
5
  import { createSoloWorkflowFile } from "./files/createSoloWorkflowFile.mjs";
6
+ import { withPreviously } from "./files/withPreviously.mjs";
7
7
  import { blockREADME } from "./blockREADME.mjs";
8
8
  import { blockPrettier } from "./blockPrettier.mjs";
9
9
  import { blockRepositorySecrets } from "./blockRepositorySecrets.mjs";
@@ -50,7 +50,7 @@ const blockAllContributors = base.createBlock({
50
50
  projectOwner: options.owner,
51
51
  repoType: "github"
52
52
  }, null, 2),
53
- ".github": { workflows: { "contributors.yaml": createSoloWorkflowFile({
53
+ ".github": { workflows: { "contributors.yaml": withPreviously(createSoloWorkflowFile({
54
54
  name: "Contributors",
55
55
  on: { push: { branches: ["main"] } },
56
56
  steps: [
@@ -64,16 +64,13 @@ const blockAllContributors = base.createBlock({
64
64
  uses: resolveUses("JoshuaKGoldberg/all-contributors-auto-action", "v0.5.0", options.workflowsVersions)
65
65
  }
66
66
  ]
67
- }) } }
67
+ }), ["contributors.yml"]) } }
68
68
  },
69
69
  scripts: [{
70
70
  commands: [`pnpx all-contributors-cli@6.23.1 add ${options.owner} ${ownerContributions.join(",")}`],
71
71
  phase: CommandPhase.Process
72
72
  }]
73
73
  };
74
- },
75
- transition() {
76
- return { addons: [blockRemoveFiles({ files: [".github/workflows/contributors.yml"] })] };
77
74
  }
78
75
  });
79
76
  function printAllContributorsTable(contributors) {
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockAreTheTypesWrong.d.ts
2
- declare const blockAreTheTypesWrong: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockAreTheTypesWrong: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockAreTheTypesWrong: import("bingo-stratum").BlockWithoutAddons<
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockAreTheTypesWrong };
73
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockBin.d.ts
2
- declare const blockBin: import("bingo-stratum").BlockWithAddons<{
2
+ export declare const blockBin: import("bingo-stratum").BlockWithAddons<{
3
3
  contents?: string | undefined;
4
4
  }, {
5
5
  access: "public" | "restricted";
@@ -72,5 +72,4 @@ declare const blockBin: import("bingo-stratum").BlockWithAddons<{
72
72
  pinned?: boolean | undefined;
73
73
  }>> | undefined;
74
74
  }>;
75
- //#endregion
76
- export { blockBin };
75
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockCSpell.d.ts
2
- declare const blockCSpell: import("bingo-stratum").BlockWithAddons<{
2
+ export declare const blockCSpell: import("bingo-stratum").BlockWithAddons<{
3
3
  ignorePaths: string[];
4
4
  words: string[];
5
5
  }, {
@@ -73,5 +73,4 @@ declare const blockCSpell: import("bingo-stratum").BlockWithAddons<{
73
73
  pinned?: boolean | undefined;
74
74
  }>> | undefined;
75
75
  }>;
76
- //#endregion
77
- export { blockCSpell };
76
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockCTATransitions.d.ts
2
- declare const blockCTATransitions: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockCTATransitions: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockCTATransitions: import("bingo-stratum").BlockWithoutAddons<{
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockCTATransitions };
73
+ //#endregion
@@ -1,10 +1,10 @@
1
1
  import { packageData } from "../data/packageData.mjs";
2
2
  import { base } from "../base.mjs";
3
3
  import { resolveUses } from "./actions/resolveUses.mjs";
4
- import { blockRemoveFiles } from "./blockRemoveFiles.mjs";
5
4
  import { blockRepositoryBranchRuleset } from "./blockRepositoryBranchRuleset.mjs";
6
5
  import { formatYaml } from "./files/formatYaml.mjs";
7
6
  import { createSoloWorkflowFile } from "./files/createSoloWorkflowFile.mjs";
7
+ import { withPreviously } from "./files/withPreviously.mjs";
8
8
  import { blockPackageJson } from "./blockPackageJson.mjs";
9
9
  //#region src/blocks/blockCTATransitions.ts
10
10
  const blockCTATransitions = base.createBlock({
@@ -13,7 +13,7 @@ const blockCTATransitions = base.createBlock({
13
13
  return {
14
14
  addons: [blockPackageJson({ properties: { devDependencies: { "create-typescript-app": packageData.version } } }), blockRepositoryBranchRuleset({ requiredStatusChecks: ["Transition"] })],
15
15
  files: { ".github": {
16
- actions: { transition: { "action.yaml": formatYaml({
16
+ actions: { transition: { "action.yaml": withPreviously(formatYaml({
17
17
  description: "Runs create-typescript-app in transition mode",
18
18
  inputs: { token: {
19
19
  description: "GitHub personal access token with repo, workflow, and read:org permissions.",
@@ -75,8 +75,8 @@ const blockCTATransitions = base.createBlock({
75
75
  ],
76
76
  using: "composite"
77
77
  }
78
- }) } },
79
- workflows: { "cta.yaml": createSoloWorkflowFile({
78
+ }), ["action.yml"]) } },
79
+ workflows: { "cta.yaml": withPreviously(createSoloWorkflowFile({
80
80
  jobName: "Transition",
81
81
  name: "CTA",
82
82
  on: { pull_request: { branches: ["main"] } },
@@ -103,12 +103,9 @@ const blockCTATransitions = base.createBlock({
103
103
  run: "echo 'Skipping transition mode because the PR does not appear to be an automated or owner-created update to create-typescript-app.'"
104
104
  }
105
105
  ]
106
- }) }
106
+ }), ["cta.yml"]) }
107
107
  } }
108
108
  };
109
- },
110
- transition() {
111
- return { addons: [blockRemoveFiles({ files: [".github/actions/transition/action.yml", ".github/workflows/cta.yml"] })] };
112
109
  }
113
110
  });
114
111
  //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockCodecov.d.ts
2
- declare const blockCodecov: import("bingo-stratum").BlockWithAddons<{
2
+ export declare const blockCodecov: import("bingo-stratum").BlockWithAddons<{
3
3
  env?: Record<string, string> | undefined;
4
4
  }, {
5
5
  access: "public" | "restricted";
@@ -72,5 +72,4 @@ declare const blockCodecov: import("bingo-stratum").BlockWithAddons<{
72
72
  pinned?: boolean | undefined;
73
73
  }>> | undefined;
74
74
  }>;
75
- //#endregion
76
- export { blockCodecov };
75
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockContributingDocs.d.ts
2
- declare const blockContributingDocs: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockContributingDocs: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockContributingDocs: import("bingo-stratum").BlockWithoutAddons<
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockContributingDocs };
73
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockContributorCovenant.d.ts
2
- declare const blockContributorCovenant: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockContributorCovenant: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockContributorCovenant: import("bingo-stratum").BlockWithoutAddo
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockContributorCovenant };
73
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockDevelopmentDocs.d.ts
2
- declare const blockDevelopmentDocs: import("bingo-stratum").BlockWithAddons<{
2
+ export declare const blockDevelopmentDocs: import("bingo-stratum").BlockWithAddons<{
3
3
  hints: string[];
4
4
  sections: Record<string, {
5
5
  contents?: string | {
@@ -84,5 +84,4 @@ declare const blockDevelopmentDocs: import("bingo-stratum").BlockWithAddons<{
84
84
  pinned?: boolean | undefined;
85
85
  }>> | undefined;
86
86
  }>;
87
- //#endregion
88
- export { blockDevelopmentDocs };
87
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockESLint.d.ts
2
- declare const blockESLint: import("bingo-stratum").BlockWithAddons<{
2
+ export declare const blockESLint: import("bingo-stratum").BlockWithAddons<{
3
3
  explanations: string[];
4
4
  extensions: {
5
5
  files: string[];
@@ -94,5 +94,4 @@ declare const blockESLint: import("bingo-stratum").BlockWithAddons<{
94
94
  pinned?: boolean | undefined;
95
95
  }>> | undefined;
96
96
  }>;
97
- //#endregion
98
- export { blockESLint };
97
+ //#endregion
@@ -3,6 +3,7 @@ import { getPackageDependencies } from "../data/packageData.mjs";
3
3
  import { base } from "../base.mjs";
4
4
  import { CommandPhase } from "./phases.mjs";
5
5
  import { blockRemoveFiles } from "./blockRemoveFiles.mjs";
6
+ import { withPreviously } from "./files/withPreviously.mjs";
6
7
  import { blockGitHubActionsCI } from "./blockGitHubActionsCI.mjs";
7
8
  import { blockPackageJson } from "./blockPackageJson.mjs";
8
9
  import { blockDevelopmentDocs } from "./blockDevelopmentDocs.mjs";
@@ -115,13 +116,13 @@ Each should be shown in VS Code, and can be run manually on the command-line:
115
116
  }
116
117
  })
117
118
  ],
118
- files: { [configFileName]: `${explanation}${importLines.join("\n")}
119
+ files: { [configFileName]: withPreviously(`${explanation}${importLines.join("\n")}
119
120
 
120
121
  export default defineConfig(
121
122
  globalIgnores( [${ignoreLines.join(", ")}], "Global Ignores" ),
122
123
  { linterOptions: { reportUnusedDisableDirectives: "error" } },
123
124
  ${extensionLines.join(",")}
124
- );` },
125
+ );`, ["eslint.config.js", "eslint.config.mjs"]) },
125
126
  scripts: [{
126
127
  commands: ["pnpm lint --fix"],
127
128
  phase: CommandPhase.Process
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockESLintComments.d.ts
2
- declare const blockESLintComments: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockESLintComments: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockESLintComments: import("bingo-stratum").BlockWithoutAddons<{
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockESLintComments };
73
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockESLintJSDoc.d.ts
2
- declare const blockESLintJSDoc: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockESLintJSDoc: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockESLintJSDoc: import("bingo-stratum").BlockWithoutAddons<{
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockESLintJSDoc };
73
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockESLintJSONC.d.ts
2
- declare const blockESLintJSONC: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockESLintJSONC: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockESLintJSONC: import("bingo-stratum").BlockWithoutAddons<{
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockESLintJSONC };
73
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockESLintMarkdown.d.ts
2
- declare const blockESLintMarkdown: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockESLintMarkdown: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockESLintMarkdown: import("bingo-stratum").BlockWithoutAddons<{
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockESLintMarkdown };
73
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockESLintMarkdownLinks.d.ts
2
- declare const blockESLintMarkdownLinks: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockESLintMarkdownLinks: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockESLintMarkdownLinks: import("bingo-stratum").BlockWithoutAddo
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockESLintMarkdownLinks };
73
+ //#endregion
@@ -1,6 +1,6 @@
1
1
  //#region src/blocks/blockESLintMoreStyling.d.ts
2
- declare const stylisticComment = "Stylistic concerns that don't interfere with Prettier";
3
- declare const blockESLintMoreStyling: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const stylisticComment = "Stylistic concerns that don't interfere with Prettier";
3
+ export declare const blockESLintMoreStyling: import("bingo-stratum").BlockWithoutAddons<{
4
4
  access: "public" | "restricted";
5
5
  description: string;
6
6
  directory: string;
@@ -71,5 +71,4 @@ declare const blockESLintMoreStyling: import("bingo-stratum").BlockWithoutAddons
71
71
  pinned?: boolean | undefined;
72
72
  }>> | undefined;
73
73
  }>;
74
- //#endregion
75
- export { blockESLintMoreStyling, stylisticComment };
74
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockESLintNode.d.ts
2
- declare const blockESLintNode: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockESLintNode: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockESLintNode: import("bingo-stratum").BlockWithoutAddons<{
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockESLintNode };
73
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockESLintPackageJson.d.ts
2
- declare const blockESLintPackageJson: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockESLintPackageJson: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockESLintPackageJson: import("bingo-stratum").BlockWithoutAddons
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockESLintPackageJson };
73
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockESLintPerfectionist.d.ts
2
- declare const blockESLintPerfectionist: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockESLintPerfectionist: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockESLintPerfectionist: import("bingo-stratum").BlockWithoutAddo
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockESLintPerfectionist };
73
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockESLintPlugin.d.ts
2
- declare const blockESLintPlugin: import("bingo-stratum").BlockWithAddons<{
2
+ export declare const blockESLintPlugin: import("bingo-stratum").BlockWithAddons<{
3
3
  configEmoji?: [string, string][] | undefined;
4
4
  }, {
5
5
  access: "public" | "restricted";
@@ -72,5 +72,4 @@ declare const blockESLintPlugin: import("bingo-stratum").BlockWithAddons<{
72
72
  pinned?: boolean | undefined;
73
73
  }>> | undefined;
74
74
  }>;
75
- //#endregion
76
- export { blockESLintPlugin };
75
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockESLintRegexp.d.ts
2
- declare const blockESLintRegexp: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockESLintRegexp: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockESLintRegexp: import("bingo-stratum").BlockWithoutAddons<{
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockESLintRegexp };
73
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockESLintYML.d.ts
2
- declare const blockESLintYML: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockESLintYML: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockESLintYML: import("bingo-stratum").BlockWithoutAddons<{
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockESLintYML };
73
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockExampleFiles.d.ts
2
- declare const blockExampleFiles: import("bingo-stratum").BlockWithAddons<{
2
+ export declare const blockExampleFiles: import("bingo-stratum").BlockWithAddons<{
3
3
  files: Record<string, string>;
4
4
  usage: string[];
5
5
  }, {
@@ -73,5 +73,4 @@ declare const blockExampleFiles: import("bingo-stratum").BlockWithAddons<{
73
73
  pinned?: boolean | undefined;
74
74
  }>> | undefined;
75
75
  }>;
76
- //#endregion
77
- export { blockExampleFiles };
76
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockExports.d.ts
2
- declare const blockExports: import("bingo-stratum").BlockWithAddons<{
2
+ export declare const blockExports: import("bingo-stratum").BlockWithAddons<{
3
3
  runArgs: string[];
4
4
  filePath?: string | undefined;
5
5
  }, {
@@ -73,5 +73,4 @@ declare const blockExports: import("bingo-stratum").BlockWithAddons<{
73
73
  pinned?: boolean | undefined;
74
74
  }>> | undefined;
75
75
  }>;
76
- //#endregion
77
- export { blockExports };
76
+ //#endregion
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockFunding.d.ts
2
- declare const blockFunding: import("bingo-stratum").BlockWithoutAddons<{
2
+ export declare const blockFunding: import("bingo-stratum").BlockWithoutAddons<{
3
3
  access: "public" | "restricted";
4
4
  description: string;
5
5
  directory: string;
@@ -70,5 +70,4 @@ declare const blockFunding: import("bingo-stratum").BlockWithoutAddons<{
70
70
  pinned?: boolean | undefined;
71
71
  }>> | undefined;
72
72
  }>;
73
- //#endregion
74
- export { blockFunding };
73
+ //#endregion
@@ -1,11 +1,12 @@
1
1
  import { base } from "../base.mjs";
2
2
  import { blockRemoveFiles } from "./blockRemoveFiles.mjs";
3
3
  import { formatYaml } from "./files/formatYaml.mjs";
4
+ import { withPreviously } from "./files/withPreviously.mjs";
4
5
  //#region src/blocks/blockFunding.ts
5
6
  const blockFunding = base.createBlock({
6
7
  about: { name: "Funding" },
7
8
  produce({ options }) {
8
- return { files: { ".github": { "FUNDING.yaml": options.funding && formatYaml({ github: options.funding }) } } };
9
+ return { files: { ".github": { "FUNDING.yaml": withPreviously(options.funding && formatYaml({ github: options.funding }), ["FUNDING.yml"]) } } };
9
10
  },
10
11
  transition() {
11
12
  return { addons: [blockRemoveFiles({ files: [".github/FUNDING.yml"] })] };
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockGitHubActionsCI.d.ts
2
- declare const blockGitHubActionsCI: import("bingo-stratum").BlockWithAddons<{
2
+ export declare const blockGitHubActionsCI: import("bingo-stratum").BlockWithAddons<{
3
3
  jobs?: {
4
4
  name: string;
5
5
  steps: ({
@@ -85,5 +85,4 @@ declare const blockGitHubActionsCI: import("bingo-stratum").BlockWithAddons<{
85
85
  pinned?: boolean | undefined;
86
86
  }>> | undefined;
87
87
  }>;
88
- //#endregion
89
- export { blockGitHubActionsCI };
88
+ //#endregion
@@ -6,6 +6,7 @@ import { blockRepositoryBranchRuleset } from "./blockRepositoryBranchRuleset.mjs
6
6
  import { formatYaml } from "./files/formatYaml.mjs";
7
7
  import { createMultiWorkflowFile } from "./files/createMultiWorkflowFile.mjs";
8
8
  import { createSoloWorkflowFile } from "./files/createSoloWorkflowFile.mjs";
9
+ import { withPreviously } from "./files/withPreviously.mjs";
9
10
  import { z } from "zod";
10
11
  //#region src/blocks/blockGitHubActionsCI.ts
11
12
  const blockGitHubActionsCI = base.createBlock({
@@ -32,7 +33,7 @@ const blockGitHubActionsCI = base.createBlock({
32
33
  return {
33
34
  addons: [blockRepositoryBranchRuleset({ requiredStatusChecks: jobsWithEnginesCheck?.map((job) => job.name) })],
34
35
  files: { ".github": {
35
- actions: { prepare: { "action.yaml": formatYaml({
36
+ actions: { prepare: { "action.yaml": withPreviously(formatYaml({
36
37
  description: "Prepares the repo for a typical CI job",
37
38
  name: "Setup",
38
39
  runs: {
@@ -52,14 +53,14 @@ const blockGitHubActionsCI = base.createBlock({
52
53
  ],
53
54
  using: "composite"
54
55
  }
55
- }) } },
56
+ }), ["action.yml"]) } },
56
57
  workflows: {
57
- "ci.yaml": jobsWithEnginesCheck && createMultiWorkflowFile({
58
+ "ci.yaml": withPreviously(jobsWithEnginesCheck && createMultiWorkflowFile({
58
59
  jobs: jobsWithEnginesCheck,
59
60
  name: "CI",
60
61
  workflowsVersions: options.workflowsVersions
61
- }),
62
- "pr-review-requested.yaml": createSoloWorkflowFile({
62
+ }), ["ci.yml"]),
63
+ "pr-review-requested.yaml": withPreviously(createSoloWorkflowFile({
63
64
  name: "PR Review Requested",
64
65
  on: { pull_request_target: { types: ["review_requested"] } },
65
66
  permissions: { "pull-requests": "write" },
@@ -70,7 +71,7 @@ const blockGitHubActionsCI = base.createBlock({
70
71
  if: "failure()",
71
72
  run: "echo \"Don't worry if the previous step failed.\"\necho \"See https://github.com/actions-ecosystem/action-remove-labels/issues/221.\"\n"
72
73
  }]
73
- })
74
+ }), ["pr-review-requested.yml"])
74
75
  }
75
76
  } }
76
77
  };
@@ -78,9 +79,7 @@ const blockGitHubActionsCI = base.createBlock({
78
79
  transition() {
79
80
  return { addons: [blockRemoveFiles({ files: [
80
81
  ".circleci",
81
- ".github/actions/prepare/action.yml",
82
82
  ".github/workflows/ci.yml",
83
- ".github/workflows/pr-review-requested.yml",
84
83
  "travis.{yaml,yml}"
85
84
  ] })] };
86
85
  }
@@ -1,5 +1,5 @@
1
1
  //#region src/blocks/blockGitHubApps.d.ts
2
- declare const blockGitHubApps: import("bingo-stratum").BlockWithAddons<{
2
+ export declare const blockGitHubApps: import("bingo-stratum").BlockWithAddons<{
3
3
  apps: {
4
4
  name: string;
5
5
  url: string;
@@ -75,5 +75,4 @@ declare const blockGitHubApps: import("bingo-stratum").BlockWithAddons<{
75
75
  pinned?: boolean | undefined;
76
76
  }>> | undefined;
77
77
  }>;
78
- //#endregion
79
- export { blockGitHubApps };
78
+ //#endregion