@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 +23 -14
- package/config/schema.cjs +4 -0
- package/config/schema.cjs.map +1 -1
- package/config/schema.d.cts +4 -0
- package/config/schema.d.ts +4 -0
- package/config/schema.js +4 -0
- package/config/schema.js.map +1 -1
- package/config/schema.json +1 -1
- package/config/schema.yaml +12 -3
- package/dist/index.cjs +79 -37
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +79 -37
- package/dist/index.js.map +1 -1
- package/package.json +10 -4
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Auto Readme 🪄
|
|
2
2
|
|
|
3
|
-
[](https://github.com/stephansama/packages/tree/main/
|
|
4
|
-
[](https://packages.stephansama.info/
|
|
3
|
+
[](https://github.com/stephansama/packages/tree/main/core/auto-readme)
|
|
4
|
+
[](https://packages.stephansama.info/api/@stephansama/auto-readme)
|
|
5
5
|
[](https://www.npmjs.com/package/@stephansama/auto-readme)
|
|
6
6
|
[](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
|
|
103
|
-
- `.autoreadmerc.
|
|
104
|
-
- `.autoreadmerc.
|
|
105
|
-
- `.autoreadmerc.
|
|
106
|
-
- `.config
|
|
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
|
|
111
|
-
-
|
|
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.
|
|
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"
|
package/config/schema.cjs.map
CHANGED
|
@@ -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":[]}
|
package/config/schema.d.cts
CHANGED
|
@@ -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.d.ts
CHANGED
|
@@ -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"
|
package/config/schema.js.map
CHANGED
|
@@ -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":[]}
|
package/config/schema.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":
|
|
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}
|
package/config/schema.yaml
CHANGED
|
@@ -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 = [
|
|
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)
|
|
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
|
|
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
|
-
|
|
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
|
|
419
|
-
throw new 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
|
|
444
|
-
throw new 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 })
|
|
672
|
+
pipeline.use(import_remark_toc.default, { heading: config.tocHeading });
|
|
647
673
|
}
|
|
648
|
-
|
|
649
|
-
|
|
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
|
|
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
|
-
|
|
690
|
-
|
|
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);
|