{"id":21831389,"url":"https://github.com/nodef/extra-build","last_synced_at":"2026-02-28T04:35:12.116Z","repository":{"id":45803493,"uuid":"254083559","full_name":"nodef/extra-build","owner":"nodef","description":"Common build tools for extra-* packages.","archived":false,"fork":false,"pushed_at":"2025-04-09T09:40:58.000Z","size":696,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-08T21:27:55.419Z","etag":null,"topics":["add-banner","build","bundle-options","bundle-script","docs-child-count","docs-description","docs-details","document","exec-options","extra","git-commit-push-options","git-setup-branch-options","github-repo-details","github-url-details","jsdoc-token","markdown-options","on-docs-details","on-jsdoc-token","webify-options"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/extra-build","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nodef.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-04-08T12:38:01.000Z","updated_at":"2025-04-09T09:41:01.000Z","dependencies_parsed_at":"2024-06-19T17:35:37.532Z","dependency_job_id":"09de7453-1999-460d-8fd9-2f56c1ffefb4","html_url":"https://github.com/nodef/extra-build","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/nodef/extra-build","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fextra-build","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fextra-build/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fextra-build/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fextra-build/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nodef","download_url":"https://codeload.github.com/nodef/extra-build/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodef%2Fextra-build/sbom","scorecard":{"id":692405,"data":{"date":"2025-08-11","repo":{"name":"github.com/nodef/extra-build","commit":"f197a64e49766db831c30b081f75026c1b30d58f"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.6,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Pinned-Dependencies","score":4,"reason":"dependency not pinned by hash detected -- score normalized to 4","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/nodef/extra-build/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/nodef/extra-build/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/nodef/extra-build/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/nodef/extra-build/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/nodef/extra-build/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/nodef/extra-build/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/nodef/extra-build/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:76: update your workflow using https://app.stepsecurity.io/secureworkflow/nodef/extra-build/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/nodef/extra-build/pr.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/nodef/extra-build/pr.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:63","Warn: npmCommand not pinned by hash: .github/workflows/ci.yml:80","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   4 out of   6 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/pr.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T02:35:47.113Z","repository_id":45803493,"created_at":"2025-08-22T02:35:47.113Z","updated_at":"2025-08-22T02:35:47.113Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29924754,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"online","status_checked_at":"2026-02-28T02:00:07.010Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["add-banner","build","bundle-options","bundle-script","docs-child-count","docs-description","docs-details","document","exec-options","extra","git-commit-push-options","git-setup-branch-options","github-repo-details","github-url-details","jsdoc-token","markdown-options","on-docs-details","on-jsdoc-token","webify-options"],"created_at":"2024-11-27T19:10:07.976Z","updated_at":"2026-02-28T04:35:12.074Z","avatar_url":"https://github.com/nodef.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Common build tools for extra-* packages.\u003cbr\u003e\n📦 [Node.js](https://www.npmjs.com/package/extra-build),\n📜 [Files](https://unpkg.com/extra-build/),\n📰 [Docs](https://nodef.github.io/extra-build/).\n\n**Why** do packages need to be **built**? For [TypeScript]-based source\nlibraries (such as this) our main priority is to **generate JavaScript file(s)**\nwhich can be imported from the runtime ([Node.js]), and **publish** them to a\n**package registry** such as [NPM]. In addition we might like to generate\nassociated [type declarations] (`.d.ts` file), which is one of the reasons\nbehind choosing to write in TypeScript. We might also like to **bundle** all\nscripts (and type declarations) into a single file to help reduce package size,\ndependencies, or eliminate unused code.\n\n**Documentation** plays a key role in reducing the amount of time spent on\n[Stack Overflow], and thus must be maintained at all costs. Instead of manually\nupdating it, most developers choose to **generate** this from **documentation**\n**comments** in the code. An `Index` can be added to the `README` file that\n**links to documention**. Thus we have a new build step. In addition, we might\nlike to **update package metadata** (in `package.json` or *GitHub repo*), build\nsource files for **another platform** (such as the *web*), **update package**\n**version** automatically, **generate wiki files** (for code examples), or\n**publish** to [GitHub packages].\n\nThis package provides utility functions for all of these operations, and more.\nThe previous version of this package provided a [CLI] for all of these\noperations, but was inflexible in its design (it could only be used when the\nsource code was arranged is a very specific way). This redesigned version\nprovides a **JavaScipt API** instead that allows for **significant**\n**customization**, in addition to providing a number of helper functions commonly\nused in build steps. Build steps can be written in a script file, say\n`build.js`, and executed on a *CI system* such as [GitHub Actions] using\n`.github/workflows/*.yml`.\n\nStandalone **symbol name** of a package, such as `@package/submodule`, can be\nobtained with [symbolname] (i.e., `package_submodule`). This is necessary when\n*webifying* (making it accessible with a `script` tag) a package. **Keyword**\n**name** for an identifier can be procured with [keywordname], which can then be\nused to set the *keywords of a package* in the *metadata file* `package.json`.\n\n**Logging** of *error*, *warning*, *log*, and *info* messages with *colors* is\nprovided with [error], [warn], [log], and [info] respectively. A *shell command*\ncan be executed (displaying the command and its output) with [exec]. The\n*output* of a command can be obtained as a `string` with [execStr].\nReading/writing of *text/JSON* files is possible with convenience methods\n[readFileText], [writeFileText], [readJson], and [writeJson]. To save the\n*status* and *contents* of a file (*without* having to do any *existence check*)\nis possible with [readDocument] and [writeDocument]. They are useful when it is\nrequired to update a file *temporarily* and *restore* it later (if it exists, or\nremove if it did not exist).\n\nHelper `git` commands for *commit+push*, and setting up a *new branch* and\n*pushing* *to remote* (for `gh-pages`) is available as [gitCommitPush] and\n[gitSetupBranch]. A JavaScript file can be *bundled* (to a single file) with\n[bundleScript], and *webified* (for access on the web) with [webifyScript]. A\n*banner* can be added to the generated script with [addBanner]. To parse a\n*GitHub URL* (for example from the `repository.url` field in `package.json`)\n[parseGithubUrl] can be used. *GitHub repository* *details* can be updated (by\ndefault from `package.json`) with [updateGithubRepoDetails].\n\nThe *metadata file* of a package (`package.json`) can be read/written with\n[readMetadata] and [writeMetadata] respectively. The *current registry* being\nused for publishing to *NPM* (in `.npmrc` file) can be obtained with [registry],\nand modified with [setRegistry]. The *latest version* of a package can be\nobtained with [latestVersion], and the *next unpublished version* (based on the\nlatest package version, and the `version` mentioned in `package.json`) can be\nobtained with [nextUnpublishedVersion].\n\n**JsDoc** for a package can be *generated* with [generateDocs], and published\nwith [publishDocs]. **Reflection information** of *docs* can be obtained from\nthe *source file* (through `typedoc`) with [loadDocs]. This can then used to\nobtain detailed information on *exported* *symbols* using [docsName],\n[docsLocation], [docsFlags], [docsKind], [docsChildCount], [docsParameterCount],\n[docsSignatureCount], [docsType], [docsDescription], and [docsReturns]. For\n*reference symbols*, the *referred to* *symbol* (which has all the type\ninformation) can be obtained with [docsRefer]. *Simplified details* of a\n*reflection (symbol)* can be obtained with [docsDetails] and [docsReferDetails]\n(get details of *referred to symbol*).\n\n*Reference code block* for `wiki` can be generated with [wikiCodeReference],\n*example code block* can be generated with [wikiCodeExample], and *full*\n*markdown text* can be generated with [wikiMarkdown]. The *\"Index\"* table of\n`wiki` or `README.md` can be updated (using *simplified details of exported*\n*symbols*) with [wikiUpdateIndex], and *link references* (named links in\nmarkdown) can be updated with [wikiUpdateLinkReferences]. Finally a package can\nbe published to *NPM* with [publish], and to *GitHub* with [publishGithub].\n\nBehind the dial, these are the gears that make this package tick. TypeScript is\ncompiled with [tsc], bundled with [rollup], webified with [browserify] and\n[terser]. Documentation is generated with [typedoc], which is also used to\nobtain `DocsDetails` in order to update index table in `README` using\n[extra-markdown-text], generate wiki files, and update package metadata locally\nand on *GitHub* repo using [@octokit/rest]. Updating of package versions is\nachieved with [npm view] and [semver]. To spice up the console with colors,\n[kleur] is used.\n\nThe **goals** for the future include generating example file for [RunKit],\nlinking wiki from JsDoc, and duplicating example code from wiki to JsDoc. Did\nyou find a bug? Or have a feature request?\n\n\u003e Stability: [Experimental](https://www.youtube.com/watch?v=L1j93RnIxEo).\n\n[Node.js]: https://nodejs.org/en/\n[NPM]: https://www.npmjs.com\n[CLI]: https://en.wikipedia.org/wiki/Command-line_interface\n[TypeScript]: https://www.typescriptlang.org\n[type declarations]: https://www.typescriptlang.org/docs/handbook/2/type-declarations.html\n[Stack Overflow]: https://stackoverflow.com\n[GitHub packages]: https://github.com/features/packages\n[GitHub Actions]: https://github.com/features/actions\n[tsc]: https://www.npmjs.com/package/typescript\n[rollup]: https://www.npmjs.com/package/rollup\n[browserify]: https://www.npmjs.com/package/browserify\n[terser]: https://www.npmjs.com/package/terser\n[typedoc]: https://www.npmjs.com/package/typedoc\n[extra-markdown-text]: https://www.npmjs.com/package/extra-markdown-text\n[@octokit/rest]: https://www.npmjs.com/package/@octokit/rest\n[npm view]: https://docs.npmjs.com/cli/v7/commands/npm-view\n[semver]: https://www.npmjs.com/package/semver\n[kleur]: https://www.npmjs.com/package/kleur\n[RunKit]: https://runkit.com/home\n\n\u003cbr\u003e\n\n```javascript\nconst xbuild = require('extra-build');\n\n\n// 1. Set version and publish package.\nvar m = xbuild.readMetadata('.');\n// → {name, version, description, ...}\nm.version = '2.0.0';\nxbuild.writeMetadata('.', m);\nxbuild.publish('.');\nxbuild.publishGithub('.', 'owner');\n\n\n// 2. Publish next version, update github details.\nvar m   = xbuild.readMetadata('.');\nvar ver = xbuild.nextUnpublishedVersion(m.name, m.version);\nm.version = ver;\nxbuild.writeMetadata('.', m);\nxbuild.publish('.');\nxbuild.publishGithub('.', 'owner');\nxbuild.updateGithubRepoDetails();\n\n\n// 3. Update keywords for package.\nvar m  = xbuild.readMetadata('.');\nvar p  = xbuild.loadDocs(['src/index.ts']);\nvar ds = p.children.map(xbuild.docsDetails);\nvar s = new Set([...m.keywords, ...ds.map(d =\u003e d.name)]);\nm.keywords = Array.from(s);\nxbuild.writeMetadata('.', m);\n\n\n// 4. Restore package.json after publishing with updated version.\nvar _package = xbuild.readDocument('package.json');\nvar m = xbuild.readMetadata('.');\nm.version = '2.0.0';\nxbuild.writeMetadata('.', m);\nxbuild.publish('.');\nxbuild.writeDocument(_package);\n\n\n// 5. Update README index table.\nvar owner = 'owner', repo = 'repo';\nvar p  = xbuild.loadDocs(['src/index.ts']);\nvar ds = p.children.map(xbuild.docsDetails);\nvar re = /namespace|function/i;\nvar dm = new Map(ds.map(d =\u003e [d.name, d]));\nvar txt = xbuild.readFileText('README.md');\ntxt = xbuild.wikiUpdateIndex(txt, dm, d =\u003e re.test(d.kind));\ntxt = xbuild.wikiUpdateLinkReferences(txt, dm, {owner, repo});\nxbuild.writeFileText('README.md', txt);\n```\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n\n## Index\n\n| Property | Description |\n|  ----  |  ----  |\n| [symbolname] | Get symbol name for file. |\n| [keywordname] | Get keyword name for file. |\n|  |  |\n| [error] | Print error message to stderr with newline. |\n| [warn] | Print warning message to stderr with newline. |\n| [log] | Print log message to stdout with newline. |\n| [info] | Print info message to stdout with newline. |\n|  |  |\n| [exec] | Execute command with output, and print the command. |\n| [execStr] | Execute command and get its output as string. |\n|  |  |\n| [readFileText] | Read file text with Unix EOL. |\n| [writeFileText] | Write file text with system EOL. |\n| [readJson] | Read JSON file as object. |\n| [writeJson] | Write object to JSON file. |\n| [readDocument] | Read document. |\n| [writeDocument] | Write document. |\n|  |  |\n| [gitCommitPush] | Commit new changes and push to remote. |\n| [gitSetupBranch] | Setup new branch and push to remote. |\n|  |  |\n| [addBanner] | Add banner (header comment) to script text. |\n| [bundleScript] | Bundle a script file with config. |\n| [webifyScript] | Webify a script file. |\n| [jsdocifyScript] | Transform JSDocs in a script file. |\n|  |  |\n| [parseGithubUrl] | Get details from GitHub URL. |\n| [updateGithubRepoDetails] | Update GitHub repository details. |\n|  |  |\n| [readMetadata] | Read package.json data. |\n| [writeMetadata] | Write package.json data. |\n| [registry] | Get current registry. |\n| [setRegistry] | Set current registry. |\n| [latestVersion] | Get latest package version. |\n| [nextUnpublishedVersion] | Get next unpublished version for package. |\n|  |  |\n| [publish] | Publish package to NPM. |\n| [publishGithub] | Publish package to GitHub. |\n|  |  |\n| [generateDocs] | Generate docs using typedoc. |\n| [publishDocs] | Publish docs to gh-pages. |\n|  |  |\n| [docsRefer] | Get the reflection that is referred to. |\n| [docsName] | Get name of a reflection. |\n| [docsLocation] | Get location of reflection. |\n| [docsFlags] | Get flags of a reflection. |\n| [docsKind] | Get kind name of a reflection. |\n| [docsChildCount] | Get child count of a reflection. |\n| [docsParameterCount] | Get parameter count of a reflection (function). |\n| [docsSignatureCount] | Get signature count of a reflection. |\n| [docsType] | Get type name of a reflection. |\n| [docsDescription] | Get description of a reflection. |\n| [docsReturns] | Get returns description of a reflection (function). |\n| [docsDetails] | Get details of a reflection. |\n| [docsReferDetails] | Get details of a reflection, referring the necessary details. |\n| [loadDocs] | Load docs from source file. |\n|  |  |\n| [wikiCodeReference] | Generate reference code block for wiki. |\n| [wikiCodeExample] | Generate example code block for wiki. |\n| [wikiMarkdown] | Generate markdown text for wiki. |\n| [wikiUpdateIndex] | Update the \"Index\" (property, description) table in markdown text. |\n| [wikiUpdateLinkReferences] | Update link references in markdown text. |\n| [wikiUpdateDescription] | Update description in markdown text. |\n| [wikiUpdateCodeReference] | Update code reference in markdown text. |\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n[![](https://img.youtube.com/vi/BCxhQpS5fQ0/maxresdefault.jpg)](https://www.youtube.com/watch?v=BCxhQpS5fQ0)\n[![ORG](https://img.shields.io/badge/org-nodef-green?logo=Org)](https://nodef.github.io)\n[![DOI](https://zenodo.org/badge/254083559.svg)](https://zenodo.org/badge/latestdoi/254083559)\n![](https://ga-beacon.deno.dev/G-RC63DPBH3P:SH3Eq-NoQ9mwgYeHWxu7cw/github.com/nodef/extra-build)\n\n[symbolname]: https://nodef.github.io/extra-build/functions/symbolname.html\n[keywordname]: https://nodef.github.io/extra-build/functions/keywordname.html\n[error]: https://nodef.github.io/extra-build/functions/error.html\n[warn]: https://nodef.github.io/extra-build/functions/warn.html\n[log]: https://nodef.github.io/extra-build/functions/log.html\n[info]: https://nodef.github.io/extra-build/functions/info.html\n[exec]: https://nodef.github.io/extra-build/functions/exec.html\n[execStr]: https://nodef.github.io/extra-build/functions/execStr.html\n[readFileText]: https://nodef.github.io/extra-build/functions/readFileText.html\n[writeFileText]: https://nodef.github.io/extra-build/functions/writeFileText.html\n[readJson]: https://nodef.github.io/extra-build/functions/readJson.html\n[writeJson]: https://nodef.github.io/extra-build/functions/writeJson.html\n[readDocument]: https://nodef.github.io/extra-build/functions/readDocument.html\n[writeDocument]: https://nodef.github.io/extra-build/functions/writeDocument.html\n[gitCommitPush]: https://nodef.github.io/extra-build/functions/gitCommitPush.html\n[gitSetupBranch]: https://nodef.github.io/extra-build/functions/gitSetupBranch.html\n[addBanner]: https://nodef.github.io/extra-build/functions/addBanner.html\n[bundleScript]: https://nodef.github.io/extra-build/functions/bundleScript.html\n[webifyScript]: https://nodef.github.io/extra-build/functions/webifyScript.html\n[jsdocifyScript]: https://nodef.github.io/extra-build/functions/jsdocifyScript.html\n[parseGithubUrl]: https://nodef.github.io/extra-build/functions/parseGithubUrl.html\n[updateGithubRepoDetails]: https://nodef.github.io/extra-build/functions/updateGithubRepoDetails.html\n[readMetadata]: https://nodef.github.io/extra-build/functions/readMetadata.html\n[writeMetadata]: https://nodef.github.io/extra-build/functions/writeMetadata.html\n[registry]: https://nodef.github.io/extra-build/functions/registry.html\n[setRegistry]: https://nodef.github.io/extra-build/functions/setRegistry.html\n[latestVersion]: https://nodef.github.io/extra-build/functions/latestVersion.html\n[nextUnpublishedVersion]: https://nodef.github.io/extra-build/functions/nextUnpublishedVersion.html\n[publish]: https://nodef.github.io/extra-build/functions/publish.html\n[publishGithub]: https://nodef.github.io/extra-build/functions/publishGithub.html\n[generateDocs]: https://nodef.github.io/extra-build/functions/generateDocs.html\n[publishDocs]: https://nodef.github.io/extra-build/functions/publishDocs.html\n[docsRefer]: https://nodef.github.io/extra-build/functions/docsRefer.html\n[docsName]: https://nodef.github.io/extra-build/functions/docsName.html\n[docsLocation]: https://nodef.github.io/extra-build/functions/docsLocation.html\n[docsFlags]: https://nodef.github.io/extra-build/functions/docsFlags.html\n[docsKind]: https://nodef.github.io/extra-build/functions/docsKind.html\n[docsChildCount]: https://nodef.github.io/extra-build/functions/docsChildCount.html\n[docsParameterCount]: https://nodef.github.io/extra-build/functions/docsParameterCount.html\n[docsSignatureCount]: https://nodef.github.io/extra-build/functions/docsSignatureCount.html\n[docsType]: https://nodef.github.io/extra-build/functions/docsType.html\n[docsDescription]: https://nodef.github.io/extra-build/functions/docsDescription.html\n[docsReturns]: https://nodef.github.io/extra-build/functions/docsReturns.html\n[docsDetails]: https://nodef.github.io/extra-build/functions/docsDetails.html\n[docsReferDetails]: https://nodef.github.io/extra-build/functions/docsReferDetails.html\n[loadDocs]: https://nodef.github.io/extra-build/functions/loadDocs.html\n[wikiCodeReference]: https://nodef.github.io/extra-build/functions/wikiCodeReference.html\n[wikiCodeExample]: https://nodef.github.io/extra-build/functions/wikiCodeExample.html\n[wikiMarkdown]: https://nodef.github.io/extra-build/functions/wikiMarkdown.html\n[wikiUpdateIndex]: https://nodef.github.io/extra-build/functions/wikiUpdateIndex.html\n[wikiUpdateLinkReferences]: https://nodef.github.io/extra-build/functions/wikiUpdateLinkReferences.html\n[wikiUpdateDescription]: https://nodef.github.io/extra-build/functions/wikiUpdateDescription.html\n[wikiUpdateCodeReference]: https://nodef.github.io/extra-build/functions/wikiUpdateCodeReference.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodef%2Fextra-build","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnodef%2Fextra-build","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodef%2Fextra-build/lists"}