@maronn-openid-connect/cli 0.3.0 → 0.5.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.
Files changed (39) hide show
  1. package/README.md +47 -0
  2. package/dist/features.d.ts +6 -3
  3. package/dist/features.d.ts.map +1 -1
  4. package/dist/features.js +14 -0
  5. package/dist/features.js.map +1 -1
  6. package/dist/frameworks/express/index.d.ts.map +1 -1
  7. package/dist/frameworks/express/index.js +1 -1
  8. package/dist/frameworks/express/index.js.map +1 -1
  9. package/dist/frameworks/fastify/index.d.ts.map +1 -1
  10. package/dist/frameworks/fastify/index.js +1 -1
  11. package/dist/frameworks/fastify/index.js.map +1 -1
  12. package/dist/frameworks/hono/index.d.ts.map +1 -1
  13. package/dist/frameworks/hono/index.js +21 -8
  14. package/dist/frameworks/hono/index.js.map +1 -1
  15. package/dist/frameworks/hono/templates.d.ts +19 -8
  16. package/dist/frameworks/hono/templates.d.ts.map +1 -1
  17. package/dist/frameworks/hono/templates.js +11191 -6376
  18. package/dist/frameworks/hono/templates.js.map +1 -1
  19. package/dist/frameworks/nextjs/index.d.ts.map +1 -1
  20. package/dist/frameworks/nextjs/index.js +1 -1
  21. package/dist/frameworks/nextjs/index.js.map +1 -1
  22. package/dist/frameworks/types.d.ts +1 -0
  23. package/dist/frameworks/types.d.ts.map +1 -1
  24. package/dist/frameworks/web-standard/templates.d.ts +5 -5
  25. package/dist/frameworks/web-standard/templates.d.ts.map +1 -1
  26. package/dist/frameworks/web-standard/templates.js +199 -54
  27. package/dist/frameworks/web-standard/templates.js.map +1 -1
  28. package/dist/generator.d.ts +1 -0
  29. package/dist/generator.d.ts.map +1 -1
  30. package/dist/generator.js +2 -2
  31. package/dist/generator.js.map +1 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +34 -3
  34. package/dist/index.js.map +1 -1
  35. package/dist/scopes.d.ts +5 -0
  36. package/dist/scopes.d.ts.map +1 -0
  37. package/dist/scopes.js +38 -0
  38. package/dist/scopes.js.map +1 -0
  39. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAoBjD,MAAM,oBAAoB,GAAG,6BAA6B,CAAC;AAK3D,MAAM,UAAU,QAAQ,CAAC,OAAwB;IAC/C,MAAM,EACJ,SAAS,EACT,SAAS,EACT,eAAe,GAAG,oBAAoB,EACtC,QAAQ,GAAG,EAAE,GAAG,gBAAgB,EAAE,GACnC,GAAG,OAAO,CAAC;IAEZ,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,IAAI,KAAK,CACb,uBAAuB,SAAS,4BAA4B,SAAS,EAAE,CACxE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE3E,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAyBjD,MAAM,oBAAoB,GAAG,6BAA6B,CAAC;AAK3D,MAAM,UAAU,QAAQ,CAAC,OAAwB;IAC/C,MAAM,EACJ,SAAS,EACT,SAAS,EACT,eAAe,GAAG,oBAAoB,EACtC,QAAQ,GAAG,EAAE,GAAG,gBAAgB,EAAE,EAClC,MAAM,GAAG,EAAE,GACZ,GAAG,OAAO,CAAC;IAEZ,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,IAAI,KAAK,CACb,uBAAuB,SAAS,4BAA4B,SAAS,EAAE,CACxE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAyNA,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAyHxC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AA+OA,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAoIxC"}
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import { writeFileSync, readFileSync, mkdirSync, existsSync } from 'node:fs';
3
3
  import { join, dirname, relative, resolve } from 'node:path';
4
4
  import { generate, getAvailableFrameworks } from './generator.js';
5
5
  import { AVAILABLE_FEATURES, EXPERIMENTAL_FEATURES, OPTIONAL_FEATURES, resolveFeatures, } from './features.js';
