@ebarahona/loopback-openapi-v3 1.0.0 → 1.1.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 +106 -72
- package/dist/errors.d.ts +19 -0
- package/dist/errors.js +37 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/keys.d.ts +1 -1
- package/dist/keys.js.map +1 -1
- package/dist/openapi-version.component.d.ts +2 -1
- package/dist/openapi-version.component.js.map +1 -1
- package/dist/openapi-version.enhancer.js.map +1 -1
- package/dist/transform.d.ts +1 -1
- package/dist/transform.js +58 -17
- package/dist/transform.js.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +22 -6
- package/src/__tests__/install-hooks-script.spec.ts +267 -0
- package/src/__tests__/openapi-version.enhancer.spec.ts +1 -1
- package/src/__tests__/transform.spec.ts +122 -51
- package/src/errors.ts +83 -0
- package/src/index.ts +26 -6
- package/src/keys.ts +17 -1
- package/src/openapi-version.component.ts +4 -5
- package/src/openapi-version.enhancer.ts +8 -9
- package/src/transform.ts +209 -41
- package/src/types.ts +16 -0
package/dist/transform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAgCa,QAAA,cAAc,GAAyB;IAClD,OAAO,EAAE,OAAO;IAChB,iBAAiB,EAAE,IAAI;CACxB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ebarahona/loopback-openapi-v3",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "LoopBack 4 component for OpenAPI 3.1 and 3.2 spec generation",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"default": "./dist/index.js"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
7
13
|
"engines": {
|
|
8
|
-
"node": ">=
|
|
14
|
+
"node": ">=20.19.0"
|
|
9
15
|
},
|
|
10
16
|
"scripts": {
|
|
11
17
|
"build": "tsc -p tsconfig.build.json",
|
|
@@ -14,7 +20,8 @@
|
|
|
14
20
|
"lint": "eslint \"src/**/*.ts\"",
|
|
15
21
|
"test": "vitest run",
|
|
16
22
|
"test:dev": "vitest",
|
|
17
|
-
"prepublishOnly": "npm run clean && npm run build && npm test"
|
|
23
|
+
"prepublishOnly": "npm run clean && npm run build && npm test",
|
|
24
|
+
"prepare": "sh scripts/install-hooks.sh"
|
|
18
25
|
},
|
|
19
26
|
"keywords": [
|
|
20
27
|
"loopback",
|
|
@@ -25,7 +32,9 @@
|
|
|
25
32
|
"openapi32",
|
|
26
33
|
"swagger",
|
|
27
34
|
"spec",
|
|
28
|
-
"component"
|
|
35
|
+
"component",
|
|
36
|
+
"loopback4 extension",
|
|
37
|
+
"extension"
|
|
29
38
|
],
|
|
30
39
|
"author": "Ed Barahona (https://github.com/ebarahona)",
|
|
31
40
|
"license": "MIT",
|
|
@@ -44,15 +53,22 @@
|
|
|
44
53
|
"@loopback/rest": ">=15.0.0"
|
|
45
54
|
},
|
|
46
55
|
"devDependencies": {
|
|
56
|
+
"@commitlint/cli": "^21.0.1",
|
|
57
|
+
"@commitlint/config-conventional": "^21.0.1",
|
|
47
58
|
"@loopback/core": "^7.0.12",
|
|
48
59
|
"@loopback/openapi-v3": "^11.0.13",
|
|
49
60
|
"@loopback/rest": "^15.0.13",
|
|
50
61
|
"@loopback/testlab": "^8.0.12",
|
|
51
|
-
"@
|
|
52
|
-
"@typescript-eslint/
|
|
62
|
+
"@size-limit/preset-small-lib": "^11.0.0",
|
|
63
|
+
"@typescript-eslint/eslint-plugin": "^8.59.3",
|
|
64
|
+
"@typescript-eslint/parser": "^8.59.3",
|
|
53
65
|
"eslint": "^8.57.0",
|
|
66
|
+
"eslint-config-prettier": "^10.1.8",
|
|
67
|
+
"eslint-plugin-import-x": "^4.16.2",
|
|
68
|
+
"eslint-plugin-tsdoc": "^0.5.2",
|
|
54
69
|
"prettier": "^3.2.0",
|
|
55
70
|
"rimraf": "^5.0.0",
|
|
71
|
+
"size-limit": "^11.0.0",
|
|
56
72
|
"typescript": "~5.2.2",
|
|
57
73
|
"vitest": "^2.0.0"
|
|
58
74
|
},
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import {spawnSync} from 'node:child_process';
|
|
2
|
+
import {
|
|
3
|
+
chmodSync,
|
|
4
|
+
copyFileSync,
|
|
5
|
+
existsSync,
|
|
6
|
+
mkdirSync,
|
|
7
|
+
mkdtempSync,
|
|
8
|
+
readFileSync,
|
|
9
|
+
readdirSync,
|
|
10
|
+
realpathSync,
|
|
11
|
+
rmSync,
|
|
12
|
+
statSync,
|
|
13
|
+
writeFileSync,
|
|
14
|
+
} from 'node:fs';
|
|
15
|
+
import {tmpdir} from 'node:os';
|
|
16
|
+
import {join, resolve} from 'node:path';
|
|
17
|
+
import {afterEach, beforeEach, describe, expect, it} from 'vitest';
|
|
18
|
+
|
|
19
|
+
// Exercises scripts/install-hooks.sh (run by `npm install` via `prepare`)
|
|
20
|
+
// in a throwaway sandbox: temp HOME, temp global git config, temp git
|
|
21
|
+
// repo, and a stub `npx` on PATH that only records that it was called.
|
|
22
|
+
// Nothing here reads or writes the real HOME or the real git config.
|
|
23
|
+
|
|
24
|
+
const PKG_ROOT = resolve(__dirname, '../..');
|
|
25
|
+
const SCRIPT = join(PKG_ROOT, 'scripts/install-hooks.sh');
|
|
26
|
+
const LEFTHOOK_PIN = 'lefthook@2.1.15';
|
|
27
|
+
|
|
28
|
+
interface Sandbox {
|
|
29
|
+
root: string;
|
|
30
|
+
home: string;
|
|
31
|
+
npxMarker: string;
|
|
32
|
+
binDir: string;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
let sb: Sandbox;
|
|
36
|
+
|
|
37
|
+
function git(cwd: string, ...args: string[]): string {
|
|
38
|
+
const r = spawnSync('git', args, {cwd, env: sandboxEnv(), encoding: 'utf8'});
|
|
39
|
+
if (r.status !== 0) {
|
|
40
|
+
throw new Error(`git ${args.join(' ')} failed: ${r.stderr}`);
|
|
41
|
+
}
|
|
42
|
+
return r.stdout.trim();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function sandboxEnv(extra: Record<string, string> = {}): NodeJS.ProcessEnv {
|
|
46
|
+
const env: NodeJS.ProcessEnv = {};
|
|
47
|
+
for (const [k, v] of Object.entries(process.env)) {
|
|
48
|
+
// Drop anything that could leak the host's git/CI/npm context into
|
|
49
|
+
// the script under test.
|
|
50
|
+
if (/^(GIT_|CI$|npm_)/.test(k)) continue;
|
|
51
|
+
env[k] = v;
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
...env,
|
|
55
|
+
HOME: sb.home,
|
|
56
|
+
XDG_CONFIG_HOME: join(sb.home, '.config'),
|
|
57
|
+
GIT_CONFIG_GLOBAL: join(sb.home, '.gitconfig'),
|
|
58
|
+
GIT_CONFIG_NOSYSTEM: '1',
|
|
59
|
+
PATH: `${sb.binDir}:${process.env.PATH ?? ''}`,
|
|
60
|
+
...extra,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/** Lay out `<dir>/scripts/install-hooks.sh` + package.json, optionally as a git repo. */
|
|
65
|
+
function makePackage(dir: string, initGit: boolean): string {
|
|
66
|
+
mkdirSync(join(dir, 'scripts'), {recursive: true});
|
|
67
|
+
copyFileSync(SCRIPT, join(dir, 'scripts/install-hooks.sh'));
|
|
68
|
+
writeFileSync(join(dir, 'package.json'), '{"name":"pkg"}\n');
|
|
69
|
+
if (initGit) git(dir, 'init', '-q');
|
|
70
|
+
return dir;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function runScript(pkgDir: string, extra: Record<string, string> = {}) {
|
|
74
|
+
return spawnSync('sh', ['scripts/install-hooks.sh'], {
|
|
75
|
+
cwd: pkgDir,
|
|
76
|
+
env: sandboxEnv(extra),
|
|
77
|
+
encoding: 'utf8',
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function npxCalled(): boolean {
|
|
82
|
+
return existsSync(sb.npxMarker);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function npxArgs(): string {
|
|
86
|
+
return readFileSync(sb.npxMarker, 'utf8').trim();
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
beforeEach(() => {
|
|
90
|
+
const root = realpathSync(mkdtempSync(join(tmpdir(), 'install-hooks-')));
|
|
91
|
+
const home = join(root, 'home');
|
|
92
|
+
const binDir = join(root, 'bin');
|
|
93
|
+
mkdirSync(home, {recursive: true});
|
|
94
|
+
mkdirSync(binDir, {recursive: true});
|
|
95
|
+
writeFileSync(join(home, '.gitconfig'), '');
|
|
96
|
+
const npxMarker = join(root, 'npx-called');
|
|
97
|
+
const npx = join(binDir, 'npx');
|
|
98
|
+
writeFileSync(npx, `#!/bin/sh\necho "$@" >> "${npxMarker}"\nexit 0\n`);
|
|
99
|
+
chmodSync(npx, 0o755);
|
|
100
|
+
sb = {root, home, npxMarker, binDir};
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
afterEach(() => {
|
|
104
|
+
rmSync(sb.root, {recursive: true, force: true});
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
describe('scripts/install-hooks.sh', () => {
|
|
108
|
+
it('installs via a pinned npx lefthook when no core.hooksPath is set', () => {
|
|
109
|
+
const pkg = makePackage(join(sb.root, 'repo'), true);
|
|
110
|
+
const r = runScript(pkg);
|
|
111
|
+
expect(r.status).toBe(0);
|
|
112
|
+
expect(npxCalled()).toBe(true);
|
|
113
|
+
expect(npxArgs()).toBe(`--yes ${LEFTHOOK_PIN} install`);
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
it('installs when a local core.hooksPath points at the repo .git/hooks', () => {
|
|
117
|
+
const pkg = makePackage(join(sb.root, 'repo'), true);
|
|
118
|
+
git(pkg, 'config', '--local', 'core.hooksPath', '.git/hooks');
|
|
119
|
+
const r = runScript(pkg);
|
|
120
|
+
expect(r.status).toBe(0);
|
|
121
|
+
expect(npxCalled()).toBe(true);
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
it('never writes into a global core.hooksPath and exits 0', () => {
|
|
125
|
+
const globalHooks = join(sb.home, '.git-templates/hooks');
|
|
126
|
+
mkdirSync(globalHooks, {recursive: true});
|
|
127
|
+
const existing = join(globalHooks, 'pre-commit');
|
|
128
|
+
writeFileSync(existing, '#!/bin/sh\nexit 0\n');
|
|
129
|
+
chmodSync(existing, 0o755);
|
|
130
|
+
// Written directly to the sandbox global config file (GIT_CONFIG_GLOBAL).
|
|
131
|
+
writeFileSync(
|
|
132
|
+
join(sb.home, '.gitconfig'),
|
|
133
|
+
'[core]\n\thooksPath = ~/.git-templates/hooks\n',
|
|
134
|
+
);
|
|
135
|
+
|
|
136
|
+
const pkg = makePackage(join(sb.root, 'repo'), true);
|
|
137
|
+
const r = runScript(pkg);
|
|
138
|
+
|
|
139
|
+
expect(r.status).toBe(0);
|
|
140
|
+
expect(npxCalled()).toBe(false);
|
|
141
|
+
expect(readdirSync(globalHooks)).toEqual(['pre-commit']);
|
|
142
|
+
expect(r.stderr).toContain('git config --local core.hooksPath .git/hooks');
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
it('skips when a local core.hooksPath points outside the repo', () => {
|
|
146
|
+
const outside = join(sb.root, 'elsewhere-hooks');
|
|
147
|
+
mkdirSync(outside, {recursive: true});
|
|
148
|
+
const pkg = makePackage(join(sb.root, 'repo'), true);
|
|
149
|
+
git(pkg, 'config', '--local', 'core.hooksPath', outside);
|
|
150
|
+
|
|
151
|
+
const r = runScript(pkg);
|
|
152
|
+
|
|
153
|
+
expect(r.status).toBe(0);
|
|
154
|
+
expect(npxCalled()).toBe(false);
|
|
155
|
+
expect(readdirSync(outside)).toEqual([]);
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
it('skips when installed as a dependency under node_modules', () => {
|
|
159
|
+
// Consumer repo with the package vendored under node_modules.
|
|
160
|
+
const consumer = join(sb.root, 'consumer');
|
|
161
|
+
mkdirSync(consumer, {recursive: true});
|
|
162
|
+
git(consumer, 'init', '-q');
|
|
163
|
+
const pkg = makePackage(join(consumer, 'node_modules/@scope/pkg'), false);
|
|
164
|
+
|
|
165
|
+
const r = runScript(pkg);
|
|
166
|
+
|
|
167
|
+
expect(r.status).toBe(0);
|
|
168
|
+
expect(npxCalled()).toBe(false);
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
it('skips when installed as a dependency with its own .git under node_modules', () => {
|
|
172
|
+
// e.g. a git-URL dependency cloned in place.
|
|
173
|
+
const pkg = makePackage(join(sb.root, 'consumer/node_modules/pkg'), true);
|
|
174
|
+
|
|
175
|
+
const r = runScript(pkg);
|
|
176
|
+
|
|
177
|
+
expect(r.status).toBe(0);
|
|
178
|
+
expect(npxCalled()).toBe(false);
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
it('skips when the package is not the root of its git work tree', () => {
|
|
182
|
+
const outer = join(sb.root, 'outer');
|
|
183
|
+
mkdirSync(outer, {recursive: true});
|
|
184
|
+
git(outer, 'init', '-q');
|
|
185
|
+
const pkg = makePackage(join(outer, 'vendor/pkg'), false);
|
|
186
|
+
|
|
187
|
+
const r = runScript(pkg);
|
|
188
|
+
|
|
189
|
+
expect(r.status).toBe(0);
|
|
190
|
+
expect(npxCalled()).toBe(false);
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
it('skips when CI is set', () => {
|
|
194
|
+
const pkg = makePackage(join(sb.root, 'repo'), true);
|
|
195
|
+
const r = runScript(pkg, {CI: 'true'});
|
|
196
|
+
expect(r.status).toBe(0);
|
|
197
|
+
expect(npxCalled()).toBe(false);
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
it('skips during npm pack / publish', () => {
|
|
201
|
+
const pkg = makePackage(join(sb.root, 'repo'), true);
|
|
202
|
+
expect(runScript(pkg, {npm_command: 'pack'}).status).toBe(0);
|
|
203
|
+
expect(runScript(pkg, {npm_command: 'publish'}).status).toBe(0);
|
|
204
|
+
expect(runScript(pkg, {npm_config_dry_run: 'true'}).status).toBe(0);
|
|
205
|
+
expect(npxCalled()).toBe(false);
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
it('opt-in instructions use the same pinned lefthook version', () => {
|
|
209
|
+
const script = readFileSync(SCRIPT, 'utf8');
|
|
210
|
+
expect(script).toContain(`npx --yes ${LEFTHOOK_PIN} install --force`);
|
|
211
|
+
expect(script).not.toMatch(/npx lefthook /);
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
describe('npm install never writes into a global core.hooksPath', () => {
|
|
216
|
+
// lefthook's npm package runs `lefthook install -f` from its own
|
|
217
|
+
// postinstall whenever CI is unset, bypassing install-hooks.sh and
|
|
218
|
+
// writing shims into whatever core.hooksPath resolves to (renaming
|
|
219
|
+
// existing hooks to *.old). It must therefore never be installed as
|
|
220
|
+
// a dependency of this package.
|
|
221
|
+
const pkgJson = JSON.parse(
|
|
222
|
+
readFileSync(join(PKG_ROOT, 'package.json'), 'utf8'),
|
|
223
|
+
) as Record<string, Record<string, string> | undefined>;
|
|
224
|
+
|
|
225
|
+
it('does not depend on the lefthook npm package', () => {
|
|
226
|
+
for (const field of [
|
|
227
|
+
'dependencies',
|
|
228
|
+
'devDependencies',
|
|
229
|
+
'optionalDependencies',
|
|
230
|
+
'peerDependencies',
|
|
231
|
+
]) {
|
|
232
|
+
expect(Object.keys(pkgJson[field] ?? {})).not.toContain('lefthook');
|
|
233
|
+
}
|
|
234
|
+
const lock = readFileSync(join(PKG_ROOT, 'package-lock.json'), 'utf8');
|
|
235
|
+
expect(lock).not.toMatch(/"node_modules\/lefthook(-[a-z0-9-]+)?"/);
|
|
236
|
+
});
|
|
237
|
+
|
|
238
|
+
it('has no install-time script other than the guarded prepare hook', () => {
|
|
239
|
+
const scripts = pkgJson.scripts ?? {};
|
|
240
|
+
for (const name of ['preinstall', 'install', 'postinstall']) {
|
|
241
|
+
expect(scripts[name]).toBeUndefined();
|
|
242
|
+
}
|
|
243
|
+
expect(scripts.prepare).toBe('sh scripts/install-hooks.sh');
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
it('leaves a sentinel hook in the global hooksPath untouched', () => {
|
|
247
|
+
const globalHooks = join(sb.root, 'global-hooks');
|
|
248
|
+
mkdirSync(globalHooks, {recursive: true});
|
|
249
|
+
const sentinel = join(globalHooks, 'commit-msg');
|
|
250
|
+
const body = '#!/bin/sh\n# sentinel\nexit 0\n';
|
|
251
|
+
writeFileSync(sentinel, body);
|
|
252
|
+
chmodSync(sentinel, 0o755);
|
|
253
|
+
writeFileSync(
|
|
254
|
+
join(sb.home, '.gitconfig'),
|
|
255
|
+
`[core]\n\thooksPath = ${globalHooks}\n`,
|
|
256
|
+
);
|
|
257
|
+
|
|
258
|
+
const pkg = makePackage(join(sb.root, 'repo'), true);
|
|
259
|
+
const r = runScript(pkg);
|
|
260
|
+
|
|
261
|
+
expect(r.status).toBe(0);
|
|
262
|
+
expect(npxCalled()).toBe(false);
|
|
263
|
+
expect(readdirSync(globalHooks)).toEqual(['commit-msg']);
|
|
264
|
+
expect(readFileSync(sentinel, 'utf8')).toBe(body);
|
|
265
|
+
expect(statSync(sentinel).mode & 0o777).toBe(0o755);
|
|
266
|
+
});
|
|
267
|
+
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {describe, it, expect} from 'vitest';
|
|
2
2
|
import {OpenApiVersionEnhancer} from '../openapi-version.enhancer';
|
|
3
|
-
import {OpenApiSpec} from '@loopback/openapi-v3';
|
|
3
|
+
import type {OpenApiSpec} from '@loopback/openapi-v3';
|
|
4
4
|
|
|
5
5
|
function createTestSpec(): OpenApiSpec {
|
|
6
6
|
return {
|