github-action-readme-generator 1.9.3 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/README.md +12 -0
- package/action.yml +17 -0
- package/dist/bin/index.js +117 -41
- package/dist/mjs/constants.d.ts +13 -0
- package/dist/mjs/constants.js +17 -0
- package/dist/mjs/constants.js.map +1 -1
- package/dist/mjs/helpers.js +130 -36
- package/dist/mjs/helpers.js.map +1 -1
- package/dist/mjs/inputs.js +14 -0
- package/dist/mjs/inputs.js.map +1 -1
- package/dist/types/index.d.ts +13 -0
- package/package.json +2 -2
package/dist/mjs/inputs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/inputs.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * This class handles input configuration and manipulation.\n * It imports various modules and packages for file operations, configuration parsing, and logging.\n * The class has methods for initializing the input configuration, setting default values, and converting the configuration to a string.\n * It also has properties for storing the configuration values, sections, readme path, action instance, and readme editor instance.\n */\nimport * as fs from 'node:fs';\nimport * as path from 'node:path';\n\nimport * as core from '@actions/core';\nimport { Context } from '@actions/github/lib/context.js';\nimport nconf from 'nconf';\nimport YAML from 'yaml';\n\nimport Action, { type Input } from './Action.js';\nimport { ConfigKeys, configFileName, README_SECTIONS, type ReadmeSection } from './constants.js';\nimport { repositoryFinder } from './helpers.js';\nimport LogTask from './logtask/index.js';\nimport ReadmeEditor from './readme-editor.js';\n\nconst { Provider }: typeof nconf = nconf;\ntype IOptions = nconf.IOptions;\n\n/**\n * Change working directory to output of workingDirectory()\n */\n// process.chdir(workingDirectory());\nexport const metaActionPath = '../../action.yml';\n\nexport type ArgvOptionProperties = {\n [key: string]: {\n alias: string | string[];\n describe: string;\n parseValues?: boolean;\n type?: string;\n };\n};\n/**\n * Represents the command line argument options for the application.\n */\nconst argvOptions: ArgvOptionProperties = {};\n\n/**\n * Save option configuration.\n * @property {string} alias - Alias for the save option.\n * @property {string} describe - Description for the save option.\n * @property {boolean} parseValues - Specifies whether to parse values for the save option.\n * @property {string} type - Type of the save option.\n */\nargvOptions[ConfigKeys.Save] = {\n alias: 'save',\n describe: `Save this config to ${configFileName}`,\n parseValues: true,\n type: 'boolean',\n};\n\n/**\n * Paths action option configuration.\n * @property {string | string[]} alias - Alias(es) for the pathsAction option.\n * @property {string} type - Type of the pathsAction option.\n * @property {string} describe - Description for the pathsAction option.\n */\nargvOptions[ConfigKeys.pathsAction] = {\n alias: ['pathsAction', 'action'],\n type: 'string',\n describe: 'Path to the action.yml',\n};\n\n/**\n * Paths readme option configuration.\n * @property {string | string[]} alias - Alias(es) for the pathsReadme option.\n * @property {string} type - Type of the pathsReadme option.\n * @property {string} describe - Description for the pathsReadme option.\n */\nargvOptions[ConfigKeys.pathsReadme] = {\n alias: ['pathsReadme', 'readme'],\n type: 'string',\n describe: 'Path to the README file',\n};\n\n/**\n * Branding SVG path option configuration.\n * @property {string} alias - Alias for the svg option.\n * @property {string} type - Type of the svg option.\n * @property {string} describe - Description for the svg option.\n */\nargvOptions[ConfigKeys.BrandingSvgPath] = {\n alias: 'svg',\n type: 'string',\n describe: 'Save and load the branding svg image in the README from this path',\n};\n\n/**\n * Branding as title prefix option configuration.\n * @property {string} alias - Alias for the branding_prefix option.\n * @property {string} type - Type of the branding_prefix option.\n * @property {boolean} parseValues - Specifies whether to parse values for the branding_prefix option.\n * @property {string} describe - Description for the branding_prefix option.\n */\nargvOptions[ConfigKeys.BrandingAsTitlePrefix] = {\n alias: 'branding_prefix',\n type: 'boolean',\n parseValues: true,\n describe: 'Use the branding svg as a prefix for the README title',\n};\n\n/**\n * Owner option configuration.\n * @property {string} alias - Alias for the owner option.\n * @property {string} type - Type of the owner option.\n * @property {string} describe - Description for the owner option.\n */\nargvOptions[ConfigKeys.Owner] = {\n alias: 'owner',\n type: 'string',\n describe: 'The GitHub Action repository owner. i.e: `bitflight-devops`',\n};\n\n/**\n * Repo option configuration.\n * @property {string} alias - Alias for the repo option.\n * @property {string} type - Type of the repo option.\n * @property {string} describe - Description for the repo option.\n */\nargvOptions[ConfigKeys.Repo] = {\n alias: 'repo',\n type: 'string',\n describe: 'The GitHub Action repository name. i.e: `github-action-readme-generator`',\n};\n\n/**\n * Prettier option configuration.\n * @property {string | string[]} alias - Alias(es) for the prettier option.\n * @property {string} type - Type of the prettier option.\n * @property {boolean} parseValues - Specifies whether to parse values for the prettier option.\n * @property {string} describe - Description for the prettier option.\n */\nargvOptions[ConfigKeys.Prettier] = {\n alias: ['pretty', 'prettier'],\n type: 'boolean',\n parseValues: true,\n describe: 'Format the markdown using prettier formatter',\n};\n\n/**\n * Versioning enabled option configuration.\n * @property {string | string[]} alias - Alias(es) for the versioning_enabled option.\n * @property {string} describe - Description for the versioning_enabled option.\n * @property {boolean} parseValues - Specifies whether to parse values for the versioning_enabled option.\n * @property {string} type - Type of the versioning_enabled option.\n */\nargvOptions[ConfigKeys.VersioningEnabled] = {\n alias: ['versioning', 'versioning_enabled'],\n describe:\n 'Enable the update of the usage version to match the latest version in the package.json file',\n parseValues: true,\n type: 'boolean',\n};\n\n/**\n * Versioning override option configuration.\n * @property {string | string[]} alias - Alias(es) for the versioning_override option.\n * @property {string} describe - Description for the versioning_override option.\n * @property {boolean} parseValues - Specifies whether to parse values for the versioning_override option.\n */\nargvOptions[ConfigKeys.VersioningOverride] = {\n alias: ['setversion', 'versioning_override', 'version_override'],\n describe: 'Set a specific version to display in the README.md',\n parseValues: true,\n};\n\n/**\n * Versioning prefix option configuration.\n * @property {string | string[]} alias - Alias(es) for the version_prefix option.\n * @property {string} describe - Description for the version_prefix option.\n * @property {boolean} parseValues - Specifies whether to parse values for the version_prefix option.\n */\nargvOptions[ConfigKeys.VersioningPrefix] = {\n alias: ['vp', 'version_prefix'],\n describe: \"Prefix the version with this value (if it isn't already prefixed)\",\n parseValues: true,\n};\n\n/**\n * Versioning branch option configuration.\n * @property {string | string[]} alias - Alias(es) for the versioning_default_branch option.\n * @property {string} describe - Description for the versioning_default_branch option.\n * @property {boolean} parseValues - Specifies whether to parse values for the versioning_default_branch option.\n */\nargvOptions[ConfigKeys.VersioningBranch] = {\n alias: ['branch', 'versioning_default_branch'],\n describe: 'If versioning is disabled show this branch instead',\n parseValues: true,\n};\n\n/**\n * Include GitHub version badge option configuration.\n * @property {string | string[]} alias - Alias(es) for the include_github_version_badge option.\n * @property {string} describe - Description for the include_github_version_badge option.\n * @property {boolean} parseValues - Specifies whether to parse values for the include_github_version_badge option.\n * @property {string} type - Type of the include_github_version_badge option.\n */\nargvOptions[ConfigKeys.IncludeGithubVersionBadge] = {\n alias: ['version-badge', 'versioning_badge', 'include_github_version_badge'],\n describe: 'Display the current version as a badge',\n parseValues: true,\n type: 'boolean',\n};\n\n/**\n * Title prefix option configuration.\n * @property {string | string[]} alias - Alias(es) for the title_prefix option.\n * @property {string} describe - Description for the title_prefix option.\n * @property {boolean} parseValues - Specifies whether to parse values for the title_prefix option.\n */\nargvOptions[ConfigKeys.TitlePrefix] = {\n alias: ['prefix', 'title_prefix'],\n describe: 'Add a prefix to the README title',\n parseValues: true,\n};\n\n/**\n * Debug Nconf option configuration.\n * @property {string} describe - Description for the debugNconf option.\n * @property {boolean} parseValues - Specifies whether to parse values for the debugNconf option.\n * @property {string} type - Type of the debugNconf option.\n */\nargvOptions[ConfigKeys.DebugNconf] = {\n alias: ['debug_nconf'],\n describe: 'Print out the resolved nconf object with all values',\n parseValues: true,\n type: 'boolean',\n};\n\n/**\n * Debug Config option configuration.\n * @property {string} describe - Description for the debugConfig option.\n * @property {boolean} parseValues - Specifies whether to parse values for the debugConfig option.\n * @property {string} type - Type of the debugConfig option.\n */\nargvOptions[ConfigKeys.DebugConfig] = {\n alias: ['debug_config'],\n describe: 'Print out the resolved nconf object with all values',\n parseValues: true,\n type: 'boolean',\n};\n\n/**\n * Configuration inputs from the github action don't\n * all match the input names when running on cli.\n * This maps the action inputs to the cli.\n */\nconst ConfigKeysInputsMap: Record<string, string> = {\n save: ConfigKeys.Save,\n action: ConfigKeys.pathsAction,\n readme: ConfigKeys.pathsReadme,\n branding_svg_path: ConfigKeys.BrandingSvgPath,\n branding_as_title_prefix: ConfigKeys.BrandingAsTitlePrefix,\n versioning_enabled: ConfigKeys.VersioningEnabled,\n version_prefix: ConfigKeys.VersioningPrefix,\n versioning_default_branch: ConfigKeys.VersioningBranch,\n version_override: ConfigKeys.VersioningOverride,\n include_github_version_badge: ConfigKeys.IncludeGithubVersionBadge,\n owner: ConfigKeys.Owner,\n repo: ConfigKeys.Repo,\n title_prefix: ConfigKeys.TitlePrefix,\n pretty: ConfigKeys.Prettier,\n};\n\n/**\n * Interface for key/value pair object\n */\ntype KVPairType = {\n key: string;\n value: string | undefined;\n};\n\n/**\n * Type alias for Provider instance\n */\ntype ProviderInstance = InstanceType<typeof Provider>;\n\nexport function transformGitHubInputsToArgv(\n log: LogTask,\n _config: ProviderInstance,\n obj: KVPairType,\n): undefined | KVPairType {\n /** The obj.key is always in lowercase, but it checks for it without case sensitivity */\n if (/^(INPUT|input)_[A-Z_a-z]\\w*$/.test(obj.key)) {\n log.debug(`Parsing input: ${obj.key} with ith value: ${obj.value}`);\n const keyParsed = obj.key.replace(/^(INPUT|input)_/, '').toLocaleLowerCase();\n const key = ConfigKeysInputsMap[keyParsed] || keyParsed;\n\n // Skip empty values for owner/repo to allow fallback detection from .git/config or GITHUB_REPOSITORY\n if ((key === 'owner' || key === 'repo') && (!obj.value || obj.value === '')) {\n log.debug(`Ignoring empty ${key} input to allow auto-detection`);\n return undefined;\n }\n\n log.debug(`New input is ${key} with the value ${obj.value}`);\n return { key, value: obj.value };\n }\n log.debug(`Ignoring input: ${obj.key} with ith value: ${obj.value}`);\n return undefined;\n}\n\n/**\n * Sets config value from action file default\n *\n * @param {Action} actionInstance - The action instance\n * @param {string} inputName - The input name\n * @returns {string | boolean | undefined} The default value\n */\nexport function setConfigValueFromActionFileDefault(\n log: LogTask,\n actionInstance: Action,\n inputName: string,\n): string | boolean | undefined {\n if (ConfigKeysInputsMap[inputName] === undefined) {\n log.error(\n `${inputName} from ${\n actionInstance.path\n } does not match a known input. Known inputs are: ${Object.keys(ConfigKeysInputsMap)}`,\n );\n return;\n }\n\n const configName = ConfigKeysInputsMap[inputName];\n const defaultValue = actionInstance.inputDefault(inputName);\n\n log.debug(`Default Value for action.yml: ${inputName} CLI: ${configName} = ${defaultValue}`);\n\n return defaultValue;\n}\n\n/**\n * Collects all default values from action file\n *\n * @returns {IOptions} The default values object\n */\nexport function collectAllDefaultValuesFromAction(\n log: LogTask,\n providedMetaActionPath?: string,\n providedDefaults: {\n [key: string]: Input;\n } = {},\n): IOptions {\n log.debug('Collecting default values from action.yml');\n // This loads the defaults from THIS action's own action.yml file (github-action-readme-generator's action.yml)\n // NOT the user's action.yml file (which is loaded separately via the 'action' input parameter)\n // Therefore, we use import.meta.dirname to find this package's action.yml regardless of where it's installed\n const thisActionPath = path.join(import.meta.dirname, providedMetaActionPath ?? metaActionPath);\n try {\n const defaultValues = {} as IOptions;\n const thisAction = new Action(thisActionPath);\n const defaults: {\n [key: string]: Input;\n } = { ...thisAction.inputs, ...providedDefaults };\n // Collect all of the default values from the action.yml file\n if (defaults) {\n for (const key of Object.keys(defaults)) {\n const mappedKey = ConfigKeysInputsMap[key] ?? key;\n defaultValues[mappedKey] = setConfigValueFromActionFileDefault(log, thisAction, key);\n }\n }\n log.debug(JSON.stringify(defaultValues, null, 2));\n return defaultValues;\n } catch (error) {\n // When running as a CLI tool (e.g., via npx or yarn dlx), the tool's own action.yml\n // may not be present in the node_modules. This is expected behavior, as the tool\n // should still work to generate documentation for other actions.\n log.debug(`Could not load defaults from this tool's action.yml at ${thisActionPath}: ${error}`);\n log.debug('Continuing without default values from action.yml');\n return {} as IOptions;\n }\n}\n\n/**\n * Loads the configuration\n *\n * @returns {ProviderInstance} The configuration instance\n */\nexport function loadConfig(\n log: LogTask,\n providedConfig?: ProviderInstance,\n configFilePath?: string,\n): ProviderInstance {\n log.debug('Loading config from env and argv');\n const config = providedConfig ?? new Provider();\n if (process.env.GITHUB_ACTION === 'true') {\n log.info('Running in GitHub action');\n }\n if (configFilePath) {\n if (fs.existsSync(configFilePath)) {\n log.info(`Config file found: ${configFilePath}`);\n config.file(configFilePath);\n } else {\n log.debug(`Config file not found: ${configFilePath}`);\n }\n }\n\n config\n .env({\n lowerCase: true,\n parseValues: true,\n transform: (obj: KVPairType): undefined | KVPairType => {\n return transformGitHubInputsToArgv(log, config, obj);\n },\n })\n .argv(argvOptions);\n\n return config;\n}\n\n/**\n * Loads the default configuration\n *\n * @param {ProviderInstance} config - The config instance\n * @returns {ProviderInstance} The updated config instance\n */\nexport function loadDefaultConfig(\n log: LogTask,\n config: ProviderInstance,\n providedContext?: Context,\n): ProviderInstance {\n log.debug('Loading default config');\n const defaultValues = collectAllDefaultValuesFromAction(log);\n const context = providedContext ?? new Context();\n\n // Get owner/repo from config (which includes CLI args), falling back to env vars for GitHub Actions\n const ownerFromConfig = config.get('owner') as string | undefined;\n const repoFromConfig = config.get('repo') as string | undefined;\n const ownerInput = ownerFromConfig ?? process.env.INPUT_OWNER ?? '';\n const repoInput = repoFromConfig ?? process.env.INPUT_REPO ?? '';\n\n // Get the action path to derive the target repo directory for .git/config lookup\n const actionPath = config.get(ConfigKeys.pathsAction) as string | undefined;\n const actionDir = actionPath ? path.dirname(path.resolve(actionPath)) : undefined;\n log.debug(`Action directory for repository detection: ${actionDir ?? 'not specified'}`);\n\n const repositoryDetail = repositoryFinder(`${ownerInput}/${repoInput}`, context, actionDir);\n log.debug(`repositoryDetail: ${repositoryDetail}`);\n // Apply the default values from the action.yml file\n return config.defaults({\n ...defaultValues,\n owner: repositoryDetail?.owner,\n repo: repositoryDetail?.repo,\n sections: [...README_SECTIONS] as ReadmeSection[],\n });\n}\n\n/**\n * Represents the required inputs for the action.\n */\nconst RequiredInputs = [\n ConfigKeys.pathsAction,\n ConfigKeys.pathsReadme,\n ConfigKeys.Owner,\n ConfigKeys.Repo,\n] as const;\n\n/**\n * Loads the required configuration\n *\n * @param {ProviderInstance} config - The config instance\n * @returns {ProviderInstance} The updated config instance\n */\nexport function loadRequiredConfig(\n log: LogTask,\n config: ProviderInstance,\n requiredInputs: readonly string[] = RequiredInputs,\n): ProviderInstance {\n log.debug('Loading required config');\n\n return config.required([...requiredInputs]);\n}\n\n/**\n *\n */\nexport function loadAction(log: LogTask, actionPath: string): Action {\n log.debug(`Loading action from: ${actionPath}`);\n if (actionPath) {\n return new Action(path.resolve(actionPath));\n }\n throw new Error(`Action path not found: ${actionPath}`);\n}\n\nexport type InputContext = {\n /**\n * The configuration instance\n */\n config?: ProviderInstance;\n\n /**\n * The readme sections\n */\n sections?: ReadmeSection[];\n\n /**\n * The readme file path\n */\n readmePath?: string;\n\n /**\n * The config file path\n */\n configPath?: string;\n\n /**\n * The action instance\n */\n action?: Action;\n\n /**\n * The readme editor instance\n */\n readmeEditor?: ReadmeEditor;\n\n /**\n * The repository owner\n */\n owner?: string;\n\n /**\n * The repository name\n */\n repo?: string;\n};\n/**\n * Main Inputs class that handles configuration\n */\nexport default class Inputs {\n /**\n * The configuration instance\n */\n config: ProviderInstance;\n\n /**\n * The readme sections\n */\n sections: ReadmeSection[];\n\n /**\n * The readme file path\n */\n readmePath: string;\n\n /**\n * The config file path\n */\n configPath: string;\n\n /**\n * The action instance\n */\n action: Action;\n\n /**\n * The readme editor instance\n */\n readmeEditor: ReadmeEditor;\n\n /**\n * The repository owner\n */\n owner: string;\n\n /**\n * The repository name\n */\n repo: string;\n\n /** The logger for this instance */\n log: LogTask;\n\n /**\n * Initializes a new instance of the Inputs class.\n */\n constructor(providedInputContext: InputContext = {}, log: LogTask = new LogTask('inputs')) {\n this.log = log ?? new LogTask('inputs');\n this.log.debug('Initializing Inputs');\n const inputContext = providedInputContext ?? {};\n this.configPath = inputContext.configPath ?? path.resolve(configFileName);\n this.config = inputContext.config ?? new Provider();\n loadConfig(log, this.config, this.configPath);\n loadDefaultConfig(log, this.config);\n loadRequiredConfig(log, this.config);\n\n this.action = inputContext.action ?? loadAction(log, this.config.get(ConfigKeys.pathsAction));\n this.config.set(\n 'sections',\n inputContext.sections ?? (this.config.get('sections') as ReadmeSection[]),\n );\n this.sections = this.config.get('sections') as ReadmeSection[];\n this.readmePath =\n inputContext.readmePath ?? path.resolve(this.config.get(ConfigKeys.pathsReadme) as string);\n this.readmeEditor = inputContext.readmeEditor ?? new ReadmeEditor(this.readmePath);\n /**\n * Output the readme path that is being parsed\n */\n if (process.env.GITHUB_ACTIONS) {\n core.setOutput('readme', this.readmePath);\n }\n /**\n * owner is required, and if it doesn't exist it is handled by nconf which throws an error\n */\n this.owner = inputContext.owner ?? this.config.get('owner');\n\n /**\n * repo is required, and if it doesn't exist it is handled by nconf which throws an error\n */\n this.repo = inputContext.repo ?? this.config.get('repo');\n }\n\n stringify(): string {\n if (this?.config) {\n try {\n return YAML.stringify(this.config.get());\n } catch (error) {\n this.log.error(`${error}`);\n // continue\n }\n }\n // this is just for debug, no need to stop the process if it fails\n return '';\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/inputs.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * This class handles input configuration and manipulation.\n * It imports various modules and packages for file operations, configuration parsing, and logging.\n * The class has methods for initializing the input configuration, setting default values, and converting the configuration to a string.\n * It also has properties for storing the configuration values, sections, readme path, action instance, and readme editor instance.\n */\nimport * as fs from 'node:fs';\nimport * as path from 'node:path';\n\nimport * as core from '@actions/core';\nimport { Context } from '@actions/github/lib/context.js';\nimport nconf from 'nconf';\nimport YAML from 'yaml';\n\nimport Action, { type Input } from './Action.js';\nimport { ConfigKeys, configFileName, README_SECTIONS, type ReadmeSection } from './constants.js';\nimport { repositoryFinder } from './helpers.js';\nimport LogTask from './logtask/index.js';\nimport ReadmeEditor from './readme-editor.js';\n\nconst { Provider }: typeof nconf = nconf;\ntype IOptions = nconf.IOptions;\n\n/**\n * Change working directory to output of workingDirectory()\n */\n// process.chdir(workingDirectory());\nexport const metaActionPath = '../../action.yml';\n\nexport type ArgvOptionProperties = {\n [key: string]: {\n alias: string | string[];\n describe: string;\n parseValues?: boolean;\n type?: string;\n };\n};\n/**\n * Represents the command line argument options for the application.\n */\nconst argvOptions: ArgvOptionProperties = {};\n\n/**\n * Save option configuration.\n * @property {string} alias - Alias for the save option.\n * @property {string} describe - Description for the save option.\n * @property {boolean} parseValues - Specifies whether to parse values for the save option.\n * @property {string} type - Type of the save option.\n */\nargvOptions[ConfigKeys.Save] = {\n alias: 'save',\n describe: `Save this config to ${configFileName}`,\n parseValues: true,\n type: 'boolean',\n};\n\n/**\n * Paths action option configuration.\n * @property {string | string[]} alias - Alias(es) for the pathsAction option.\n * @property {string} type - Type of the pathsAction option.\n * @property {string} describe - Description for the pathsAction option.\n */\nargvOptions[ConfigKeys.pathsAction] = {\n alias: ['pathsAction', 'action'],\n type: 'string',\n describe: 'Path to the action.yml',\n};\n\n/**\n * Paths readme option configuration.\n * @property {string | string[]} alias - Alias(es) for the pathsReadme option.\n * @property {string} type - Type of the pathsReadme option.\n * @property {string} describe - Description for the pathsReadme option.\n */\nargvOptions[ConfigKeys.pathsReadme] = {\n alias: ['pathsReadme', 'readme'],\n type: 'string',\n describe: 'Path to the README file',\n};\n\n/**\n * Branding SVG path option configuration.\n * @property {string} alias - Alias for the svg option.\n * @property {string} type - Type of the svg option.\n * @property {string} describe - Description for the svg option.\n */\nargvOptions[ConfigKeys.BrandingSvgPath] = {\n alias: 'svg',\n type: 'string',\n describe: 'Save and load the branding svg image in the README from this path',\n};\n\n/**\n * Branding as title prefix option configuration.\n * @property {string} alias - Alias for the branding_prefix option.\n * @property {string} type - Type of the branding_prefix option.\n * @property {boolean} parseValues - Specifies whether to parse values for the branding_prefix option.\n * @property {string} describe - Description for the branding_prefix option.\n */\nargvOptions[ConfigKeys.BrandingAsTitlePrefix] = {\n alias: 'branding_prefix',\n type: 'boolean',\n parseValues: true,\n describe: 'Use the branding svg as a prefix for the README title',\n};\n\n/**\n * Owner option configuration.\n * @property {string} alias - Alias for the owner option.\n * @property {string} type - Type of the owner option.\n * @property {string} describe - Description for the owner option.\n */\nargvOptions[ConfigKeys.Owner] = {\n alias: 'owner',\n type: 'string',\n describe: 'The GitHub Action repository owner. i.e: `bitflight-devops`',\n};\n\n/**\n * Repo option configuration.\n * @property {string} alias - Alias for the repo option.\n * @property {string} type - Type of the repo option.\n * @property {string} describe - Description for the repo option.\n */\nargvOptions[ConfigKeys.Repo] = {\n alias: 'repo',\n type: 'string',\n describe: 'The GitHub Action repository name. i.e: `github-action-readme-generator`',\n};\n\n/**\n * Prettier option configuration.\n * @property {string | string[]} alias - Alias(es) for the prettier option.\n * @property {string} type - Type of the prettier option.\n * @property {boolean} parseValues - Specifies whether to parse values for the prettier option.\n * @property {string} describe - Description for the prettier option.\n */\nargvOptions[ConfigKeys.Prettier] = {\n alias: ['pretty', 'prettier'],\n type: 'boolean',\n parseValues: true,\n describe: 'Format the markdown using prettier formatter',\n};\n\n/**\n * Versioning enabled option configuration.\n * @property {string | string[]} alias - Alias(es) for the versioning_enabled option.\n * @property {string} describe - Description for the versioning_enabled option.\n * @property {boolean} parseValues - Specifies whether to parse values for the versioning_enabled option.\n * @property {string} type - Type of the versioning_enabled option.\n */\nargvOptions[ConfigKeys.VersioningEnabled] = {\n alias: ['versioning', 'versioning_enabled'],\n describe:\n 'Enable the update of the usage version to match the latest version in the package.json file',\n parseValues: true,\n type: 'boolean',\n};\n\n/**\n * Versioning override option configuration.\n * @property {string | string[]} alias - Alias(es) for the versioning_override option.\n * @property {string} describe - Description for the versioning_override option.\n * @property {boolean} parseValues - Specifies whether to parse values for the versioning_override option.\n */\nargvOptions[ConfigKeys.VersioningOverride] = {\n alias: ['setversion', 'versioning_override', 'version_override'],\n describe: 'Set a specific version to display in the README.md',\n parseValues: true,\n};\n\n/**\n * Versioning prefix option configuration.\n * @property {string | string[]} alias - Alias(es) for the version_prefix option.\n * @property {string} describe - Description for the version_prefix option.\n * @property {boolean} parseValues - Specifies whether to parse values for the version_prefix option.\n */\nargvOptions[ConfigKeys.VersioningPrefix] = {\n alias: ['vp', 'version_prefix'],\n describe: \"Prefix the version with this value (if it isn't already prefixed)\",\n parseValues: true,\n};\n\n/**\n * Versioning branch option configuration.\n * @property {string | string[]} alias - Alias(es) for the versioning_default_branch option.\n * @property {string} describe - Description for the versioning_default_branch option.\n * @property {boolean} parseValues - Specifies whether to parse values for the versioning_default_branch option.\n */\nargvOptions[ConfigKeys.VersioningBranch] = {\n alias: ['branch', 'versioning_default_branch'],\n describe: 'If versioning is disabled show this branch instead',\n parseValues: true,\n};\n\n/**\n * Versioning source option configuration.\n * @property {string | string[]} alias - Alias(es) for the version_source option.\n * @property {string} describe - Description for the version_source option.\n * @property {boolean} parseValues - Specifies whether to parse values for the version_source option.\n * @property {string} type - Type of the version_source option.\n */\nargvOptions[ConfigKeys.VersioningSource] = {\n alias: ['version-source', 'version_source', 'versioning_source'],\n describe:\n 'How to detect the action version (git-tag, git-branch, git-sha, package-json, explicit)',\n parseValues: true,\n type: 'string',\n};\n\n/**\n * Include GitHub version badge option configuration.\n * @property {string | string[]} alias - Alias(es) for the include_github_version_badge option.\n * @property {string} describe - Description for the include_github_version_badge option.\n * @property {boolean} parseValues - Specifies whether to parse values for the include_github_version_badge option.\n * @property {string} type - Type of the include_github_version_badge option.\n */\nargvOptions[ConfigKeys.IncludeGithubVersionBadge] = {\n alias: ['version-badge', 'versioning_badge', 'include_github_version_badge'],\n describe: 'Display the current version as a badge',\n parseValues: true,\n type: 'boolean',\n};\n\n/**\n * Title prefix option configuration.\n * @property {string | string[]} alias - Alias(es) for the title_prefix option.\n * @property {string} describe - Description for the title_prefix option.\n * @property {boolean} parseValues - Specifies whether to parse values for the title_prefix option.\n */\nargvOptions[ConfigKeys.TitlePrefix] = {\n alias: ['prefix', 'title_prefix'],\n describe: 'Add a prefix to the README title',\n parseValues: true,\n};\n\n/**\n * Debug Nconf option configuration.\n * @property {string} describe - Description for the debugNconf option.\n * @property {boolean} parseValues - Specifies whether to parse values for the debugNconf option.\n * @property {string} type - Type of the debugNconf option.\n */\nargvOptions[ConfigKeys.DebugNconf] = {\n alias: ['debug_nconf'],\n describe: 'Print out the resolved nconf object with all values',\n parseValues: true,\n type: 'boolean',\n};\n\n/**\n * Debug Config option configuration.\n * @property {string} describe - Description for the debugConfig option.\n * @property {boolean} parseValues - Specifies whether to parse values for the debugConfig option.\n * @property {string} type - Type of the debugConfig option.\n */\nargvOptions[ConfigKeys.DebugConfig] = {\n alias: ['debug_config'],\n describe: 'Print out the resolved nconf object with all values',\n parseValues: true,\n type: 'boolean',\n};\n\n/**\n * Configuration inputs from the github action don't\n * all match the input names when running on cli.\n * This maps the action inputs to the cli.\n */\nconst ConfigKeysInputsMap: Record<string, string> = {\n save: ConfigKeys.Save,\n action: ConfigKeys.pathsAction,\n readme: ConfigKeys.pathsReadme,\n branding_svg_path: ConfigKeys.BrandingSvgPath,\n branding_as_title_prefix: ConfigKeys.BrandingAsTitlePrefix,\n versioning_enabled: ConfigKeys.VersioningEnabled,\n version_prefix: ConfigKeys.VersioningPrefix,\n versioning_default_branch: ConfigKeys.VersioningBranch,\n version_override: ConfigKeys.VersioningOverride,\n version_source: ConfigKeys.VersioningSource,\n include_github_version_badge: ConfigKeys.IncludeGithubVersionBadge,\n owner: ConfigKeys.Owner,\n repo: ConfigKeys.Repo,\n title_prefix: ConfigKeys.TitlePrefix,\n pretty: ConfigKeys.Prettier,\n};\n\n/**\n * Interface for key/value pair object\n */\ntype KVPairType = {\n key: string;\n value: string | undefined;\n};\n\n/**\n * Type alias for Provider instance\n */\ntype ProviderInstance = InstanceType<typeof Provider>;\n\nexport function transformGitHubInputsToArgv(\n log: LogTask,\n _config: ProviderInstance,\n obj: KVPairType,\n): undefined | KVPairType {\n /** The obj.key is always in lowercase, but it checks for it without case sensitivity */\n if (/^(INPUT|input)_[A-Z_a-z]\\w*$/.test(obj.key)) {\n log.debug(`Parsing input: ${obj.key} with ith value: ${obj.value}`);\n const keyParsed = obj.key.replace(/^(INPUT|input)_/, '').toLocaleLowerCase();\n const key = ConfigKeysInputsMap[keyParsed] || keyParsed;\n\n // Skip empty values for owner/repo to allow fallback detection from .git/config or GITHUB_REPOSITORY\n if ((key === 'owner' || key === 'repo') && (!obj.value || obj.value === '')) {\n log.debug(`Ignoring empty ${key} input to allow auto-detection`);\n return undefined;\n }\n\n log.debug(`New input is ${key} with the value ${obj.value}`);\n return { key, value: obj.value };\n }\n log.debug(`Ignoring input: ${obj.key} with ith value: ${obj.value}`);\n return undefined;\n}\n\n/**\n * Sets config value from action file default\n *\n * @param {Action} actionInstance - The action instance\n * @param {string} inputName - The input name\n * @returns {string | boolean | undefined} The default value\n */\nexport function setConfigValueFromActionFileDefault(\n log: LogTask,\n actionInstance: Action,\n inputName: string,\n): string | boolean | undefined {\n if (ConfigKeysInputsMap[inputName] === undefined) {\n log.error(\n `${inputName} from ${\n actionInstance.path\n } does not match a known input. Known inputs are: ${Object.keys(ConfigKeysInputsMap)}`,\n );\n return;\n }\n\n const configName = ConfigKeysInputsMap[inputName];\n const defaultValue = actionInstance.inputDefault(inputName);\n\n log.debug(`Default Value for action.yml: ${inputName} CLI: ${configName} = ${defaultValue}`);\n\n return defaultValue;\n}\n\n/**\n * Collects all default values from action file\n *\n * @returns {IOptions} The default values object\n */\nexport function collectAllDefaultValuesFromAction(\n log: LogTask,\n providedMetaActionPath?: string,\n providedDefaults: {\n [key: string]: Input;\n } = {},\n): IOptions {\n log.debug('Collecting default values from action.yml');\n // This loads the defaults from THIS action's own action.yml file (github-action-readme-generator's action.yml)\n // NOT the user's action.yml file (which is loaded separately via the 'action' input parameter)\n // Therefore, we use import.meta.dirname to find this package's action.yml regardless of where it's installed\n const thisActionPath = path.join(import.meta.dirname, providedMetaActionPath ?? metaActionPath);\n try {\n const defaultValues = {} as IOptions;\n const thisAction = new Action(thisActionPath);\n const defaults: {\n [key: string]: Input;\n } = { ...thisAction.inputs, ...providedDefaults };\n // Collect all of the default values from the action.yml file\n if (defaults) {\n for (const key of Object.keys(defaults)) {\n const mappedKey = ConfigKeysInputsMap[key] ?? key;\n defaultValues[mappedKey] = setConfigValueFromActionFileDefault(log, thisAction, key);\n }\n }\n log.debug(JSON.stringify(defaultValues, null, 2));\n return defaultValues;\n } catch (error) {\n // When running as a CLI tool (e.g., via npx or yarn dlx), the tool's own action.yml\n // may not be present in the node_modules. This is expected behavior, as the tool\n // should still work to generate documentation for other actions.\n log.debug(`Could not load defaults from this tool's action.yml at ${thisActionPath}: ${error}`);\n log.debug('Continuing without default values from action.yml');\n return {} as IOptions;\n }\n}\n\n/**\n * Loads the configuration\n *\n * @returns {ProviderInstance} The configuration instance\n */\nexport function loadConfig(\n log: LogTask,\n providedConfig?: ProviderInstance,\n configFilePath?: string,\n): ProviderInstance {\n log.debug('Loading config from env and argv');\n const config = providedConfig ?? new Provider();\n if (process.env.GITHUB_ACTION === 'true') {\n log.info('Running in GitHub action');\n }\n if (configFilePath) {\n if (fs.existsSync(configFilePath)) {\n log.info(`Config file found: ${configFilePath}`);\n config.file(configFilePath);\n } else {\n log.debug(`Config file not found: ${configFilePath}`);\n }\n }\n\n config\n .env({\n lowerCase: true,\n parseValues: true,\n transform: (obj: KVPairType): undefined | KVPairType => {\n return transformGitHubInputsToArgv(log, config, obj);\n },\n })\n .argv(argvOptions);\n\n return config;\n}\n\n/**\n * Loads the default configuration\n *\n * @param {ProviderInstance} config - The config instance\n * @returns {ProviderInstance} The updated config instance\n */\nexport function loadDefaultConfig(\n log: LogTask,\n config: ProviderInstance,\n providedContext?: Context,\n): ProviderInstance {\n log.debug('Loading default config');\n const defaultValues = collectAllDefaultValuesFromAction(log);\n const context = providedContext ?? new Context();\n\n // Get owner/repo from config (which includes CLI args), falling back to env vars for GitHub Actions\n const ownerFromConfig = config.get('owner') as string | undefined;\n const repoFromConfig = config.get('repo') as string | undefined;\n const ownerInput = ownerFromConfig ?? process.env.INPUT_OWNER ?? '';\n const repoInput = repoFromConfig ?? process.env.INPUT_REPO ?? '';\n\n // Get the action path to derive the target repo directory for .git/config lookup\n const actionPath = config.get(ConfigKeys.pathsAction) as string | undefined;\n const actionDir = actionPath ? path.dirname(path.resolve(actionPath)) : undefined;\n log.debug(`Action directory for repository detection: ${actionDir ?? 'not specified'}`);\n\n const repositoryDetail = repositoryFinder(`${ownerInput}/${repoInput}`, context, actionDir);\n log.debug(`repositoryDetail: ${repositoryDetail}`);\n // Apply the default values from the action.yml file\n return config.defaults({\n ...defaultValues,\n owner: repositoryDetail?.owner,\n repo: repositoryDetail?.repo,\n sections: [...README_SECTIONS] as ReadmeSection[],\n });\n}\n\n/**\n * Represents the required inputs for the action.\n */\nconst RequiredInputs = [\n ConfigKeys.pathsAction,\n ConfigKeys.pathsReadme,\n ConfigKeys.Owner,\n ConfigKeys.Repo,\n] as const;\n\n/**\n * Loads the required configuration\n *\n * @param {ProviderInstance} config - The config instance\n * @returns {ProviderInstance} The updated config instance\n */\nexport function loadRequiredConfig(\n log: LogTask,\n config: ProviderInstance,\n requiredInputs: readonly string[] = RequiredInputs,\n): ProviderInstance {\n log.debug('Loading required config');\n\n return config.required([...requiredInputs]);\n}\n\n/**\n *\n */\nexport function loadAction(log: LogTask, actionPath: string): Action {\n log.debug(`Loading action from: ${actionPath}`);\n if (actionPath) {\n return new Action(path.resolve(actionPath));\n }\n throw new Error(`Action path not found: ${actionPath}`);\n}\n\nexport type InputContext = {\n /**\n * The configuration instance\n */\n config?: ProviderInstance;\n\n /**\n * The readme sections\n */\n sections?: ReadmeSection[];\n\n /**\n * The readme file path\n */\n readmePath?: string;\n\n /**\n * The config file path\n */\n configPath?: string;\n\n /**\n * The action instance\n */\n action?: Action;\n\n /**\n * The readme editor instance\n */\n readmeEditor?: ReadmeEditor;\n\n /**\n * The repository owner\n */\n owner?: string;\n\n /**\n * The repository name\n */\n repo?: string;\n};\n/**\n * Main Inputs class that handles configuration\n */\nexport default class Inputs {\n /**\n * The configuration instance\n */\n config: ProviderInstance;\n\n /**\n * The readme sections\n */\n sections: ReadmeSection[];\n\n /**\n * The readme file path\n */\n readmePath: string;\n\n /**\n * The config file path\n */\n configPath: string;\n\n /**\n * The action instance\n */\n action: Action;\n\n /**\n * The readme editor instance\n */\n readmeEditor: ReadmeEditor;\n\n /**\n * The repository owner\n */\n owner: string;\n\n /**\n * The repository name\n */\n repo: string;\n\n /** The logger for this instance */\n log: LogTask;\n\n /**\n * Initializes a new instance of the Inputs class.\n */\n constructor(providedInputContext: InputContext = {}, log: LogTask = new LogTask('inputs')) {\n this.log = log ?? new LogTask('inputs');\n this.log.debug('Initializing Inputs');\n const inputContext = providedInputContext ?? {};\n this.configPath = inputContext.configPath ?? path.resolve(configFileName);\n this.config = inputContext.config ?? new Provider();\n loadConfig(log, this.config, this.configPath);\n loadDefaultConfig(log, this.config);\n loadRequiredConfig(log, this.config);\n\n this.action = inputContext.action ?? loadAction(log, this.config.get(ConfigKeys.pathsAction));\n this.config.set(\n 'sections',\n inputContext.sections ?? (this.config.get('sections') as ReadmeSection[]),\n );\n this.sections = this.config.get('sections') as ReadmeSection[];\n this.readmePath =\n inputContext.readmePath ?? path.resolve(this.config.get(ConfigKeys.pathsReadme) as string);\n this.readmeEditor = inputContext.readmeEditor ?? new ReadmeEditor(this.readmePath);\n /**\n * Output the readme path that is being parsed\n */\n if (process.env.GITHUB_ACTIONS) {\n core.setOutput('readme', this.readmePath);\n }\n /**\n * owner is required, and if it doesn't exist it is handled by nconf which throws an error\n */\n this.owner = inputContext.owner ?? this.config.get('owner');\n\n /**\n * repo is required, and if it doesn't exist it is handled by nconf which throws an error\n */\n this.repo = inputContext.repo ?? this.config.get('repo');\n }\n\n stringify(): string {\n if (this?.config) {\n try {\n return YAML.stringify(this.config.get());\n } catch (error) {\n this.log.error(`${error}`);\n // continue\n }\n }\n // this is just for debug, no need to stop the process if it fails\n return '';\n }\n}\n"]}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -136,6 +136,18 @@ declare module "src/constants" {
|
|
|
136
136
|
/**
|
|
137
137
|
* Enumerates the keys for the configuration options.
|
|
138
138
|
*/
|
|
139
|
+
/**
|
|
140
|
+
* Valid version source options for determining action version.
|
|
141
|
+
*/
|
|
142
|
+
export const VERSION_SOURCES: readonly ["git-tag", "git-branch", "git-sha", "package-json", "explicit"];
|
|
143
|
+
/**
|
|
144
|
+
* Type for version source options.
|
|
145
|
+
*/
|
|
146
|
+
export type VersionSource = (typeof VERSION_SOURCES)[number];
|
|
147
|
+
/**
|
|
148
|
+
* Checks if the given value is a valid version source.
|
|
149
|
+
*/
|
|
150
|
+
export function isValidVersionSource(value: string): value is VersionSource;
|
|
139
151
|
export enum ConfigKeys {
|
|
140
152
|
Owner = "owner",
|
|
141
153
|
Repo = "repo",
|
|
@@ -150,6 +162,7 @@ declare module "src/constants" {
|
|
|
150
162
|
VersioningOverride = "versioning:override",
|
|
151
163
|
VersioningPrefix = "versioning:prefix",
|
|
152
164
|
VersioningBranch = "versioning:branch",
|
|
165
|
+
VersioningSource = "versioning:source",
|
|
153
166
|
IncludeGithubVersionBadge = "versioning:badge",
|
|
154
167
|
DebugNconf = "debug:nconf",
|
|
155
168
|
DebugReadme = "debug:readme",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "github-action-readme-generator",
|
|
3
3
|
"displayName": "bitflight-devops/github-action-readme-generator",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.10.0",
|
|
5
5
|
"description": "The docs generator for GitHub Actions. Auto-syncs action.yml to README.md with 8 sections: inputs, outputs, usage, badges, branding & more. Works as CLI or GitHub Action.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"github-actions",
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
"@commitlint/config-conventional": "^20.3.1",
|
|
164
164
|
"@commitlint/prompt": "^20.3.1",
|
|
165
165
|
"@semantic-release/changelog": "^6.0.3",
|
|
166
|
-
"@semantic-release/exec": "^
|
|
166
|
+
"@semantic-release/exec": "^7.1.0",
|
|
167
167
|
"@semantic-release/git": "^10.0.1",
|
|
168
168
|
"@tsconfig/node20": "^20.1.2",
|
|
169
169
|
"@types/nconf": "^0.10.5",
|