@stephansama/auto-readme 0.1.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Auto Readme 🪄
2
2
 
3
- [![Source code](https://img.shields.io/badge/Source-666666?style=flat&logo=github&label=Github&labelColor=211F1F)](https://github.com/stephansama/packages/tree/main/packages/auto-readme)
4
- [![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/modules/_stephansama_auto-readme)
3
+ [![Source code](https://img.shields.io/badge/Source-666666?style=flat&logo=github&label=Github&labelColor=211F1F)](https://github.com/stephansama/packages/tree/main/core/auto-readme)
4
+ [![Documentation](https://img.shields.io/badge/Documentation-211F1F?style=flat&logo=Wikibooks&labelColor=211F1F)](https://packages.stephansama.info/api/@stephansama/auto-readme)
5
5
  [![NPM Version](https://img.shields.io/npm/v/%40stephansama%2Fauto-readme?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F)](https://www.npmjs.com/package/@stephansama/auto-readme)
6
6
  [![npm downloads](https://img.shields.io/npm/dw/@stephansama/auto-readme?labelColor=211F1F)](https://www.npmjs.com/package/@stephansama/auto-readme)
7
7
 
@@ -95,26 +95,33 @@ Most of the options in the [schema](#schema) below can also be used as command-l
95
95
  You can configure `auto-readme` by creating a configuration file (or object) in the root of your project. The following file formats are supported:
96
96
 
97
97
  - `package.json`
98
- - `.autoreadmerc`
98
+ - `.autoreadmerc.cjs`
99
+ - `.autoreadmerc.js`
99
100
  - `.autoreadmerc.json`
101
+ - `.autoreadmerc.mjs`
102
+ - `.autoreadmerc.toml`
103
+ - `.autoreadmerc.ts`
100
104
  - `.autoreadmerc.yaml`
101
105
  - `.autoreadmerc.yml`
102
- - `.autoreadmerc.js`
103
- - `.autoreadmerc.ts`
104
- - `.autoreadmerc.mjs`
105
- - `.autoreadmerc.cjs`
106
- - `.config/autoreadmerc`
106
+ - `.autoreadmerc`
107
+ - `.config/.autoreadmerc.json`
108
+ - `.config/.autoreadmerc.toml`
109
+ - `.config/.autoreadmerc.yaml`
110
+ - `.config/.autoreadmerc.yml`
111
+ - `.config/.autoreadmerc`
112
+ - `.config/autoreadmerc.cjs`
113
+ - `.config/autoreadmerc.js`
107
114
  - `.config/autoreadmerc.json`
115
+ - `.config/autoreadmerc.mjs`
116
+ - `.config/autoreadmerc.toml`
117
+ - `.config/autoreadmerc.ts`
108
118
  - `.config/autoreadmerc.yaml`
109
119
  - `.config/autoreadmerc.yml`
110
- - `.config/autoreadmerc.js`
111
- - `.config/autoreadmerc.ts`
112
- - `.config/autoreadmerc.mjs`
113
- - `.config/autoreadmerc.cjs`
120
+ - `.config/autoreadmerc`
121
+ - `autoreadme.config.cjs`
114
122
  - `autoreadme.config.js`
115
- - `autoreadme.config.ts`
116
123
  - `autoreadme.config.mjs`
117
- - `autoreadme.config.cjs`
124
+ - `autoreadme.config.ts`
118
125
 
119
126
  #### JSON Example
120
127
 
@@ -176,9 +183,11 @@ _Object containing the following properties:_
176
183
  | Property | Description | Type | Default |
177
184
  | :------------------------ | :---------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
178
185
  | `affectedRegexes` | | `Array<string>` | `[]` |
186
+ | `collapseHeadings` | | `Array<string>` | `[]` |
179
187
  | `defaultLanguage` | Default language to infer projects from | [Language](#language) | |
180
188
  | `disableEmojis` | Whether or not to use emojis in markdown table headings | `boolean` | `false` |
181
189
  | `disableMarkdownHeadings` | Whether or not to display markdown headings | `boolean` | `false` |
190
+ | `enablePrettier` | Whether or not to use prettier to format the files | `boolean` | `true` |
182
191
  | `enableToc` | generate table of contents for readmes | `boolean` | `false` |
183
192
  | `enableUsage` | Whether or not to enable usage plugin | `boolean` | `false` |
184
193
  | `headings` | List of headings for different table outputs | _Object with dynamic keys of type_ [Actions](#actions) _and values of type_ _Array of [Headings](#headings) items_ (_optional_) | `{"ACTION":["name","required","default","description"],"PKG":["name","version","devDependency"],"WORKSPACE":["name","version","downloads","description"],"ZOD":[]}` |
package/config/schema.cjs CHANGED
@@ -72,6 +72,7 @@ var defaultTemplates = templatesSchema.parse({});
72
72
  var defaultTableHeadings = tableHeadingsSchema.parse(void 0);
73
73
  var _configSchema = import_zod.z.object({
74
74
  affectedRegexes: import_zod.z.string().array().optional().default([]),
75
+ collapseHeadings: import_zod.z.string().array().optional().default([]),
75
76
  defaultLanguage: languageSchema.meta({
76
77
  alias: "l",
77
78
  description: "Default language to infer projects from"
@@ -83,6 +84,9 @@ var _configSchema = import_zod.z.object({
83
84
  disableMarkdownHeadings: import_zod.z.boolean().default(false).meta({
84
85
  description: "Whether or not to display markdown headings"
85
86
  }),
87
+ enablePrettier: import_zod.z.boolean().default(true).meta({
88
+ description: "Whether or not to use prettier to format the files"
89
+ }),
86
90
  enableToc: import_zod.z.boolean().default(false).meta({
87
91
  alias: "t",
88
92
  description: "generate table of contents for readmes"
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/schema.js"],"sourcesContent":["import { z } from \"zod\";\n\nexport const actionsSchema = z\n\t.enum([\"ACTION\", \"PKG\", \"USAGE\", \"WORKSPACE\", \"ZOD\"])\n\t.describe(\"Comment action options\");\n\nexport const formatsSchema = z\n\t.enum([\"LIST\", \"TABLE\"])\n\t.default(\"TABLE\")\n\t.optional();\n\nexport const languageSchema = z.enum([\"JS\", \"RS\"]).optional().default(\"JS\");\n\nexport const headingsSchema = z\n\t.enum([\n\t\t\"default\",\n\t\t\"description\",\n\t\t\"devDependency\",\n\t\t\"downloads\",\n\t\t\"name\",\n\t\t\"private\",\n\t\t\"required\",\n\t\t\"version\",\n\t])\n\t.describe(\"Table heading options\");\n\nexport const tableHeadingsSchema = z\n\t.record(actionsSchema, headingsSchema.array().optional())\n\t.optional()\n\t.describe(\"Table heading action configuration\")\n\t.default({\n\t\tACTION: [\"name\", \"required\", \"default\", \"description\"],\n\t\tPKG: [\"name\", \"version\", \"devDependency\"],\n\t\tWORKSPACE: [\"name\", \"version\", \"downloads\", \"description\"],\n\t\tZOD: [],\n\t});\n\nexport const templatesSchema = z.object({\n\tdownloadImage: z\n\t\t.string()\n\t\t.optional()\n\t\t.default(\"https://img.shields.io/npm/dw/{{name}}?labelColor=211F1F\"),\n\temojis: z\n\t\t.record(headingsSchema, z.string())\n\t\t.optional()\n\t\t.describe(\"Table heading emojis used when enabled\")\n\t\t.default({\n\t\t\tdefault: \"⚙️\",\n\t\t\tdescription: \"📝\",\n\t\t\tdevDependency: \"💻\",\n\t\t\tdownloads: \"📥\",\n\t\t\tname: \"🏷️\",\n\t\t\tprivate: \"🔒\",\n\t\t\trequired: \"\",\n\t\t\tversion: \"\",\n\t\t}),\n\tregistryUrl: z\n\t\t.string()\n\t\t.optional()\n\t\t.default(\"https://www.npmjs.com/package/{{name}}\"),\n\tversionImage: z\n\t\t.string()\n\t\t.optional()\n\t\t.default(\n\t\t\t\"https://img.shields.io/npm/v/{{uri_name}}?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F\",\n\t\t),\n});\n\nexport const defaultTemplates = templatesSchema.parse({});\nexport const defaultTableHeadings = tableHeadingsSchema.parse(undefined);\n\nconst _configSchema = z.object({\n\taffectedRegexes: z.string().array().optional().default([]),\n\tdefaultLanguage: languageSchema.meta({\n\t\talias: \"l\",\n\t\tdescription: \"Default language to infer projects from\",\n\t}),\n\tdisableEmojis: z.boolean().default(false).meta({\n\t\talias: \"e\",\n\t\tdescription: \"Whether or not to use emojis in markdown table headings\",\n\t}),\n\tdisableMarkdownHeadings: z.boolean().default(false).meta({\n\t\tdescription: \"Whether or not to display markdown headings\",\n\t}),\n\tenableToc: z.boolean().default(false).meta({\n\t\talias: \"t\",\n\t\tdescription: \"generate table of contents for readmes\",\n\t}),\n\tenableUsage: z.boolean().optional().default(false).meta({\n\t\tdescription: \"Whether or not to enable usage plugin\",\n\t}),\n\theadings: tableHeadingsSchema\n\t\t.optional()\n\t\t.default(defaultTableHeadings)\n\t\t.describe(\"List of headings for different table outputs\"),\n\tonlyReadmes: z.boolean().default(true).meta({\n\t\talias: \"r\",\n\t\tdescription: \"Whether or not to only traverse readmes\",\n\t}),\n\tonlyShowPublicPackages: z.boolean().default(false).meta({\n\t\talias: \"p\",\n\t\tdescription: \"Only show public packages in workspaces\",\n\t}),\n\tremoveScope: z.string().optional().default(\"\").meta({\n\t\tdescription: \"Remove common workspace scope\",\n\t}),\n\ttemplates: templatesSchema\n\t\t.optional()\n\t\t.default(defaultTemplates)\n\t\t.describe(\n\t\t\t\"Handlebars templates used to fuel list and table generation\",\n\t\t),\n\ttocHeading: z.string().optional().default(\"Table of contents\").meta({\n\t\tdescription: \"Markdown heading used to generate table of contents\",\n\t}),\n\tusageFile: z.string().optional().default(\"\").meta({\n\t\tdescription: \"Workspace level usage file\",\n\t}),\n\tusageHeading: z.string().optional().default(\"Usage\").meta({\n\t\tdescription: \"Markdown heading used to generate usage example\",\n\t}),\n\tverbose: z.boolean().default(false).meta({\n\t\talias: \"v\",\n\t\tdescription: \"whether or not to display verbose logging\",\n\t}),\n});\n\nexport const configSchema = _configSchema.optional();\n\n/** @typedef {Partial<z.infer<typeof _configSchema>>} Config */\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/schema.js"],"sourcesContent":["import { z } from \"zod\";\n\nexport const actionsSchema = z\n\t.enum([\"ACTION\", \"PKG\", \"USAGE\", \"WORKSPACE\", \"ZOD\"])\n\t.describe(\"Comment action options\");\n\nexport const formatsSchema = z\n\t.enum([\"LIST\", \"TABLE\"])\n\t.default(\"TABLE\")\n\t.optional();\n\nexport const languageSchema = z.enum([\"JS\", \"RS\"]).optional().default(\"JS\");\n\nexport const headingsSchema = z\n\t.enum([\n\t\t\"default\",\n\t\t\"description\",\n\t\t\"devDependency\",\n\t\t\"downloads\",\n\t\t\"name\",\n\t\t\"private\",\n\t\t\"required\",\n\t\t\"version\",\n\t])\n\t.describe(\"Table heading options\");\n\nexport const tableHeadingsSchema = z\n\t.record(actionsSchema, headingsSchema.array().optional())\n\t.optional()\n\t.describe(\"Table heading action configuration\")\n\t.default({\n\t\tACTION: [\"name\", \"required\", \"default\", \"description\"],\n\t\tPKG: [\"name\", \"version\", \"devDependency\"],\n\t\tWORKSPACE: [\"name\", \"version\", \"downloads\", \"description\"],\n\t\tZOD: [],\n\t});\n\nexport const templatesSchema = z.object({\n\tdownloadImage: z\n\t\t.string()\n\t\t.optional()\n\t\t.default(\"https://img.shields.io/npm/dw/{{name}}?labelColor=211F1F\"),\n\temojis: z\n\t\t.record(headingsSchema, z.string())\n\t\t.optional()\n\t\t.describe(\"Table heading emojis used when enabled\")\n\t\t.default({\n\t\t\tdefault: \"⚙️\",\n\t\t\tdescription: \"📝\",\n\t\t\tdevDependency: \"💻\",\n\t\t\tdownloads: \"📥\",\n\t\t\tname: \"🏷️\",\n\t\t\tprivate: \"🔒\",\n\t\t\trequired: \"\",\n\t\t\tversion: \"\",\n\t\t}),\n\tregistryUrl: z\n\t\t.string()\n\t\t.optional()\n\t\t.default(\"https://www.npmjs.com/package/{{name}}\"),\n\tversionImage: z\n\t\t.string()\n\t\t.optional()\n\t\t.default(\n\t\t\t\"https://img.shields.io/npm/v/{{uri_name}}?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F\",\n\t\t),\n});\n\nexport const defaultTemplates = templatesSchema.parse({});\nexport const defaultTableHeadings = tableHeadingsSchema.parse(undefined);\n\nconst _configSchema = z.object({\n\taffectedRegexes: z.string().array().optional().default([]),\n\tcollapseHeadings: z.string().array().optional().default([]),\n\tdefaultLanguage: languageSchema.meta({\n\t\talias: \"l\",\n\t\tdescription: \"Default language to infer projects from\",\n\t}),\n\tdisableEmojis: z.boolean().default(false).meta({\n\t\talias: \"e\",\n\t\tdescription: \"Whether or not to use emojis in markdown table headings\",\n\t}),\n\tdisableMarkdownHeadings: z.boolean().default(false).meta({\n\t\tdescription: \"Whether or not to display markdown headings\",\n\t}),\n\tenablePrettier: z.boolean().default(true).meta({\n\t\tdescription: \"Whether or not to use prettier to format the files\",\n\t}),\n\tenableToc: z.boolean().default(false).meta({\n\t\talias: \"t\",\n\t\tdescription: \"generate table of contents for readmes\",\n\t}),\n\tenableUsage: z.boolean().optional().default(false).meta({\n\t\tdescription: \"Whether or not to enable usage plugin\",\n\t}),\n\theadings: tableHeadingsSchema\n\t\t.optional()\n\t\t.default(defaultTableHeadings)\n\t\t.describe(\"List of headings for different table outputs\"),\n\tonlyReadmes: z.boolean().default(true).meta({\n\t\talias: \"r\",\n\t\tdescription: \"Whether or not to only traverse readmes\",\n\t}),\n\tonlyShowPublicPackages: z.boolean().default(false).meta({\n\t\talias: \"p\",\n\t\tdescription: \"Only show public packages in workspaces\",\n\t}),\n\tremoveScope: z.string().optional().default(\"\").meta({\n\t\tdescription: \"Remove common workspace scope\",\n\t}),\n\ttemplates: templatesSchema\n\t\t.optional()\n\t\t.default(defaultTemplates)\n\t\t.describe(\n\t\t\t\"Handlebars templates used to fuel list and table generation\",\n\t\t),\n\ttocHeading: z.string().optional().default(\"Table of contents\").meta({\n\t\tdescription: \"Markdown heading used to generate table of contents\",\n\t}),\n\tusageFile: z.string().optional().default(\"\").meta({\n\t\tdescription: \"Workspace level usage file\",\n\t}),\n\tusageHeading: z.string().optional().default(\"Usage\").meta({\n\t\tdescription: \"Markdown heading used to generate usage example\",\n\t}),\n\tverbose: z.boolean().default(false).meta({\n\t\talias: \"v\",\n\t\tdescription: \"whether or not to display verbose logging\",\n\t}),\n});\n\nexport const configSchema = _configSchema.optional();\n\n/** @typedef {Partial<z.infer<typeof _configSchema>>} Config */\n"],"mappings":"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","names":[]}
@@ -65,12 +65,14 @@ declare const defaultTemplates: {
65
65
  declare const defaultTableHeadings: Record<"ACTION" | "PKG" | "USAGE" | "WORKSPACE" | "ZOD", ("default" | "description" | "devDependency" | "downloads" | "name" | "private" | "required" | "version")[] | undefined>;
66
66
  declare const configSchema: z.ZodOptional<z.ZodObject<{
67
67
  affectedRegexes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
68
+ collapseHeadings: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
68
69
  defaultLanguage: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
69
70
  JS: "JS";
70
71
  RS: "RS";
71
72
  }>>>;
72
73
  disableEmojis: z.ZodDefault<z.ZodBoolean>;
73
74
  disableMarkdownHeadings: z.ZodDefault<z.ZodBoolean>;
75
+ enablePrettier: z.ZodDefault<z.ZodBoolean>;
74
76
  enableToc: z.ZodDefault<z.ZodBoolean>;
75
77
  enableUsage: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
76
78
  headings: z.ZodDefault<z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodEnum<{
@@ -116,12 +118,14 @@ type Config = Partial<z.infer<typeof _configSchema>>;
116
118
 
117
119
  declare const _configSchema: z.ZodObject<{
118
120
  affectedRegexes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
121
+ collapseHeadings: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
119
122
  defaultLanguage: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
120
123
  JS: "JS";
121
124
  RS: "RS";
122
125
  }>>>;
123
126
  disableEmojis: z.ZodDefault<z.ZodBoolean>;
124
127
  disableMarkdownHeadings: z.ZodDefault<z.ZodBoolean>;
128
+ enablePrettier: z.ZodDefault<z.ZodBoolean>;
125
129
  enableToc: z.ZodDefault<z.ZodBoolean>;
126
130
  enableUsage: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
127
131
  headings: z.ZodDefault<z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodEnum<{
@@ -65,12 +65,14 @@ declare const defaultTemplates: {
65
65
  declare const defaultTableHeadings: Record<"ACTION" | "PKG" | "USAGE" | "WORKSPACE" | "ZOD", ("default" | "description" | "devDependency" | "downloads" | "name" | "private" | "required" | "version")[] | undefined>;
66
66
  declare const configSchema: z.ZodOptional<z.ZodObject<{
67
67
  affectedRegexes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
68
+ collapseHeadings: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
68
69
  defaultLanguage: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
69
70
  JS: "JS";
70
71
  RS: "RS";
71
72
  }>>>;
72
73
  disableEmojis: z.ZodDefault<z.ZodBoolean>;
73
74
  disableMarkdownHeadings: z.ZodDefault<z.ZodBoolean>;
75
+ enablePrettier: z.ZodDefault<z.ZodBoolean>;
74
76
  enableToc: z.ZodDefault<z.ZodBoolean>;
75
77
  enableUsage: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
76
78
  headings: z.ZodDefault<z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodEnum<{
@@ -116,12 +118,14 @@ type Config = Partial<z.infer<typeof _configSchema>>;
116
118
 
117
119
  declare const _configSchema: z.ZodObject<{
118
120
  affectedRegexes: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
121
+ collapseHeadings: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
119
122
  defaultLanguage: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
120
123
  JS: "JS";
121
124
  RS: "RS";
122
125
  }>>>;
123
126
  disableEmojis: z.ZodDefault<z.ZodBoolean>;
124
127
  disableMarkdownHeadings: z.ZodDefault<z.ZodBoolean>;
128
+ enablePrettier: z.ZodDefault<z.ZodBoolean>;
125
129
  enableToc: z.ZodDefault<z.ZodBoolean>;
126
130
  enableUsage: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
127
131
  headings: z.ZodDefault<z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodEnum<{
package/config/schema.js CHANGED
@@ -40,6 +40,7 @@ var defaultTemplates = templatesSchema.parse({});
40
40
  var defaultTableHeadings = tableHeadingsSchema.parse(void 0);
41
41
  var _configSchema = z.object({
42
42
  affectedRegexes: z.string().array().optional().default([]),
43
+ collapseHeadings: z.string().array().optional().default([]),
43
44
  defaultLanguage: languageSchema.meta({
44
45
  alias: "l",
45
46
  description: "Default language to infer projects from"
@@ -51,6 +52,9 @@ var _configSchema = z.object({
51
52
  disableMarkdownHeadings: z.boolean().default(false).meta({
52
53
  description: "Whether or not to display markdown headings"
53
54
  }),
55
+ enablePrettier: z.boolean().default(true).meta({
56
+ description: "Whether or not to use prettier to format the files"
57
+ }),
54
58
  enableToc: z.boolean().default(false).meta({
55
59
  alias: "t",
56
60
  description: "generate table of contents for readmes"
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/schema.js"],"sourcesContent":["import { z } from \"zod\";\n\nexport const actionsSchema = z\n\t.enum([\"ACTION\", \"PKG\", \"USAGE\", \"WORKSPACE\", \"ZOD\"])\n\t.describe(\"Comment action options\");\n\nexport const formatsSchema = z\n\t.enum([\"LIST\", \"TABLE\"])\n\t.default(\"TABLE\")\n\t.optional();\n\nexport const languageSchema = z.enum([\"JS\", \"RS\"]).optional().default(\"JS\");\n\nexport const headingsSchema = z\n\t.enum([\n\t\t\"default\",\n\t\t\"description\",\n\t\t\"devDependency\",\n\t\t\"downloads\",\n\t\t\"name\",\n\t\t\"private\",\n\t\t\"required\",\n\t\t\"version\",\n\t])\n\t.describe(\"Table heading options\");\n\nexport const tableHeadingsSchema = z\n\t.record(actionsSchema, headingsSchema.array().optional())\n\t.optional()\n\t.describe(\"Table heading action configuration\")\n\t.default({\n\t\tACTION: [\"name\", \"required\", \"default\", \"description\"],\n\t\tPKG: [\"name\", \"version\", \"devDependency\"],\n\t\tWORKSPACE: [\"name\", \"version\", \"downloads\", \"description\"],\n\t\tZOD: [],\n\t});\n\nexport const templatesSchema = z.object({\n\tdownloadImage: z\n\t\t.string()\n\t\t.optional()\n\t\t.default(\"https://img.shields.io/npm/dw/{{name}}?labelColor=211F1F\"),\n\temojis: z\n\t\t.record(headingsSchema, z.string())\n\t\t.optional()\n\t\t.describe(\"Table heading emojis used when enabled\")\n\t\t.default({\n\t\t\tdefault: \"⚙️\",\n\t\t\tdescription: \"📝\",\n\t\t\tdevDependency: \"💻\",\n\t\t\tdownloads: \"📥\",\n\t\t\tname: \"🏷️\",\n\t\t\tprivate: \"🔒\",\n\t\t\trequired: \"\",\n\t\t\tversion: \"\",\n\t\t}),\n\tregistryUrl: z\n\t\t.string()\n\t\t.optional()\n\t\t.default(\"https://www.npmjs.com/package/{{name}}\"),\n\tversionImage: z\n\t\t.string()\n\t\t.optional()\n\t\t.default(\n\t\t\t\"https://img.shields.io/npm/v/{{uri_name}}?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F\",\n\t\t),\n});\n\nexport const defaultTemplates = templatesSchema.parse({});\nexport const defaultTableHeadings = tableHeadingsSchema.parse(undefined);\n\nconst _configSchema = z.object({\n\taffectedRegexes: z.string().array().optional().default([]),\n\tdefaultLanguage: languageSchema.meta({\n\t\talias: \"l\",\n\t\tdescription: \"Default language to infer projects from\",\n\t}),\n\tdisableEmojis: z.boolean().default(false).meta({\n\t\talias: \"e\",\n\t\tdescription: \"Whether or not to use emojis in markdown table headings\",\n\t}),\n\tdisableMarkdownHeadings: z.boolean().default(false).meta({\n\t\tdescription: \"Whether or not to display markdown headings\",\n\t}),\n\tenableToc: z.boolean().default(false).meta({\n\t\talias: \"t\",\n\t\tdescription: \"generate table of contents for readmes\",\n\t}),\n\tenableUsage: z.boolean().optional().default(false).meta({\n\t\tdescription: \"Whether or not to enable usage plugin\",\n\t}),\n\theadings: tableHeadingsSchema\n\t\t.optional()\n\t\t.default(defaultTableHeadings)\n\t\t.describe(\"List of headings for different table outputs\"),\n\tonlyReadmes: z.boolean().default(true).meta({\n\t\talias: \"r\",\n\t\tdescription: \"Whether or not to only traverse readmes\",\n\t}),\n\tonlyShowPublicPackages: z.boolean().default(false).meta({\n\t\talias: \"p\",\n\t\tdescription: \"Only show public packages in workspaces\",\n\t}),\n\tremoveScope: z.string().optional().default(\"\").meta({\n\t\tdescription: \"Remove common workspace scope\",\n\t}),\n\ttemplates: templatesSchema\n\t\t.optional()\n\t\t.default(defaultTemplates)\n\t\t.describe(\n\t\t\t\"Handlebars templates used to fuel list and table generation\",\n\t\t),\n\ttocHeading: z.string().optional().default(\"Table of contents\").meta({\n\t\tdescription: \"Markdown heading used to generate table of contents\",\n\t}),\n\tusageFile: z.string().optional().default(\"\").meta({\n\t\tdescription: \"Workspace level usage file\",\n\t}),\n\tusageHeading: z.string().optional().default(\"Usage\").meta({\n\t\tdescription: \"Markdown heading used to generate usage example\",\n\t}),\n\tverbose: z.boolean().default(false).meta({\n\t\talias: \"v\",\n\t\tdescription: \"whether or not to display verbose logging\",\n\t}),\n});\n\nexport const configSchema = _configSchema.optional();\n\n/** @typedef {Partial<z.infer<typeof _configSchema>>} Config */\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/schema.js"],"sourcesContent":["import { z } from \"zod\";\n\nexport const actionsSchema = z\n\t.enum([\"ACTION\", \"PKG\", \"USAGE\", \"WORKSPACE\", \"ZOD\"])\n\t.describe(\"Comment action options\");\n\nexport const formatsSchema = z\n\t.enum([\"LIST\", \"TABLE\"])\n\t.default(\"TABLE\")\n\t.optional();\n\nexport const languageSchema = z.enum([\"JS\", \"RS\"]).optional().default(\"JS\");\n\nexport const headingsSchema = z\n\t.enum([\n\t\t\"default\",\n\t\t\"description\",\n\t\t\"devDependency\",\n\t\t\"downloads\",\n\t\t\"name\",\n\t\t\"private\",\n\t\t\"required\",\n\t\t\"version\",\n\t])\n\t.describe(\"Table heading options\");\n\nexport const tableHeadingsSchema = z\n\t.record(actionsSchema, headingsSchema.array().optional())\n\t.optional()\n\t.describe(\"Table heading action configuration\")\n\t.default({\n\t\tACTION: [\"name\", \"required\", \"default\", \"description\"],\n\t\tPKG: [\"name\", \"version\", \"devDependency\"],\n\t\tWORKSPACE: [\"name\", \"version\", \"downloads\", \"description\"],\n\t\tZOD: [],\n\t});\n\nexport const templatesSchema = z.object({\n\tdownloadImage: z\n\t\t.string()\n\t\t.optional()\n\t\t.default(\"https://img.shields.io/npm/dw/{{name}}?labelColor=211F1F\"),\n\temojis: z\n\t\t.record(headingsSchema, z.string())\n\t\t.optional()\n\t\t.describe(\"Table heading emojis used when enabled\")\n\t\t.default({\n\t\t\tdefault: \"⚙️\",\n\t\t\tdescription: \"📝\",\n\t\t\tdevDependency: \"💻\",\n\t\t\tdownloads: \"📥\",\n\t\t\tname: \"🏷️\",\n\t\t\tprivate: \"🔒\",\n\t\t\trequired: \"\",\n\t\t\tversion: \"\",\n\t\t}),\n\tregistryUrl: z\n\t\t.string()\n\t\t.optional()\n\t\t.default(\"https://www.npmjs.com/package/{{name}}\"),\n\tversionImage: z\n\t\t.string()\n\t\t.optional()\n\t\t.default(\n\t\t\t\"https://img.shields.io/npm/v/{{uri_name}}?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F\",\n\t\t),\n});\n\nexport const defaultTemplates = templatesSchema.parse({});\nexport const defaultTableHeadings = tableHeadingsSchema.parse(undefined);\n\nconst _configSchema = z.object({\n\taffectedRegexes: z.string().array().optional().default([]),\n\tcollapseHeadings: z.string().array().optional().default([]),\n\tdefaultLanguage: languageSchema.meta({\n\t\talias: \"l\",\n\t\tdescription: \"Default language to infer projects from\",\n\t}),\n\tdisableEmojis: z.boolean().default(false).meta({\n\t\talias: \"e\",\n\t\tdescription: \"Whether or not to use emojis in markdown table headings\",\n\t}),\n\tdisableMarkdownHeadings: z.boolean().default(false).meta({\n\t\tdescription: \"Whether or not to display markdown headings\",\n\t}),\n\tenablePrettier: z.boolean().default(true).meta({\n\t\tdescription: \"Whether or not to use prettier to format the files\",\n\t}),\n\tenableToc: z.boolean().default(false).meta({\n\t\talias: \"t\",\n\t\tdescription: \"generate table of contents for readmes\",\n\t}),\n\tenableUsage: z.boolean().optional().default(false).meta({\n\t\tdescription: \"Whether or not to enable usage plugin\",\n\t}),\n\theadings: tableHeadingsSchema\n\t\t.optional()\n\t\t.default(defaultTableHeadings)\n\t\t.describe(\"List of headings for different table outputs\"),\n\tonlyReadmes: z.boolean().default(true).meta({\n\t\talias: \"r\",\n\t\tdescription: \"Whether or not to only traverse readmes\",\n\t}),\n\tonlyShowPublicPackages: z.boolean().default(false).meta({\n\t\talias: \"p\",\n\t\tdescription: \"Only show public packages in workspaces\",\n\t}),\n\tremoveScope: z.string().optional().default(\"\").meta({\n\t\tdescription: \"Remove common workspace scope\",\n\t}),\n\ttemplates: templatesSchema\n\t\t.optional()\n\t\t.default(defaultTemplates)\n\t\t.describe(\n\t\t\t\"Handlebars templates used to fuel list and table generation\",\n\t\t),\n\ttocHeading: z.string().optional().default(\"Table of contents\").meta({\n\t\tdescription: \"Markdown heading used to generate table of contents\",\n\t}),\n\tusageFile: z.string().optional().default(\"\").meta({\n\t\tdescription: \"Workspace level usage file\",\n\t}),\n\tusageHeading: z.string().optional().default(\"Usage\").meta({\n\t\tdescription: \"Markdown heading used to generate usage example\",\n\t}),\n\tverbose: z.boolean().default(false).meta({\n\t\talias: \"v\",\n\t\tdescription: \"whether or not to display verbose logging\",\n\t}),\n});\n\nexport const configSchema = _configSchema.optional();\n\n/** @typedef {Partial<z.infer<typeof _configSchema>>} Config */\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"$schema":{"default":"https://unpkg.com/@stephansama/auto-readme@0.1.0/config/schema.json","type":"string"},"type":"object","properties":{"affectedRegexes":{"default":[],"type":"array","items":{"type":"string"}},"defaultLanguage":{"alias":"l","description":"Default language to infer projects from","default":"JS","type":"string","enum":["JS","RS"]},"disableEmojis":{"alias":"e","description":"Whether or not to use emojis in markdown table headings","default":false,"type":"boolean"},"disableMarkdownHeadings":{"description":"Whether or not to display markdown headings","default":false,"type":"boolean"},"enableToc":{"alias":"t","description":"generate table of contents for readmes","default":false,"type":"boolean"},"enableUsage":{"description":"Whether or not to enable usage plugin","default":false,"type":"boolean"},"headings":{"description":"List of headings for different table outputs","default":{"ACTION":["name","required","default","description"],"PKG":["name","version","devDependency"],"WORKSPACE":["name","version","downloads","description"],"ZOD":[]},"type":"object","propertyNames":{"description":"Comment action options","type":"string","enum":["ACTION","PKG","USAGE","WORKSPACE","ZOD"]},"additionalProperties":{"type":"array","items":{"description":"Table heading options","type":"string","enum":["default","description","devDependency","downloads","name","private","required","version"]}}},"onlyReadmes":{"alias":"r","description":"Whether or not to only traverse readmes","default":true,"type":"boolean"},"onlyShowPublicPackages":{"alias":"p","description":"Only show public packages in workspaces","default":false,"type":"boolean"},"removeScope":{"description":"Remove common workspace scope","default":"","type":"string"},"templates":{"description":"Handlebars templates used to fuel list and table generation","default":{"downloadImage":"https://img.shields.io/npm/dw/{{name}}?labelColor=211F1F","emojis":{"default":"⚙️","description":"📝","devDependency":"💻","downloads":"📥","name":"🏷️","private":"🔒","required":"","version":""},"registryUrl":"https://www.npmjs.com/package/{{name}}","versionImage":"https://img.shields.io/npm/v/{{uri_name}}?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F"},"type":"object","properties":{"downloadImage":{"default":"https://img.shields.io/npm/dw/{{name}}?labelColor=211F1F","type":"string"},"emojis":{"default":{"default":"⚙️","description":"📝","devDependency":"💻","downloads":"📥","name":"🏷️","private":"🔒","required":"","version":""},"description":"Table heading emojis used when enabled","type":"object","propertyNames":{"description":"Table heading options","type":"string","enum":["default","description","devDependency","downloads","name","private","required","version"]},"additionalProperties":{"type":"string"}},"registryUrl":{"default":"https://www.npmjs.com/package/{{name}}","type":"string"},"versionImage":{"default":"https://img.shields.io/npm/v/{{uri_name}}?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F","type":"string"}},"required":["downloadImage","emojis","registryUrl","versionImage"],"additionalProperties":false},"tocHeading":{"description":"Markdown heading used to generate table of contents","default":"Table of contents","type":"string"},"usageFile":{"description":"Workspace level usage file","default":"","type":"string"},"usageHeading":{"description":"Markdown heading used to generate usage example","default":"Usage","type":"string"},"verbose":{"alias":"v","description":"whether or not to display verbose logging","default":false,"type":"boolean"}},"required":["affectedRegexes","defaultLanguage","disableEmojis","disableMarkdownHeadings","enableToc","enableUsage","headings","onlyReadmes","onlyShowPublicPackages","removeScope","templates","tocHeading","usageFile","usageHeading","verbose"],"additionalProperties":false}
1
+ {"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"affectedRegexes":{"default":[],"type":"array","items":{"type":"string"}},"collapseHeadings":{"default":[],"type":"array","items":{"type":"string"}},"defaultLanguage":{"alias":"l","description":"Default language to infer projects from","default":"JS","type":"string","enum":["JS","RS"]},"disableEmojis":{"alias":"e","description":"Whether or not to use emojis in markdown table headings","default":false,"type":"boolean"},"disableMarkdownHeadings":{"description":"Whether or not to display markdown headings","default":false,"type":"boolean"},"enablePrettier":{"description":"Whether or not to use prettier to format the files","default":true,"type":"boolean"},"enableToc":{"alias":"t","description":"generate table of contents for readmes","default":false,"type":"boolean"},"enableUsage":{"description":"Whether or not to enable usage plugin","default":false,"type":"boolean"},"headings":{"description":"List of headings for different table outputs","default":{"ACTION":["name","required","default","description"],"PKG":["name","version","devDependency"],"WORKSPACE":["name","version","downloads","description"],"ZOD":[]},"type":"object","propertyNames":{"description":"Comment action options","type":"string","enum":["ACTION","PKG","USAGE","WORKSPACE","ZOD"]},"additionalProperties":{"type":"array","items":{"description":"Table heading options","type":"string","enum":["default","description","devDependency","downloads","name","private","required","version"]}}},"onlyReadmes":{"alias":"r","description":"Whether or not to only traverse readmes","default":true,"type":"boolean"},"onlyShowPublicPackages":{"alias":"p","description":"Only show public packages in workspaces","default":false,"type":"boolean"},"removeScope":{"description":"Remove common workspace scope","default":"","type":"string"},"templates":{"description":"Handlebars templates used to fuel list and table generation","default":{"downloadImage":"https://img.shields.io/npm/dw/{{name}}?labelColor=211F1F","emojis":{"default":"⚙️","description":"📝","devDependency":"💻","downloads":"📥","name":"🏷️","private":"🔒","required":"","version":""},"registryUrl":"https://www.npmjs.com/package/{{name}}","versionImage":"https://img.shields.io/npm/v/{{uri_name}}?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F"},"type":"object","properties":{"downloadImage":{"default":"https://img.shields.io/npm/dw/{{name}}?labelColor=211F1F","type":"string"},"emojis":{"default":{"default":"⚙️","description":"📝","devDependency":"💻","downloads":"📥","name":"🏷️","private":"🔒","required":"","version":""},"description":"Table heading emojis used when enabled","type":"object","propertyNames":{"description":"Table heading options","type":"string","enum":["default","description","devDependency","downloads","name","private","required","version"]},"additionalProperties":{"type":"string"}},"registryUrl":{"default":"https://www.npmjs.com/package/{{name}}","type":"string"},"versionImage":{"default":"https://img.shields.io/npm/v/{{uri_name}}?logo=npm&logoColor=red&color=211F1F&labelColor=211F1F","type":"string"}},"required":["downloadImage","emojis","registryUrl","versionImage"],"additionalProperties":false},"tocHeading":{"description":"Markdown heading used to generate table of contents","default":"Table of contents","type":"string"},"usageFile":{"description":"Workspace level usage file","default":"","type":"string"},"usageHeading":{"description":"Markdown heading used to generate usage example","default":"Usage","type":"string"},"verbose":{"alias":"v","description":"whether or not to display verbose logging","default":false,"type":"boolean"}},"required":["affectedRegexes","collapseHeadings","defaultLanguage","disableEmojis","disableMarkdownHeadings","enablePrettier","enableToc","enableUsage","headings","onlyReadmes","onlyShowPublicPackages","removeScope","templates","tocHeading","usageFile","usageHeading","verbose"],"additionalProperties":false}
@@ -1,6 +1,4 @@
1
- $schema:
2
- default: https://unpkg.com/@stephansama/auto-readme@0.1.0/config/schema.json
3
- type: string
1
+ $schema: https://json-schema.org/draft/2020-12/schema
4
2
  type: object
5
3
  properties:
6
4
  affectedRegexes:
@@ -8,6 +6,11 @@ properties:
8
6
  type: array
9
7
  items:
10
8
  type: string
9
+ collapseHeadings:
10
+ default: []
11
+ type: array
12
+ items:
13
+ type: string
11
14
  defaultLanguage:
12
15
  alias: l
13
16
  description: Default language to infer projects from
@@ -25,6 +28,10 @@ properties:
25
28
  description: Whether or not to display markdown headings
26
29
  default: false
27
30
  type: boolean
31
+ enablePrettier:
32
+ description: Whether or not to use prettier to format the files
33
+ default: true
34
+ type: boolean
28
35
  enableToc:
29
36
  alias: t
30
37
  description: generate table of contents for readmes
@@ -167,9 +174,11 @@ properties:
167
174
  type: boolean
168
175
  required:
169
176
  - affectedRegexes
177
+ - collapseHeadings
170
178
  - defaultLanguage
171
179
  - disableEmojis
172
180
  - disableMarkdownHeadings
181
+ - enablePrettier
173
182
  - enableToc
174
183
  - enableUsage
175
184
  - headings
package/dist/index.cjs CHANGED
@@ -39,31 +39,11 @@ var fsp3 = __toESM(require("fs/promises"), 1);
39
39
  var import_ora = __toESM(require("ora"), 1);
40
40
 
41
41
  // src/args.ts
42
+ var import_debug = __toESM(require("debug"), 1);
42
43
  var import_yargs = __toESM(require("yargs"), 1);
43
44
  var import_helpers = require("yargs/helpers");
44
45
  var import_zod2 = __toESM(require("zod"), 1);
45
46
 
46
- // src/log.ts
47
- var import_chalk = __toESM(require("chalk"), 1);
48
- var verbosity = 0;
49
- function ERROR(...rest) {
50
- const [first, ...remaining] = rest;
51
- console.error(import_chalk.default.red(first), ...remaining);
52
- }
53
- function INFO(...rest) {
54
- if (verbosity < 1) return;
55
- const [first, ...remaining] = rest;
56
- console.info(import_chalk.default.blue(first), ...remaining);
57
- }
58
- function setVerbosity(input) {
59
- verbosity = input;
60
- }
61
- function WARN(...rest) {
62
- if (verbosity < 1) return;
63
- const [first, ...remaining] = rest;
64
- console.warn(import_chalk.default.yellow(first), ...remaining);
65
- }
66
-
67
47
  // src/schema.js
68
48
  var import_zod = require("zod");
69
49
  var actionsSchema = import_zod.z.enum(["ACTION", "PKG", "USAGE", "WORKSPACE", "ZOD"]).describe("Comment action options");
@@ -106,6 +86,7 @@ var defaultTemplates = templatesSchema.parse({});
106
86
  var defaultTableHeadings = tableHeadingsSchema.parse(void 0);
107
87
  var _configSchema = import_zod.z.object({
108
88
  affectedRegexes: import_zod.z.string().array().optional().default([]),
89
+ collapseHeadings: import_zod.z.string().array().optional().default([]),
109
90
  defaultLanguage: languageSchema.meta({
110
91
  alias: "l",
111
92
  description: "Default language to infer projects from"
@@ -117,6 +98,9 @@ var _configSchema = import_zod.z.object({
117
98
  disableMarkdownHeadings: import_zod.z.boolean().default(false).meta({
118
99
  description: "Whether or not to display markdown headings"
119
100
  }),
101
+ enablePrettier: import_zod.z.boolean().default(true).meta({
102
+ description: "Whether or not to use prettier to format the files"
103
+ }),
120
104
  enableToc: import_zod.z.boolean().default(false).meta({
121
105
  alias: "t",
122
106
  description: "generate table of contents for readmes"
@@ -156,7 +140,12 @@ var _configSchema = import_zod.z.object({
156
140
  var configSchema = _configSchema.optional();
157
141
 
158
142
  // src/args.ts
159
- var complexOptions = ["affectedRegexes", "templates", "headings"];
143
+ var complexOptions = [
144
+ "affectedRegexes",
145
+ "collapseHeadings",
146
+ "headings",
147
+ "templates"
148
+ ];
160
149
  var args = {
161
150
  ...zodToYargs(),
162
151
  changes: {
@@ -176,7 +165,7 @@ var args = {
176
165
  async function parseArgs() {
177
166
  const yargsInstance = (0, import_yargs.default)((0, import_helpers.hideBin)(process.argv)).options(args).help("h").alias("h", "help").epilogue(`--> @stephansama open-source ${(/* @__PURE__ */ new Date()).getFullYear()}`);
178
167
  const parsed = await yargsInstance.wrap(yargsInstance.terminalWidth()).parse();
179
- if (parsed.verbose) setVerbosity(1);
168
+ if (parsed.verbose) import_debug.default.enable("autoreadme*");
180
169
  return parsed;
181
170
  }
182
171
  function zodToYargs() {
@@ -201,10 +190,31 @@ function zodToYargs() {
201
190
  return Object.fromEntries(entries);
202
191
  }
203
192
 
193
+ // src/comment.ts
194
+ var import_mdast_comment_marker = require("mdast-comment-marker");
195
+
196
+ // src/log.ts
197
+ var import_debug2 = __toESM(require("debug"), 1);
198
+ var error = (0, import_debug2.default)("autoreadme:error");
199
+ var info = (0, import_debug2.default)("autoreadme:info");
200
+ var warn = (0, import_debug2.default)("autoreadme:warn");
201
+ function ERROR(...rest) {
202
+ const [first, ...remaining] = rest;
203
+ error(`${first} %O`, ...remaining);
204
+ }
205
+ function INFO(...rest) {
206
+ const [first, ...remaining] = rest;
207
+ info(`${first} %O`, ...remaining);
208
+ }
209
+ function WARN(...rest) {
210
+ const [first, ...remaining] = rest;
211
+ warn(`${first} %O`, ...remaining);
212
+ }
213
+
204
214
  // src/comment.ts
205
215
  var SEPARATOR = "-";
206
216
  function loadAstComments(root) {
207
- return root.children.map((child) => child.type === "html" && getComment(child.value)).filter((f) => f !== false);
217
+ return root.children.map((child) => child.type === "html" && getComment(child)).filter((f) => f !== false);
208
218
  }
209
219
  function parseComment(comment) {
210
220
  const input = trimComment(comment);
@@ -228,7 +238,10 @@ function trimComment(comment) {
228
238
  return comment.replace(startComment, "").replace(/start|end/, "").replace(endComment, "").trim();
229
239
  }
230
240
  function getComment(comment) {
231
- return isComment(comment) && parseComment(comment);
241
+ if (!isComment(comment.value)) return false;
242
+ const marker = (0, import_mdast_comment_marker.commentMarker)(comment);
243
+ if (!marker) return false;
244
+ return parseComment(comment.value);
232
245
  }
233
246
  function isComment(comment) {
234
247
  return comment.startsWith(startComment) && comment.endsWith(endComment);
@@ -359,6 +372,17 @@ async function getMarkdownPaths(cwd, config) {
359
372
  const readmes = await (0, import_fast_glob.default)(pattern, { cwd, ignore });
360
373
  return readmes.map((readme) => path.resolve(cwd, readme));
361
374
  }
375
+ async function getPrettierPaths(paths) {
376
+ return await Promise.all(
377
+ paths.map(async (file) => {
378
+ const stats = await fsp.lstat(file);
379
+ const isSymbolicLink = stats.isSymbolicLink();
380
+ if (!isSymbolicLink) return file;
381
+ const symlink = await fsp.readlink(file);
382
+ return path.join(path.dirname(file), symlink);
383
+ })
384
+ );
385
+ }
362
386
 
363
387
  // src/data.ts
364
388
  function createFindParameter(parameterList) {
@@ -415,8 +439,8 @@ async function loadActionData(actions, file, root) {
415
439
  }
416
440
  const inputPath = find("path");
417
441
  if (!inputPath) {
418
- const error = `no path found for zod table at markdown file ${file}`;
419
- throw new Error(error);
442
+ const error2 = `no path found for zod table at markdown file ${file}`;
443
+ throw new Error(error2);
420
444
  }
421
445
  const body = await (0, import_zod2md.zod2md)({
422
446
  entry: path2.resolve(path2.dirname(file), inputPath),
@@ -440,8 +464,8 @@ async function loadActionYaml(baseDir) {
440
464
  const actualPath = await fileExists(actionYamlPath) && actionYamlPath || await fileExists(actionYmlPath) && actionYmlPath;
441
465
  if (!actualPath) {
442
466
  const locations = [actionYmlPath, actionYamlPath];
443
- const error = `no yaml file found at locations: ${locations}`;
444
- throw new Error(error);
467
+ const error2 = `no yaml file found at locations: ${locations}`;
468
+ throw new Error(error2);
445
469
  }
446
470
  const actionFile = await fsp2.readFile(actualPath, { encoding: "utf8" });
447
471
  return yaml.parse(actionFile);
@@ -450,9 +474,11 @@ async function loadActionYaml(baseDir) {
450
474
  // src/pipeline.ts
451
475
  var path4 = __toESM(require("path"), 1);
452
476
  var import_remark = require("remark");
477
+ var import_remark_code_import = __toESM(require("remark-code-import"), 1);
453
478
  var import_remark_collapse = __toESM(require("remark-collapse"), 1);
454
479
  var import_remark_toc = __toESM(require("remark-toc"), 1);
455
480
  var import_remark_usage = __toESM(require("remark-usage"), 1);
481
+ var import_vfile = require("vfile");
456
482
 
457
483
  // src/plugin.ts
458
484
  var import_handlebars = __toESM(require("handlebars"), 1);
@@ -622,7 +648,7 @@ function loadTemplates(templates) {
622
648
 
623
649
  // src/pipeline.ts
624
650
  async function parse2(file, filepath, root, config, data) {
625
- const pipeline = (0, import_remark.remark)().use(autoReadmeRemarkPlugin, config, data);
651
+ const pipeline = (0, import_remark.remark)().use(autoReadmeRemarkPlugin, config, data).use(import_remark_code_import.default, {});
626
652
  const usage = data.find((d) => d.action === "USAGE");
627
653
  if (usage?.action === "USAGE" || config.enableUsage) {
628
654
  const find = createFindParameter(usage?.parameters || []);
@@ -631,7 +657,7 @@ async function parse2(file, filepath, root, config, data) {
631
657
  const resolvePath = examplePath && path4.resolve(dirname4, examplePath);
632
658
  const relativeProjectPath = config.usageFile && path4.relative(root, path4.resolve(dirname4, config.usageFile));
633
659
  const example = examplePath && resolvePath && path4.relative(root, resolvePath) || relativeProjectPath || void 0;
634
- if (await fileExists(example || "")) {
660
+ if (example && await fileExists(example)) {
635
661
  INFO("generating usage section");
636
662
  pipeline.use(import_remark_usage.default, {
637
663
  example,
@@ -643,10 +669,23 @@ async function parse2(file, filepath, root, config, data) {
643
669
  }
644
670
  if (config.enableToc) {
645
671
  INFO("generating table of contents section");
646
- pipeline.use(import_remark_toc.default, { heading: config.tocHeading }).use(import_remark_collapse.default, { test: config.tocHeading });
672
+ pipeline.use(import_remark_toc.default, { heading: config.tocHeading });
647
673
  }
648
- const vfile = await pipeline.process(file);
649
- return vfile.toString();
674
+ if (config.enableToc || config.collapseHeadings?.length) {
675
+ const additional = config.collapseHeadings?.length ? config.collapseHeadings : [];
676
+ const headings = [...additional, config.tocHeading];
677
+ pipeline.use(import_remark_collapse.default, {
678
+ test: {
679
+ ignoreFinalDefinitions: true,
680
+ test: (value, _) => {
681
+ return headings.some((i) => value.trim() === i?.trim());
682
+ }
683
+ }
684
+ });
685
+ }
686
+ const vfile = new import_vfile.VFile({ path: path4.resolve(filepath), value: file });
687
+ const markdown = await pipeline.process(vfile);
688
+ return markdown.toString();
650
689
  }
651
690
 
652
691
  // src/index.ts
@@ -655,7 +694,7 @@ async function run() {
655
694
  const config = await loadConfig(args2) || {};
656
695
  INFO("Loaded the following configuration:", config);
657
696
  const root = getGitRoot();
658
- const isAffected = args2.changes ? "affected" : "";
697
+ const isAffected = args2.changes && "affected";
659
698
  INFO(`Loading ${!isAffected ? "all " : "affected "}files`);
660
699
  const paths = isAffected ? findAffectedMarkdowns(root, config) : await getMarkdownPaths(root, config);
661
700
  INFO("Loaded the following files:", paths.join("\n"));
@@ -686,8 +725,11 @@ async function run() {
686
725
  })
687
726
  );
688
727
  const opts2 = { stdio: "inherit" };
689
- INFO("formatting with prettier");
690
- cp2.execFileSync("prettier", ["--write", ...paths], opts2);
728
+ if (config.enablePrettier) {
729
+ INFO("formatting with prettier");
730
+ const prettierPaths = await getPrettierPaths(paths);
731
+ cp2.execFileSync("prettier", ["--write", ...prettierPaths], opts2);
732
+ }
691
733
  if (isAffected) {
692
734
  INFO("adding affected files to git stage");
693
735
  cp2.execFileSync("git", ["add", ...paths], opts2);