express-zod-api 21.0.0-beta.4 → 21.0.0-beta.5
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 +30 -1
- package/README.md +51 -67
- package/dist/index.cjs +7 -7
- package/dist/index.d.cts +39 -35
- package/dist/index.d.ts +39 -35
- package/dist/index.js +7 -7
- package/migration/index.cjs +1 -1
- package/migration/index.js +1 -1
- package/package.json +3 -3
package/migration/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var d=Object.defineProperty;var
|
|
1
|
+
"use strict";var d=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var z=Object.prototype.hasOwnProperty;var M=(s,e)=>{for(var t in e)d(s,t,{get:e[t],enumerable:!0})},O=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of L(e))!z.call(s,a)&&a!==t&&d(s,a,{get:()=>e[a],enumerable:!(r=A(e,a))||r.enumerable});return s};var R=s=>O(d({},"__esModule",{value:!0}),s);var Y={};M(Y,{default:()=>U});module.exports=R(Y);var o=require("@typescript-eslint/utils");var h="express-zod-api";var F="createConfig",W="createServer",x="server",b="beforeRouting",v="httpServer",T="httpsServer",k="originalError",P="getStatusCodeFromError",S="logger",E="getChildLogger",I="methods",j="tags",w="scopes",N="statusCodes",$="mimeTypes",H="build",_="ResultHandler",q="handler",i={[x]:"http",[v]:"servers",[T]:"servers",[k]:"cause",[S]:"getLogger",[E]:"getLogger",[I]:"method",[j]:"tag",[w]:"scope",[N]:"statusCode",[$]:"mimeType"},g={[P]:"ensureHttpError"},B=["jsonParser","upload","compression","rawParser","beforeRouting"],u={loggerArgument:`${o.AST_NODE_TYPES.Property}[key.name="${b}"] ${o.AST_NODE_TYPES.ArrowFunctionExpression} ${o.AST_NODE_TYPES.Identifier}[name="${S}"]`,getChildLoggerArgument:`${o.AST_NODE_TYPES.Property}[key.name="${b}"] ${o.AST_NODE_TYPES.ArrowFunctionExpression} ${o.AST_NODE_TYPES.Identifier}[name="${E}"]`,responseFeatures:`${o.AST_NODE_TYPES.NewExpression}[callee.name='${_}'] > ${o.AST_NODE_TYPES.ObjectExpression} > ${o.AST_NODE_TYPES.Property}[key.name!='${q}'] ${o.AST_NODE_TYPES.Property}[key.name=/(${N}|${$})/]`},m=s=>s.type===o.AST_NODE_TYPES.Property&&s.key.type===o.AST_NODE_TYPES.Identifier,V=s=>s.type===o.AST_NODE_TYPES.VariableDeclarator&&s.id.type===o.AST_NODE_TYPES.ObjectPattern,c=s=>e=>m(e)&&(Array.isArray(s)?s.includes(e.key.name):e.key.name===s),Q=o.ESLintUtils.RuleCreator.withoutDocs({meta:{type:"problem",fixable:"code",schema:[],messages:{change:"Change {{subject}} {{from}} to {{to}}.",move:"Move {{subject}} from {{from}} to {{to}}."}},defaultOptions:[],create:s=>({[o.AST_NODE_TYPES.ImportDeclaration]:e=>{if(e.source.value===h){for(let t of e.specifiers)if(t.type===o.AST_NODE_TYPES.ImportSpecifier&&t.imported.type===o.AST_NODE_TYPES.Identifier&&t.imported.name in g){let r=g[t.imported.name];s.report({node:t.imported,messageId:"change",data:{subject:"import",from:t.imported.name,to:r},fix:a=>a.replaceText(t,r)})}}},[o.AST_NODE_TYPES.MemberExpression]:e=>{if(e.property.type===o.AST_NODE_TYPES.Identifier&&e.property.name===k&&e.object.type===o.AST_NODE_TYPES.Identifier&&e.object.name.match(/err/i)){let t=i[e.property.name];s.report({node:e.property,messageId:"change",data:{subject:"property",from:e.property.name,to:t}})}},[o.AST_NODE_TYPES.CallExpression]:e=>{if(e.callee.type===o.AST_NODE_TYPES.MemberExpression&&e.callee.property.type===o.AST_NODE_TYPES.Identifier&&e.callee.property.name===H&&e.arguments.length===1&&e.arguments[0].type===o.AST_NODE_TYPES.ObjectExpression){let t=e.arguments[0].properties.filter(c([I,j,w]));for(let r of t){let a=i[r.key.name];s.report({node:r,messageId:"change",data:{subject:"property",from:r.key.name,to:a},fix:n=>n.replaceText(r.key,a)})}}if(e.callee.type===o.AST_NODE_TYPES.Identifier){if(e.callee.name===F&&e.arguments.length===1){let t=e.arguments[0];if(t.type===o.AST_NODE_TYPES.ObjectExpression){let r=t.properties.find(c(x));if(r){let n=i[r.key.name];s.report({node:r,messageId:"change",data:{subject:"property",from:r.key.name,to:n},fix:l=>l.replaceText(r.key,n)})}let a=t.properties.find(c(i.server));if(a&&a.value.type===o.AST_NODE_TYPES.ObjectExpression){let l=a.value.properties.filter(c(B));for(let p of l){let C=s.sourceCode.text.slice(...p.range),y=s.sourceCode.getTokenAfter(p);s.report({node:a,messageId:"move",data:{subject:m(p)?p.key.name:"the property",from:a.key.name,to:`the top level of ${e.callee.name} argument`},fix:f=>[f.insertTextAfter(a,`, ${C}`),f.removeRange([p.range[0],y?.value===","?y.range[1]:p.range[1]])]})}}}}if(e.callee.name===W){let t=s.sourceCode.getAncestors(e).findLast(V);if(t){let r=t.id.properties.filter(c([v,T]));for(let a of r)s.report({node:a,messageId:"change",data:{subject:"property",from:a.key.name,to:i[a.key.name]}})}}if(e.callee.name===P){let t=g[e.callee.name];s.report({node:e.callee,messageId:"change",data:{subject:"method",from:e.callee.name,to:`${t}().statusCode`},fix:r=>[r.replaceText(e.callee,t),r.insertTextAfter(e,".statusCode")]})}}},[u.loggerArgument]:e=>{let{parent:t}=e,r=m(t);if(r&&t.value===e)return;let a=`${i[e.name]}${r?"":"()"}`;s.report({node:e,messageId:"change",data:{subject:r?"property":"const",from:e.name,to:a},fix:n=>n.replaceText(e,a)})},[u.getChildLoggerArgument]:e=>{let{parent:t}=e,r=m(t);if(r&&t.value===e)return;let a=i[e.name];s.report({node:e,messageId:"change",data:{subject:r?"property":"method",from:e.name,to:a},fix:n=>n.replaceText(e,a)})},[u.responseFeatures]:e=>{if(!m(e))return;let t=i[e.key.name];s.report({node:e,messageId:"change",data:{subject:"property",from:e.key.name,to:t},fix:r=>r.replaceText(e.key,t)})}})}),U={rules:{v21:Q}};
|
package/migration/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ESLintUtils as
|
|
1
|
+
import{ESLintUtils as A,AST_NODE_TYPES as r}from"@typescript-eslint/utils";var f="express-zod-api";var L="createConfig",z="createServer",b="server",h="beforeRouting",x="httpServer",v="httpsServer",T="originalError",k="getStatusCodeFromError",P="logger",S="getChildLogger",E="methods",I="tags",j="scopes",w="statusCodes",N="mimeTypes",M="build",O="ResultHandler",R="handler",i={[b]:"http",[x]:"servers",[v]:"servers",[T]:"cause",[P]:"getLogger",[S]:"getLogger",[E]:"method",[I]:"tag",[j]:"scope",[w]:"statusCode",[N]:"mimeType"},d={[k]:"ensureHttpError"},D=["jsonParser","upload","compression","rawParser","beforeRouting"],g={loggerArgument:`${r.Property}[key.name="${h}"] ${r.ArrowFunctionExpression} ${r.Identifier}[name="${P}"]`,getChildLoggerArgument:`${r.Property}[key.name="${h}"] ${r.ArrowFunctionExpression} ${r.Identifier}[name="${S}"]`,responseFeatures:`${r.NewExpression}[callee.name='${O}'] > ${r.ObjectExpression} > ${r.Property}[key.name!='${R}'] ${r.Property}[key.name=/(${w}|${N})/]`},m=o=>o.type===r.Property&&o.key.type===r.Identifier,F=o=>o.type===r.VariableDeclarator&&o.id.type===r.ObjectPattern,c=o=>e=>m(e)&&(Array.isArray(o)?o.includes(e.key.name):e.key.name===o),W=A.RuleCreator.withoutDocs({meta:{type:"problem",fixable:"code",schema:[],messages:{change:"Change {{subject}} {{from}} to {{to}}.",move:"Move {{subject}} from {{from}} to {{to}}."}},defaultOptions:[],create:o=>({[r.ImportDeclaration]:e=>{if(e.source.value===f){for(let t of e.specifiers)if(t.type===r.ImportSpecifier&&t.imported.type===r.Identifier&&t.imported.name in d){let s=d[t.imported.name];o.report({node:t.imported,messageId:"change",data:{subject:"import",from:t.imported.name,to:s},fix:a=>a.replaceText(t,s)})}}},[r.MemberExpression]:e=>{if(e.property.type===r.Identifier&&e.property.name===T&&e.object.type===r.Identifier&&e.object.name.match(/err/i)){let t=i[e.property.name];o.report({node:e.property,messageId:"change",data:{subject:"property",from:e.property.name,to:t}})}},[r.CallExpression]:e=>{if(e.callee.type===r.MemberExpression&&e.callee.property.type===r.Identifier&&e.callee.property.name===M&&e.arguments.length===1&&e.arguments[0].type===r.ObjectExpression){let t=e.arguments[0].properties.filter(c([E,I,j]));for(let s of t){let a=i[s.key.name];o.report({node:s,messageId:"change",data:{subject:"property",from:s.key.name,to:a},fix:n=>n.replaceText(s.key,a)})}}if(e.callee.type===r.Identifier){if(e.callee.name===L&&e.arguments.length===1){let t=e.arguments[0];if(t.type===r.ObjectExpression){let s=t.properties.find(c(b));if(s){let n=i[s.key.name];o.report({node:s,messageId:"change",data:{subject:"property",from:s.key.name,to:n},fix:l=>l.replaceText(s.key,n)})}let a=t.properties.find(c(i.server));if(a&&a.value.type===r.ObjectExpression){let l=a.value.properties.filter(c(D));for(let p of l){let $=o.sourceCode.text.slice(...p.range),u=o.sourceCode.getTokenAfter(p);o.report({node:a,messageId:"move",data:{subject:m(p)?p.key.name:"the property",from:a.key.name,to:`the top level of ${e.callee.name} argument`},fix:y=>[y.insertTextAfter(a,`, ${$}`),y.removeRange([p.range[0],u?.value===","?u.range[1]:p.range[1]])]})}}}}if(e.callee.name===z){let t=o.sourceCode.getAncestors(e).findLast(F);if(t){let s=t.id.properties.filter(c([x,v]));for(let a of s)o.report({node:a,messageId:"change",data:{subject:"property",from:a.key.name,to:i[a.key.name]}})}}if(e.callee.name===k){let t=d[e.callee.name];o.report({node:e.callee,messageId:"change",data:{subject:"method",from:e.callee.name,to:`${t}().statusCode`},fix:s=>[s.replaceText(e.callee,t),s.insertTextAfter(e,".statusCode")]})}}},[g.loggerArgument]:e=>{let{parent:t}=e,s=m(t);if(s&&t.value===e)return;let a=`${i[e.name]}${s?"":"()"}`;o.report({node:e,messageId:"change",data:{subject:s?"property":"const",from:e.name,to:a},fix:n=>n.replaceText(e,a)})},[g.getChildLoggerArgument]:e=>{let{parent:t}=e,s=m(t);if(s&&t.value===e)return;let a=i[e.name];o.report({node:e,messageId:"change",data:{subject:s?"property":"method",from:e.name,to:a},fix:n=>n.replaceText(e,a)})},[g.responseFeatures]:e=>{if(!m(e))return;let t=i[e.key.name];o.report({node:e,messageId:"change",data:{subject:"property",from:e.key.name,to:t},fix:s=>s.replaceText(e.key,t)})}})}),B={rules:{v21:W}};export{B as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "express-zod-api",
|
|
3
|
-
"version": "21.0.0-beta.
|
|
3
|
+
"version": "21.0.0-beta.5",
|
|
4
4
|
"description": "A Typescript framework to help you get an API server up and running with I/O schema validation and custom middlewares in minutes.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
"@types/ramda": "^0.30.0",
|
|
128
128
|
"@types/semver": "^7.5.8",
|
|
129
129
|
"@types/swagger-ui-express": "^4.1.6",
|
|
130
|
-
"@typescript-eslint/rule-tester": "^8.
|
|
130
|
+
"@typescript-eslint/rule-tester": "^8.15.0",
|
|
131
131
|
"@vitest/coverage-v8": "^2.1.5",
|
|
132
132
|
"camelize-ts": "^3.0.0",
|
|
133
133
|
"compression": "^1.7.4",
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
"tsup": "^8.0.0",
|
|
152
152
|
"tsx": "^4.6.2",
|
|
153
153
|
"typescript": "^5.5.2",
|
|
154
|
-
"typescript-eslint": "^8.
|
|
154
|
+
"typescript-eslint": "^8.15.0",
|
|
155
155
|
"undici": "^6.19.8",
|
|
156
156
|
"vitest": "^2.1.5",
|
|
157
157
|
"zod": "^3.23.0"
|