6
+ import { resolveCustomScopes } from './scopes.js';
6
7
  const INSTALL_COMMANDS = {
7
8
  hono: 'pnpm add hono @maronn-openid-connect/core',
8
9
  express: 'pnpm add express @maronn-openid-connect/core && pnpm add -D @types/express',
@@ -14,7 +15,10 @@ function withExperimentalPackage(installCommand, features) {
14
15
  if (!features.par &&
15
16
  !features.tokenExchange &&
16
17
  !features.jarm &&
17
- !features.deviceAuthorizationGrant) {
18
+ !features.deviceAuthorizationGrant &&
19
+ !features.idJag &&
20
+ !features.ciba &&
21
+ !features.jwtIntrospectionResponse) {
18
22
  return installCommand;
19
23
  }
20
24
  return installCommand.replace('@maronn-openid-connect/core', `@maronn-openid-connect/core ${EXPERIMENTAL_PACKAGE}`);
@@ -48,6 +52,7 @@ Options:
48
52
  --entry, -e <file> Entry file to patch with OIDC setup (setup command only, default: ./src/index.ts)
49
53
  --enable <features> Comma-separated features to enable (repeatable)
50
54
  --disable <features> Comma-separated features to remove from the default set (repeatable)
55
+ --scope <scopes> Comma-separated custom scopes the provider accepts (repeatable)
51
56
  --help, -h Show this help message
52
57
 
53
58
  Features (all enabled by default): ${features}
@@ -60,6 +65,16 @@ Optional features (disabled by default): ${optionalFeatures}
60
65
  Experimental features (disabled by default): ${experimentalFeatures}
61
66
  Provided by the separate ${EXPERIMENTAL_PACKAGE} package. APIs are unstable
62
67
  and may change in a breaking way. Enable one with, e.g.: --enable par
68
+
69
+ Custom scopes (none declared by default): the standard scopes (openid, profile,
70
+ email, address, phone, offline_access) are always handled by the generated
71
+ provider. Declare anything else with --scope, e.g.:
72
+ --scope reports.read,reports.write
73
+ The declared scopes are advertised in scopes_supported, and a request for a
74
+ value that was never declared is rejected with invalid_scope. Which End-User
75
+ may be granted which scope is left to the generated code: scopes.ts holds
76
+ resolveGrantableScopes(), already wired into consent, SSO, prompt=none and the
77
+ device / CIBA approvals, as the one place to write that filtering.
63
78
  `);
64
79
  }
65
80
  function parseArgs(args) {
@@ -69,6 +84,7 @@ function parseArgs(args) {
69
84
  let entryFile = './src/index.ts';
70
85
  const enable = [];
71
86
  const disable = [];
87
+ const scope = [];
72
88
  let help = false;
73
89
  const splitFeatureList = (value) => (value ?? '').split(',').map((f) => f.trim()).filter((f) => f.length > 0);
74
90
  for (let i = 0; i < args.length; i++) {
@@ -92,6 +108,12 @@ function parseArgs(args) {
92
108
  i++;
93
109
  disable.push(...splitFeatureList(args[i]));
94
110
  }
111
+ else if (arg === '--scope') {
112
+ i++;
113
+ const value = args[i];
114
+ if (value !== undefined)
115
+ scope.push(value);
116
+ }
95
117
  else if (!command) {
96
118
  command = arg;
97
119
  }
@@ -99,7 +121,7 @@ function parseArgs(args) {
99
121
  framework = arg;
100
122
  }
101
123
  }
102
- return { command, framework, outputDir, entryFile, enable, disable, help };
124
+ return { command, framework, outputDir, entryFile, enable, disable, scope, help };
103
125
  }
104
126
  function writeGeneratedFiles(outputDir, files) {
105
127
  for (const file of files) {
@@ -188,10 +210,12 @@ export function run(args) {
188
210
  enable: parsed.enable,
189
211
  disable: parsed.disable,
190
212
  });
213
+ const scopes = resolveCustomScopes({ scope: parsed.scope });
191
214
  const result = generate({
192
215
  framework: parsed.framework,
193
216
  outputDir: parsed.outputDir,
194
217
  features,
218
+ scopes,
195
219
  });
196
220
  console.log(`\nGenerating ${result.framework} OIDC Provider code...\n`);
197
221
  const disabledFeatures = AVAILABLE_FEATURES.filter((name) => parsed.disable.includes(name));
@@ -207,6 +231,12 @@ export function run(args) {
207
231
  console.log(`Experimental features enabled: ${enabledExperimental.join(', ')}`);
208
232
  console.log(`Warning: experimental features are provided by ${EXPERIMENTAL_PACKAGE} and their APIs may change in a breaking way.\n`);
209
233
  }
234
+ if (scopes.length > 0) {
235
+ console.log(`Custom scopes: ${scopes.join(', ')}`);
236
+ console.log('A scope that was not declared is now rejected with invalid_scope. Write per-End-User\n' +
237
+ 'filtering in resolveGrantableScopes() (scopes.ts); it is already wired into every step\n' +
238
+ 'that decides a grant.\n');
239
+ }
210
240
  writeGeneratedFiles(parsed.outputDir, result.files);
211
241
  console.log(`\nDone! Generated ${result.files.length} files in ${parsed.outputDir}`);
212
242
  if (parsed.command === 'setup') {
@@ -227,7 +257,8 @@ export function run(args) {
227
257
  if (features.par ||
228
258
  features.tokenExchange ||
229
259
  features.jarm ||
230
- features.deviceAuthorizationGrant) {
260
+ features.deviceAuthorizationGrant ||
261
+ features.ciba) {
231
262
  console.log(` 4. Install the experimental package: pnpm add ${EXPERIMENTAL_PACKAGE}`);
232
263
  console.log(` 5. Start the server\n`);
233
264
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAC;AAGvB,MAAM,gBAAgB,GAA2B;IAC/C,IAAI,EAAE,2CAA2C;IACjD,OAAO,EAAE,4EAA4E;IACrF,OAAO,EAAE,8CAA8C;IACvD,MAAM,EAAE,0EAA0E;CACnF,CAAC;AAEF,MAAM,oBAAoB,GAAG,qCAAqC,CAAC;AAOnE,SAAS,uBAAuB,CAAC,cAAsB,EAAE,QAA2B;IAClF,IACE,CAAC,QAAQ,CAAC,GAAG;QACb,CAAC,QAAQ,CAAC,aAAa;QACvB,CAAC,QAAQ,CAAC,IAAI;QACd,CAAC,QAAQ,CAAC,wBAAwB,EAClC,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,cAAc,CAAC,OAAO,CAAC,6BAA6B,EAAE,+BAA+B,oBAAoB,EAAE,CAAC,CAAC;AACtH,CAAC;AAED,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEzD,MAAM,kBAAkB,GAAG,qCAAqC,CAAC;AACjE,MAAM,iBAAiB,GAAG,oCAAoC,CAAC;AAC/D,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAO1C,MAAM,kBAAkB,GAA2B;IACjD,IAAI,EAAE,yBAAyB;IAC/B,OAAO,EAAE,wBAAwB;IACjC,OAAO,EAAE,wBAAwB;CAClC,CAAC;AACF,MAAM,yBAAyB,GAAG,gDAAgD,CAAC;AAEnF,SAAS,UAAU;IACjB,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC;;;;;;;cAOA,UAAU;;;;;;;;;qCASa,QAAQ;;2CAEF,gBAAgB;;;;;+CAKZ,oBAAoB;6BACtC,oBAAoB;;CAEhD,CAAC,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAS/B,IAAI,OAA2B,CAAC;IAChC,IAAI,SAA6B,CAAC;IAClC,IAAI,SAAS,GAAG,iBAAiB,CAAC;IAClC,IAAI,SAAS,GAAG,gBAAgB,CAAC;IACjC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,IAAI,GAAG,KAAK,CAAC;IAEjB,MAAM,gBAAgB,GAAG,CAAC,KAAyB,EAAY,EAAE,CAC/D,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACrC,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC9C,CAAC,EAAE,CAAC;YACJ,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC7C,CAAC,EAAE,CAAC;YACJ,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,CAAC,EAAE,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,GAAG,GAAG,CAAC;QAChB,CAAC;aAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtB,SAAS,GAAG,GAAG,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB,EAAE,KAA+C;IAC7F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAWD,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,kBAAkB,GAAG,6CAA6C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvF,OAAO,kBAAkB,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACjE,CAAC;AAQD,SAAS,cAAc,CAAC,aAAqB,EAAE,SAAiB;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IACtE,MAAM,eAAe,GAAG,GAAG,UAAU,WAAW,CAAC;IAEjD,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAClE,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAEhE,IAAI,CAAC,oBAAoB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAClD,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QACvC,CAAC;QACD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,CAAC,oBAAoB;YAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC5D,IAAI,CAAC,mBAAmB;YAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1D,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC;IACrD,CAAC;IAGD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,8BAA8B,eAAe,IAAI,CAAC;SACpF,OAAO,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;IACrD,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,4BAA4B,CACnC,aAAqB,EACrB,SAAiB,EACjB,SAAiB,EACjB,OAAiB;IAEjB,OAAO,CAAC,KAAK,CAAC,gEAAgE,aAAa,EAAE,CAAC,CAAC;IAC/F,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACrF,OAAO,CAAC,KAAK,CAAC,KAAK,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,CAAC,KAAK,kBAAkB,CAAC,SAAS,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAC;IACjF,OAAO,CAAC,KAAK,CAAC,KAAK,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,0BAA0B,SAAS,uCAAuC,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAc;IAChC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,UAAU,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACpD,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,IAAI,4BAA4B,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACrF,OAAO,CAAC,KAAK,CACX,gGAAgG,CACjG,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,eAAe,CAAC;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ;SACT,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,SAAS,0BAA0B,CAAC,CAAC;QACxE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,CAChD,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxC,CAAC;QACF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,sBAAsB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,8BAA8B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAChE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC7B,CAAC;QACF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,kCAAkC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CACT,kDAAkD,oBAAoB,iDAAiD,CACxH,CAAC;QACJ,CAAC;QACD,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,KAAK,CAAC,MAAM,aAAa,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAErF,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACxC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACvE,IAAI,WAAW,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;gBAClD,4BAA4B,CAC1B,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,WAAW,CAAC,OAAO,CACpB,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,MAAM,KAAK,iBAAiB;gBACtC,CAAC,CAAC,mCAAmC,MAAM,CAAC,SAAS,EAAE;gBACvD,CAAC,CAAC,cAAc,MAAM,CAAC,SAAS,EAAE,CACrC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC;YACrG,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,SAAS,kDAAkD,CAAC,CAAC;YAC5F,IACE,QAAQ,CAAC,GAAG;gBACZ,QAAQ,CAAC,aAAa;gBACtB,QAAQ,CAAC,IAAI;gBACb,QAAQ,CAAC,wBAAwB,EACjC,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,mDAAmD,oBAAoB,EAAE,CAAC,CAAC;gBACvF,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,cAAc,GAAG,uBAAuB,CAC5C,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,sCAAsC,EAC5E,QAAQ,CACT,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC;YACrG,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,8BAA8B,cAAc,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAGD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;IACnE,GAAG,CAAC,OAAO,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,gBAAgB,GAA2B;IAC/C,IAAI,EAAE,2CAA2C;IACjD,OAAO,EAAE,4EAA4E;IACrF,OAAO,EAAE,8CAA8C;IACvD,MAAM,EAAE,0EAA0E;CACnF,CAAC;AAEF,MAAM,oBAAoB,GAAG,qCAAqC,CAAC;AAOnE,SAAS,uBAAuB,CAAC,cAAsB,EAAE,QAA2B;IAClF,IACE,CAAC,QAAQ,CAAC,GAAG;QACb,CAAC,QAAQ,CAAC,aAAa;QACvB,CAAC,QAAQ,CAAC,IAAI;QACd,CAAC,QAAQ,CAAC,wBAAwB;QAClC,CAAC,QAAQ,CAAC,KAAK;QACf,CAAC,QAAQ,CAAC,IAAI;QACd,CAAC,QAAQ,CAAC,wBAAwB,EAClC,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,cAAc,CAAC,OAAO,CAAC,6BAA6B,EAAE,+BAA+B,oBAAoB,EAAE,CAAC,CAAC;AACtH,CAAC;AAED,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEzD,MAAM,kBAAkB,GAAG,qCAAqC,CAAC;AACjE,MAAM,iBAAiB,GAAG,oCAAoC,CAAC;AAC/D,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAO1C,MAAM,kBAAkB,GAA2B;IACjD,IAAI,EAAE,yBAAyB;IAC/B,OAAO,EAAE,wBAAwB;IACjC,OAAO,EAAE,wBAAwB;CAClC,CAAC;AACF,MAAM,yBAAyB,GAAG,gDAAgD,CAAC;AAEnF,SAAS,UAAU;IACjB,MAAM,UAAU,GAAG,sBAAsB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC;;;;;;;cAOA,UAAU;;;;;;;;;;qCAUa,QAAQ;;2CAEF,gBAAgB;;;;;+CAKZ,oBAAoB;6BACtC,oBAAoB;;;;;;;;;;;;CAYhD,CAAC,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAc;IAU/B,IAAI,OAA2B,CAAC;IAChC,IAAI,SAA6B,CAAC;IAClC,IAAI,SAAS,GAAG,iBAAiB,CAAC;IAClC,IAAI,SAAS,GAAG,gBAAgB,CAAC;IACjC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,KAAK,CAAC;IAEjB,MAAM,gBAAgB,GAAG,CAAC,KAAyB,EAAY,EAAE,CAC/D,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACrC,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC9C,CAAC,EAAE,CAAC;YACJ,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC7C,CAAC,EAAE,CAAC;YACJ,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,CAAC,EAAE,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,CAAC,EAAE,CAAC;YACJ,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,KAAK,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,GAAG,GAAG,CAAC;QAChB,CAAC;aAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtB,SAAS,GAAG,GAAG,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACpF,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAiB,EAAE,KAA+C;IAC7F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAWD,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,kBAAkB,GAAG,6CAA6C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvF,OAAO,kBAAkB,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;AACjE,CAAC;AAQD,SAAS,cAAc,CAAC,aAAqB,EAAE,SAAiB;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IACtE,MAAM,eAAe,GAAG,GAAG,UAAU,WAAW,CAAC;IAEjD,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAClE,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAEhE,IAAI,CAAC,oBAAoB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAClD,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;QACvC,CAAC;QACD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,CAAC,oBAAoB;YAAE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC5D,IAAI,CAAC,mBAAmB;YAAE,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1D,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC;IACrD,CAAC;IAGD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,8BAA8B,eAAe,IAAI,CAAC;SACpF,OAAO,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;IACrD,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,4BAA4B,CACnC,aAAqB,EACrB,SAAiB,EACjB,SAAiB,EACjB,OAAiB;IAEjB,OAAO,CAAC,KAAK,CAAC,gEAAgE,aAAa,EAAE,CAAC,CAAC;IAC/F,KAAK,MAAM,WAAW,IAAI,OAAO,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACrF,OAAO,CAAC,KAAK,CAAC,KAAK,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,CAAC,KAAK,kBAAkB,CAAC,SAAS,CAAC,IAAI,yBAAyB,EAAE,CAAC,CAAC;IACjF,OAAO,CAAC,KAAK,CAAC,KAAK,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,0BAA0B,SAAS,uCAAuC,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,IAAc;IAChC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,UAAU,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,oBAAoB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACpD,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,IAAI,4BAA4B,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACrF,OAAO,CAAC,KAAK,CACX,gGAAgG,CACjG,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,eAAe,CAAC;YAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC;YACtB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ;YACR,MAAM;SACP,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,SAAS,0BAA0B,CAAC,CAAC;QACxE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,CAChD,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxC,CAAC;QACF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,sBAAsB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,8BAA8B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAChE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC7B,CAAC;QACF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,kCAAkC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChF,OAAO,CAAC,GAAG,CACT,kDAAkD,oBAAoB,iDAAiD,CACxH,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CACT,wFAAwF;gBACtF,0FAA0F;gBAC1F,yBAAyB,CAC5B,CAAC;QACJ,CAAC;QACD,mBAAmB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,KAAK,CAAC,MAAM,aAAa,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAErF,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACxC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACvE,IAAI,WAAW,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;gBAClD,4BAA4B,CAC1B,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,WAAW,CAAC,OAAO,CACpB,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YACD,OAAO,CAAC,GAAG,CACT,WAAW,CAAC,MAAM,KAAK,iBAAiB;gBACtC,CAAC,CAAC,mCAAmC,MAAM,CAAC,SAAS,EAAE;gBACvD,CAAC,CAAC,cAAc,MAAM,CAAC,SAAS,EAAE,CACrC,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC;YACrG,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,SAAS,kDAAkD,CAAC,CAAC;YAC5F,IACE,QAAQ,CAAC,GAAG;gBACZ,QAAQ,CAAC,aAAa;gBACtB,QAAQ,CAAC,IAAI;gBACb,QAAQ,CAAC,wBAAwB;gBACjC,QAAQ,CAAC,IAAI,EACb,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,mDAAmD,oBAAoB,EAAE,CAAC,CAAC;gBACvF,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,cAAc,GAAG,uBAAuB,CAC5C,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,sCAAsC,EAC5E,QAAQ,CACT,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC;YACrG,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,8BAA8B,cAAc,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAGD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;IACnE,GAAG,CAAC,OAAO,CAAC,CAAC;AACf,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const RESERVED_SCOPES: readonly ['openid', 'profile', 'email', 'address', 'phone', 'offline_access'];
2
+ export declare function resolveCustomScopes(options: {
3
+ scope?: string[];
4
+ }): string[];
5
+ //# sourceMappingURL=scopes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,eAAe,YAC1B,QAAQ,EACR,SAAS,EACT,OAAO,EACP,SAAS,EACT,OAAO,EACP,gBAAgB,CACR,CAAC;AA+BX,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,EAAE,CAgB3E"}
package/dist/scopes.js ADDED
@@ -0,0 +1,38 @@
1
+ export const RESERVED_SCOPES = [
2
+ 'openid',
3
+ 'profile',
4
+ 'email',
5
+ 'address',
6
+ 'phone',
7
+ 'offline_access',
8
+ ];
9
+ const SCOPE_TOKEN_PATTERN = /^[\x21\x23-\x5B\x5D-\x7E]+$/;
10
+ function assertValidScopeName(name) {
11
+ if (!SCOPE_TOKEN_PATTERN.test(name)) {
12
+ throw new Error(`Invalid scope value for --scope: "${name}". A scope must match RFC 6749 §3.3 ` +
13
+ 'scope-token (printable ASCII without space, \'"\' or \'\\\').');
14
+ }
15
+ if (RESERVED_SCOPES.includes(name)) {
16
+ throw new Error(`Scope "${name}" is a standard scope handled by the generated provider and cannot be ` +
17
+ `declared with --scope. Standard scopes: ${RESERVED_SCOPES.join(', ')}`);
18
+ }
19
+ }
20
+ export function resolveCustomScopes(options) {
21
+ const declared = [];
22
+ for (const value of options.scope ?? []) {
23
+ const names = value
24
+ .split(',')
25
+ .map((name) => name.trim())
26
+ .filter((name) => name.length > 0);
27
+ if (names.length === 0) {
28
+ throw new Error('--scope requires at least one scope name');
29
+ }
30
+ for (const name of names) {
31
+ assertValidScopeName(name);
32
+ if (!declared.includes(name))
33
+ declared.push(name);
34
+ }
35
+ }
36
+ return declared;
37
+ }
38
+ //# sourceMappingURL=scopes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../src/scopes.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,gBAAgB;CACR,CAAC;AAOX,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;AAE1D,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,sCAAsC;YAC7E,+DAA+D,CAClE,CAAC;IACJ,CAAC;IACD,IAAK,eAAqC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CACb,UAAU,IAAI,wEAAwE;YACpF,2CAA2C,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1E,CAAC;IACJ,CAAC;AACH,CAAC;AASD,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,KAAK;aAChB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maronn-openid-connect/cli",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "CLI tool to generate OpenID Connect Provider code",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -40,8 +40,9 @@
40
40
  },
41
41
  "homepage": "https://github.com/maronnjapan/maronn-openid-connect/tree/main/packages/cli#readme",
42
42
  "devDependencies": {
43
- "typescript": "^5.7.2",
44
- "vitest": "^3.2.6"
43
+ "@types/node": "^26.2.0",
44
+ "typescript": "^7.0.2",
45
+ "vitest": "^4.1.11"
45
46
  },
46
47
  "scripts": {
47
48
  "build": "tsc",