@openaddresses/batch-schema 8.1.1 → 9.1.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 CHANGED
@@ -10,6 +10,14 @@
10
10
 
11
11
  ## Version History
12
12
 
13
+ ### v9.1.0
14
+
15
+ - :rocket: Only attempt to load js and ts files
16
+
17
+ ### v9.0.0
18
+
19
+ - :rocket: Only JSON parse body if `body` of JSON Schema is set. If body is not set it is up to the caller to parse the body
20
+
13
21
  ### v8.1.1
14
22
 
15
23
  - :bug: Fix loads call & add `Promise` to ESLint
package/lib/schema.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Validator } from 'express-json-validator-middleware';
2
2
  import $RefParser from '@apidevtools/json-schema-ref-parser';
3
- import fs from 'fs';
4
- import path from 'path';
3
+ import fs from 'node:fs';
4
+ import path from 'node:path';
5
5
  import morgan from 'morgan';
6
6
  import bodyparser from 'body-parser';
7
7
 
@@ -44,7 +44,7 @@ export default class Schemas {
44
44
 
45
45
  if (opts.morgan !== false) this.router.use(morgan('combined'));
46
46
  this.router.use(bodyparser.urlencoded({ extended: true }));
47
- this.router.use(bodyparser.json({ limit: `${opts.limit}mb` }));
47
+ this.jsonparser = bodyparser.json({ limit: `${opts.limit}mb` });
48
48
 
49
49
  this.schemas = new Map();
50
50
  this.validate = this.validator.validate;
@@ -74,6 +74,7 @@ export default class Schemas {
74
74
  // Load dynamic routes directory
75
75
  for (const r of fs.readdirSync(dirpath)) {
76
76
  if (!opts.silent) console.log(`ok - loaded routes/${r}`);
77
+ if (!['.ts', '.js'].includes(path.parse(r).ext)) continue;
77
78
  routes.push((await import(path.resolve(dirpath, r))).default(this, config));
78
79
  }
79
80
 
@@ -168,6 +169,8 @@ export default class Schemas {
168
169
 
169
170
  const flow = [parsed[1], []];
170
171
 
172
+ if (schemas.body) flow[1].push(this.jsonparser);
173
+
171
174
  if (schemas.query) flow[1].push(Middleware.query(schemas.query));
172
175
 
173
176
  // Make sure express params are validated/coerced into proper type
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "type": "module",
4
4
  "root": true,
5
5
  "main": "index.js",
6
- "version": "8.1.1",
6
+ "version": "9.1.0",
7
7
  "description": "Strongly Validated JSON Schema support for address",
8
8
  "repository": "git@github.com:openaddresses/batch-schema",
9
9
  "author": "ingalls <nick@ingalls.ca>",