From 5563de2b4317f93839f24036fcfa71879d0899f2 Mon Sep 17 00:00:00 2001 From: Ryan Davis Date: Mon, 3 Jun 2024 10:56:53 -0400 Subject: [PATCH 1/3] rename package to match existing NPM org Our npm organization is `nginx`, not `nginxinc`, renames across the board and a few incidental `devDependencies` updates. --- examples/autocomplete/highlight.ts | 2 +- examples/autocomplete/index.ts | 2 +- examples/autocomplete/package-lock.json | 10 +++++----- examples/autocomplete/package.json | 2 +- examples/ref-browser/package-lock.json | 10 +++++----- examples/ref-browser/package.json | 2 +- examples/ref-browser/src/Description.tsx | 2 +- examples/ref-browser/src/Directive.tsx | 2 +- examples/ref-browser/src/Tree.tsx | 2 +- reference-lib/README.md | 6 +++--- reference-lib/package-lock.json | 4 ++-- reference-lib/package.json | 2 +- 12 files changed, 23 insertions(+), 23 deletions(-) diff --git a/examples/autocomplete/highlight.ts b/examples/autocomplete/highlight.ts index 851602e..cc63270 100644 --- a/examples/autocomplete/highlight.ts +++ b/examples/autocomplete/highlight.ts @@ -1,4 +1,4 @@ -import { getDirectives, Directive } from '@nginxinc/reference-lib' +import { getDirectives, Directive } from '@nginx/reference-lib' /** kinds of tokens used for highlighting */ type token = diff --git a/examples/autocomplete/index.ts b/examples/autocomplete/index.ts index b0dc73e..34259d7 100644 --- a/examples/autocomplete/index.ts +++ b/examples/autocomplete/index.ts @@ -1,4 +1,4 @@ -import { getDirectives, Format, Directive } from '@nginxinc/reference-lib' +import { getDirectives, Format, Directive } from '@nginx/reference-lib' type autocomplete = { /** name of the NGINX module */ m: string diff --git a/examples/autocomplete/package-lock.json b/examples/autocomplete/package-lock.json index ed53330..3b94167 100644 --- a/examples/autocomplete/package-lock.json +++ b/examples/autocomplete/package-lock.json @@ -8,22 +8,22 @@ "name": "autocomplete", "version": "0.0.0", "dependencies": { - "@nginxinc/reference-lib": "file:../../reference-lib", + "@nginx/reference-lib": "file:../../reference-lib", "@types/node": "^20.14.0", "ts-node": "^10.9.2", "typescript": "^5.4.5" } }, "../../reference-lib": { - "name": "@nginxinc/reference-lib", + "name": "@nginx/reference-lib", "version": "1.0.14", "devDependencies": { "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-typescript": "^11.1.6", "@types/jest": "^29.5.12", "jest": "^29.7.0", - "rollup": "^4.17.2", - "ts-jest": "^29.1.2" + "rollup": "^4.18.0", + "ts-jest": "^29.1.4" } }, "node_modules/@cspotcode/source-map-support": { @@ -59,7 +59,7 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@nginxinc/reference-lib": { + "node_modules/@nginx/reference-lib": { "resolved": "../../reference-lib", "link": true }, diff --git a/examples/autocomplete/package.json b/examples/autocomplete/package.json index e4cc6f9..1783bc5 100644 --- a/examples/autocomplete/package.json +++ b/examples/autocomplete/package.json @@ -9,7 +9,7 @@ "highlight": "mkdir -p dist && node --loader=ts-node/esm highlight.ts > dist/highlight.ts" }, "dependencies": { - "@nginxinc/reference-lib": "file:../../reference-lib", + "@nginx/reference-lib": "file:../../reference-lib", "@types/node": "^20.14.0", "ts-node": "^10.9.2", "typescript": "^5.4.5" diff --git a/examples/ref-browser/package-lock.json b/examples/ref-browser/package-lock.json index b9436d4..da1400a 100644 --- a/examples/ref-browser/package-lock.json +++ b/examples/ref-browser/package-lock.json @@ -8,7 +8,7 @@ "name": "ref-browser", "version": "0.0.0", "dependencies": { - "@nginxinc/reference-lib": "file:../../reference-lib", + "@nginx/reference-lib": "file:../../reference-lib", "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^6.23.1" @@ -27,15 +27,15 @@ } }, "../../reference-lib": { - "name": "@nginxinc/reference-lib", + "name": "@nginx/reference-lib", "version": "1.0.14", "devDependencies": { "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-typescript": "^11.1.6", "@types/jest": "^29.5.12", "jest": "^29.7.0", - "rollup": "^4.17.2", - "ts-jest": "^29.1.2" + "rollup": "^4.18.0", + "ts-jest": "^29.1.4" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -925,7 +925,7 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@nginxinc/reference-lib": { + "node_modules/@nginx/reference-lib": { "resolved": "../../reference-lib", "link": true }, diff --git a/examples/ref-browser/package.json b/examples/ref-browser/package.json index 6a9f383..a76517d 100644 --- a/examples/ref-browser/package.json +++ b/examples/ref-browser/package.json @@ -10,7 +10,7 @@ "preview": "vite preview" }, "dependencies": { - "@nginxinc/reference-lib": "file:../../reference-lib", + "@nginx/reference-lib": "file:../../reference-lib", "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^6.23.1" diff --git a/examples/ref-browser/src/Description.tsx b/examples/ref-browser/src/Description.tsx index 379ec70..ba3c677 100644 --- a/examples/ref-browser/src/Description.tsx +++ b/examples/ref-browser/src/Description.tsx @@ -1,5 +1,5 @@ import { useState } from 'react' -import { Format, find } from '@nginxinc/reference-lib' +import { Format, find } from '@nginx/reference-lib' type DescriptionProps = { module: string diff --git a/examples/ref-browser/src/Directive.tsx b/examples/ref-browser/src/Directive.tsx index 82d3f0b..77279a6 100644 --- a/examples/ref-browser/src/Directive.tsx +++ b/examples/ref-browser/src/Directive.tsx @@ -1,4 +1,4 @@ -import { Format, getDirectives } from '@nginxinc/reference-lib' +import { Format, getDirectives } from '@nginx/reference-lib' import Description from './Description' type Dir = { diff --git a/examples/ref-browser/src/Tree.tsx b/examples/ref-browser/src/Tree.tsx index 119f7e6..464e3d9 100644 --- a/examples/ref-browser/src/Tree.tsx +++ b/examples/ref-browser/src/Tree.tsx @@ -1,5 +1,5 @@ 'use client' -import { getDirectives } from '@nginxinc/reference-lib' +import { getDirectives } from '@nginx/reference-lib' import { useCallback, useState } from 'react' import { SearchBox } from './SearchBox' import { Link } from 'react-router-dom' diff --git a/reference-lib/README.md b/reference-lib/README.md index daa1ee1..8621e88 100644 --- a/reference-lib/README.md +++ b/reference-lib/README.md @@ -11,18 +11,18 @@ NGINX directive reference in Markdown and HTML format ``` 3. Run ```bash -npm install --save @nginxinc/reference-lib@1.0.0 +npm install --save @nginx/reference-lib@1.0.0 ``` # Usage 1. find ```javascript -import { find, Format } from '@nginxinc/reference-lib' +import { find, Format } from '@nginx/reference-lib' const content = find('listen', undefined, Format.HTML) ``` 2. getDirectives ```javascript -import { getDirectives, Format } from '@nginxinc/reference-lib' +import { getDirectives, Format } from '@nginx/reference-lib' const directive = getDirectives(Format.HTML) ``` diff --git a/reference-lib/package-lock.json b/reference-lib/package-lock.json index d9f55ce..bb3e290 100644 --- a/reference-lib/package-lock.json +++ b/reference-lib/package-lock.json @@ -1,11 +1,11 @@ { - "name": "@nginxinc/reference-lib", + "name": "@nginx/reference-lib", "version": "1.0.14", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "@nginxinc/reference-lib", + "name": "@nginx/reference-lib", "version": "1.0.14", "devDependencies": { "@rollup/plugin-json": "^6.1.0", diff --git a/reference-lib/package.json b/reference-lib/package.json index 2809b91..06628ee 100644 --- a/reference-lib/package.json +++ b/reference-lib/package.json @@ -1,5 +1,5 @@ { - "name": "@nginxinc/reference-lib", + "name": "@nginx/reference-lib", "version": "1.0.14", "description": "", "main": "dist/index.js", From c09161252f91c2c44dc16bec7c0a98b06ab7dd9d Mon Sep 17 00:00:00 2001 From: Ryan Davis Date: Mon, 3 Jun 2024 11:39:38 -0400 Subject: [PATCH 2/3] fix rollup warning It wanted us to be explicit about our options instead of relying on the default values. --- reference-lib/rollup.config.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference-lib/rollup.config.mjs b/reference-lib/rollup.config.mjs index 49e1227..e9fdad3 100644 --- a/reference-lib/rollup.config.mjs +++ b/reference-lib/rollup.config.mjs @@ -6,5 +6,5 @@ export default { output: { file: 'dist/index.js', }, - plugins: [json(), typescript()], + plugins: [json(), typescript({ outputToFilesystem: true })], } From 0f5be6793a19cc8d898e24eb59b5231b1ce2beaf Mon Sep 17 00:00:00 2001 From: Ryan Davis Date: Mon, 3 Jun 2024 11:42:08 -0400 Subject: [PATCH 3/3] update README - prep for public npm consumption - simplify / rework a little --- reference-lib/README.md | 46 +++++++++++++++++------------------------ 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/reference-lib/README.md b/reference-lib/README.md index 8621e88..ac4c9ac 100644 --- a/reference-lib/README.md +++ b/reference-lib/README.md @@ -1,28 +1,20 @@ # Reference Library -NGINX directive reference in Markdown and HTML format - -# Installation - -1. Generate a github personal access token with read:packages permission -2. Create a ~/.npmrc file with the following content -``` -@nginxinc:registry=http://npm.pkg.github.com -//npm.pkg.github.com/:_authToken=$TOKEN -``` -3. Run -```bash -npm install --save @nginx/reference-lib@1.0.0 -``` - -# Usage -1. find -```javascript -import { find, Format } from '@nginx/reference-lib' -const content = find('listen', undefined, Format.HTML) -``` - -2. getDirectives -```javascript -import { getDirectives, Format } from '@nginx/reference-lib' -const directive = getDirectives(Format.HTML) -``` + +Machine-readable NGINX directive documentation, with Markdown and HTML formats. + +This library is generated from the official NGINX documentation, and intended for use in other tools that work with NGINX configuration files. This provides more accurate and up-to-date information than web scraping . + +Every time the NGINX documentation changes, this library will be updated and published with a new version number. + +## Installation + +`npm install --save @nginx/reference-lib` + +## Usage + +We export two functions (with type definitions) to navigate the documentation: + +1. `getDirectives` returns a flat list of all directives in any official module +2. `find` returns a specific directive by name + +See [examples](./examples) for more usage.