@ripetchor/vivi 0.0.2 → 0.0.4

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/dist/index.d.mts CHANGED
@@ -24,7 +24,11 @@ interface ViviValidator<T> {
24
24
  type Infer<T> = T extends ViviValidator<infer U> ? U : never;
25
25
  type ErrorFn = (input: unknown) => string;
26
26
  type ParseFn<T> = (input: unknown, path: Path) => T;
27
- type RefineFn<T> = (value: T) => boolean | string;
27
+ type RefineResult = boolean | string | {
28
+ path?: (string | number)[];
29
+ message: string;
30
+ };
31
+ type RefineFn<T> = (value: T) => RefineResult;
28
32
  type TransformFn<T, U> = (value: T) => U;
29
33
  type ErrorMessage = string | ErrorFn;
30
34
  interface ValidatorOptions {
@@ -142,6 +146,13 @@ declare function unionValidator<T extends ReadonlyArray<ViviValidator<unknown>>>
142
146
  //#region src/unknown-validator.d.ts
143
147
  declare function unknownValidator(): ViviValidator<unknown>;
144
148
  //#endregion
149
+ //#region src/shared/error-utils.d.ts
150
+ type ValidationErrors<T> = { [K in keyof T]?: T[K] extends object ? ValidationErrors<T[K]> : string };
151
+ declare function issuesToString(issues: ReadonlyArray<ViviIssue>): string;
152
+ declare function issuesToObject<T extends object>(issues: ReadonlyArray<ViviIssue>): ValidationErrors<T>;
153
+ declare function getError<T extends object>(errorsObj: ValidationErrors<T>, path: string): string | undefined;
154
+ declare function flattenErrors(issues: ReadonlyArray<ViviIssue>): Record<string, string>;
155
+ //#endregion
145
156
  //#region src/refinement-utils/number-refinements.d.ts
146
157
  declare function min(minValue: number, message?: string): (value: number) => string | true;
147
158
  declare function max(maxValue: number, message?: string): (value: number) => string | true;
@@ -217,4 +228,4 @@ declare namespace v {
217
228
  type infer<T extends ViviValidator<unknown>> = Infer<T>;
218
229
  }
219
230
  //#endregion
220
- export { ViviError, abs, arrayValidator, between, bigintValidator, booleanValidator, ceil, clamp, createValidator as customValidator, dateValidator, v as default, v, emailValidator, endsWith, even, fallback, finite, floor, gt, includes, instanceValidator, integer, length, literalValidator, lowercase, lt, match, max, maxLength, min, minLength, negative, nonEmpty, normalizeSpaces, notIncludes, nullValidator, nullableValidator, numberValidator, objectValidator, odd, optionalValidator, pattern, pipe, positive, refine, replace, round, startsWith, stringValidator, toLowerCase, toUpperCase, trim, trimmed, truncateEnd, truncateStart, undefinedValidator, unionValidator, unknownValidator, uppercase, uuid4 };
231
+ export { ViviError, abs, arrayValidator, between, bigintValidator, booleanValidator, ceil, clamp, createValidator as customValidator, dateValidator, v as default, v, emailValidator, endsWith, even, fallback, finite, flattenErrors, floor, getError, gt, includes, instanceValidator, integer, issuesToObject, issuesToString, length, literalValidator, lowercase, lt, match, max, maxLength, min, minLength, negative, nonEmpty, normalizeSpaces, notIncludes, nullValidator, nullableValidator, numberValidator, objectValidator, odd, optionalValidator, pattern, pipe, positive, refine, replace, round, startsWith, stringValidator, toLowerCase, toUpperCase, trim, trimmed, truncateEnd, truncateStart, undefinedValidator, unionValidator, unknownValidator, uppercase, uuid4 };
package/dist/index.mjs CHANGED
@@ -1 +1,2 @@
1
- var e=class e extends Error{issues;constructor(t){super(`Vivi validation error`),this.name=e.name,this.issues=t}static single(t,n){return new e([{message:t,path:n}])}merge(t){return new e([...this.issues,...t.issues])}};function t(e,t,n){for(let r=0;r<t.length;r++){let i=t[r],a=[];for(let e=0;e<n.length;e++)a.push(n[e]);for(let e=0;e<i.path.length;e++)a.push(i.path[e]);e.push({message:i.message,path:a})}}function n(t){return{parse(e,n=[]){return t(e,n)},safeParse(n){try{return{success:!0,data:t(n,[])}}catch(t){if(t instanceof e)return{success:!1,error:t};let n=t instanceof Error?t.message:`Unknown validation error`;return{success:!1,error:e.single(n,[])}}}}}function r(e,t,n){return typeof e==`function`?e(n):e??t}function i(i,a){return n((n,o)=>{if(!Array.isArray(n))throw e.single(r(a?.error,`Expected array`,n),o);let s=[],c=[];for(let r=0;r<n.length;r++){let l=i.safeParse(n[r]);if(l.success)s[r]=l.data;else if(t(c,l.error.issues,o.concat(r)),a?.abort)throw new e(c)}if(c.length>0)throw new e(c);return s})}function a(t){return n((n,i)=>{if(typeof n!=`bigint`)throw e.single(r(t?.error,`Expected bigint`,n),i);return n})}function o(t){return n((n,i)=>{if(typeof n!=`boolean`)throw e.single(r(t?.error,`Expected boolean`,n),i);return n})}function s(t){return n((n,i)=>{if(!(n instanceof Date)||isNaN(n.getTime()))throw e.single(r(t?.error,`Expected Date`,n),i);return n})}const c=/^(?!\.)(?!.*\.\.)([a-z0-9_'+\-\.]*)[a-z0-9_+\-]@([a-z0-9][a-z0-9\-]*\.)+[a-z]{2,}$/i;function l(t){let i=t?.pattern??c;return n((n,a)=>{if(typeof n!=`string`)throw e.single(r(t?.error,`Expected string`,n),a);if(!i.test(n))throw e.single(r(t?.error,`Invalid email format`,n),a);return n})}function u(t,r){return n((n,i)=>{try{return t.parse(n,i)}catch(t){if(t instanceof e)return r;throw t}})}function d(t,i){return n((n,a)=>{if(!(n instanceof t))throw e.single(r(i?.error,`Expected instance of ${t.name}`,n),a);return n})}function f(t,i){return n((n,a)=>{if(n!==t)throw e.single(r(i?.error,`Expected literal ${String(t)}`,n),a);return t})}function p(t){return n((n,i)=>{if(n!==null)throw e.single(r(t?.error,`Expected null`,n),i);return null})}function m(e){return n((t,n)=>t===null?null:e.parse(t,n))}function h(t){return n((n,i)=>{if(typeof n!=`number`)throw e.single(r(t?.error,`Expected number`,n),i);return n})}function g(i,a){let o=a?.mode??`strip`;return n((n,s)=>{if(typeof n!=`object`||!n||Array.isArray(n))throw e.single(r(a?.error,`Expected object`,n),s);let c=n,l={},u=[],d=Object.keys(c);for(let n=0;n<d.length;n++){let f=d[n],p=c[f],m=i[f];if(m!==void 0){let n=m.safeParse(p);if(n.success)l[f]=n.data;else if(t(u,n.error.issues,s.concat(f)),a?.abort)throw new e(u)}else o===`exact`?u.push({message:r(void 0,`Unexpected property`,p),path:s.concat(f)}):o===`passthrough`&&(l[f]=p)}if(u.length>0)throw new e(u);return l})}function _(e){return n((t,n)=>{if(t!==void 0)return e.parse(t,n)})}function v(e,...t){return n((n,r)=>{let i=e.parse(n,r);for(let e=0;e<t.length;e++)i=t[e](i);return i})}function y(t,r,i){return n((n,a)=>{let o=t.parse(n,a),s=[];for(let e=0;e<r.length;e++){let t=r[e](o);if(t===!1){if(s.push({path:a,message:`Refinement failed`}),i?.abort)break}else if(typeof t==`string`&&(s.push({path:a,message:t}),i?.abort))break}if(s.length>0)throw new e(s);return o})}function b(e,t,n){return e.success?t(e.data):n(e.error)}function x(t){return n((n,i)=>{if(typeof n!=`string`)throw e.single(r(t?.error,`Expected string`,n),i);return n})}function S(t){return n((n,i)=>{if(n!==void 0)throw e.single(r(t?.error,`Expected undefined`,n),i)})}function C(i,a){return n((n,o)=>{let s=[];for(let e=0;e<i.length;e++){let r=i[e].safeParse(n);if(r.success)return r.data;t(s,r.error.issues,o)}throw s.length>0?new e(s):e.single(r(a?.error,`No union variant matched`,n),o)})}function w(){return n(e=>e)}function T(e,t){return function(n){return n>=e||t||`Must be >= ${e}`}}function ee(e,t){return function(n){return n<=e||t||`Must be <= ${e}`}}function E(e,t){return function(n){return n>e||t||`Must be > ${e}`}}function D(e,t){return function(n){return n<e||t||`Must be < ${e}`}}function O(e){return function(t){return Number.isInteger(t)||e||`Must be an integer`}}function k(e){return function(t){return Number.isFinite(t)||e||`Must be a finite number`}}function A(e){return function(t){return t>0||e||`Must be positive`}}function j(e){return function(t){return t<0||e||`Must be negative`}}function M(e,t,n){return function(r){return r>=e&&r<=t||n||`Must be between ${e} and ${t}`}}function N(e){return function(t){return t%2==0||e||`Must be an even number`}}function P(e){return function(t){return t%2!=0||e||`Must be an odd number`}}function F(e,t){return function(n){return n.length>=e||t||`Must have at least ${e} characters`}}function I(e,t){return function(n){return n.length<=e||t||`Must have at most ${e} characters`}}function L(e,t){return function(n){return n.length===e||t||`Must have exactly ${e} characters`}}function R(e,t){return function(n){return e.test(n)||t||`Invalid format`}}function z(e,t){return function(n){return n.startsWith(e)||t||`Must start with "${e}"`}}function B(e,t){return function(n){return n.endsWith(e)||t||`Must end with "${e}"`}}function V(e){return function(t){return t.length>0||e||`Must not be empty`}}function te(e,t){return function(n){return n.includes(e)||t||`Must include "${e}"`}}function H(e,t){return function(n){return!n.includes(e)||t||`Must not include "${e}"`}}function U(e){return function(t){return t.trim()===t||e||`Must not have leading or trailing spaces`}}function W(e){return function(t){return t===t.toLowerCase()||e||`Must be lowercase`}}function G(e){return function(t){return t===t.toUpperCase()||e||`Must be uppercase`}}function K(e){let t=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;return function(n){return t.test(n)||e||`Must be a valid UUID v4`}}function q(){return function(e){return Math.round(e)}}function J(){return function(e){return Math.floor(e)}}function Y(){return function(e){return Math.ceil(e)}}function X(e,t){return function(n){return Math.min(Math.max(n,e),t)}}function Z(){return function(e){return Math.abs(e)}}function Q(){return function(e){return e.trim()}}function ne(){return function(e){return e.toLowerCase()}}function re(){return function(e){return e.toUpperCase()}}function ie(e,t,n){return function(r){if(typeof e==`string`){let i=``;return n?.global&&(i+=`g`),n?.ignoreCase&&(i+=`i`),r.replace(new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),i),t)}else return r.replace(e,t)}}function ae(e,t=``){return function(n){return n.length>e?n.slice(0,e)+t:n}}function oe(e,t=``){return function(n){return n.length<=e?n:t+n.slice(n.length-e)}}function se(){return function(e){return e.replace(/\s+/g,` `).trim()}}const $={array:i,bigint:a,boolean:o,date:s,email:l,fallback:u,instance:d,literal:f,null:p,nullable:m,number:h,object:g,optional:_,string:x,undefined:S,union:C,unknown:w,refine:y,pipe:v,match:b};var ce=$;export{e as ViviError,Z as abs,i as arrayValidator,M as between,a as bigintValidator,o as booleanValidator,Y as ceil,X as clamp,n as customValidator,s as dateValidator,ce as default,l as emailValidator,B as endsWith,N as even,u as fallback,k as finite,J as floor,E as gt,te as includes,d as instanceValidator,O as integer,L as length,f as literalValidator,W as lowercase,D as lt,b as match,ee as max,I as maxLength,T as min,F as minLength,j as negative,V as nonEmpty,se as normalizeSpaces,H as notIncludes,p as nullValidator,m as nullableValidator,h as numberValidator,g as objectValidator,P as odd,_ as optionalValidator,R as pattern,v as pipe,A as positive,y as refine,ie as replace,q as round,z as startsWith,x as stringValidator,ne as toLowerCase,re as toUpperCase,Q as trim,U as trimmed,ae as truncateEnd,oe as truncateStart,S as undefinedValidator,C as unionValidator,w as unknownValidator,G as uppercase,K as uuid4,$ as v};
1
+ var e=class e extends Error{issues;constructor(t){super(`Vivi validation error`),this.name=e.name,this.issues=t}static single(t,n){return new e([{message:t,path:n}])}merge(t){return new e([...this.issues,...t.issues])}};function t(e,t,n){for(let r=0;r<t.length;r++){let i=t[r],a=[];for(let e=0;e<n.length;e++)a.push(n[e]);for(let e=0;e<i.path.length;e++)a.push(i.path[e]);e.push({message:i.message,path:a})}}function n(t){return{parse(e,n=[]){return t(e,n)},safeParse(n){try{return{success:!0,data:t(n,[])}}catch(t){if(t instanceof e)return{success:!1,error:t};let n=t instanceof Error?t.message:`Unknown validation error`;return{success:!1,error:e.single(n,[])}}}}}function r(e,t,n){return typeof e==`function`?e(n):e??t}function i(i,a){return n((n,o)=>{if(!Array.isArray(n))throw e.single(r(a?.error,`Expected array`,n),o);let s=[],c=[];for(let r=0;r<n.length;r++){let l=i.safeParse(n[r]);if(l.success)s[r]=l.data;else if(t(c,l.error.issues,o.concat(r)),a?.abort)throw new e(c)}if(c.length>0)throw new e(c);return s})}function a(t){return n((n,i)=>{if(typeof n!=`bigint`)throw e.single(r(t?.error,`Expected bigint`,n),i);return n})}function o(t){return n((n,i)=>{if(typeof n!=`boolean`)throw e.single(r(t?.error,`Expected boolean`,n),i);return n})}function s(t){return n((n,i)=>{if(!(n instanceof Date)||isNaN(n.getTime()))throw e.single(r(t?.error,`Expected Date`,n),i);return n})}const c=/^(?!\.)(?!.*\.\.)([a-z0-9_'+\-\.]*)[a-z0-9_+\-]@([a-z0-9][a-z0-9\-]*\.)+[a-z]{2,}$/i;function l(t){let i=t?.pattern??c;return n((n,a)=>{if(typeof n!=`string`)throw e.single(r(t?.error,`Expected string`,n),a);if(!i.test(n))throw e.single(r(t?.error,`Invalid email format`,n),a);return n})}function u(t,r){return n((n,i)=>{try{return t.parse(n,i)}catch(t){if(t instanceof e)return r;throw t}})}function d(t,i){return n((n,a)=>{if(!(n instanceof t))throw e.single(r(i?.error,`Expected instance of ${t.name}`,n),a);return n})}function f(t,i){return n((n,a)=>{if(n!==t)throw e.single(r(i?.error,`Expected literal ${String(t)}`,n),a);return t})}function p(t){return n((n,i)=>{if(n!==null)throw e.single(r(t?.error,`Expected null`,n),i);return null})}function m(e){return n((t,n)=>t===null?null:e.parse(t,n))}function h(t){return n((n,i)=>{if(typeof n!=`number`)throw e.single(r(t?.error,`Expected number`,n),i);return n})}function ee(t,n,i){if(typeof t!=`object`||!t||Array.isArray(t))throw e.single(r(i,`Expected object`,t),n)}function te(n,r,i,a,o,s,c){let l=i.safeParse(r);if(l.success)c&&(c[n]=l.data);else if(t(o,l.error.issues,a.concat(n)),s)throw new e(o)}function g(t,n,i,a,o,s,c){switch(i){case`passthrough`:c&&(c[t]=n);break;case`exact`:if(a.push({message:r(void 0,`Unexpected property`,n),path:o.concat(t)}),s)throw new e(a);break}}function _(t,n,i,a,o,s,c=`strip`){for(let l=0;l<n.length;l++){let u=n[l];if(!(u in t)){let t=i[u].safeParse(null).success;if((c===`exact`||t)&&(a.push({message:r(void 0,`Missing required property`,void 0),path:o.concat(u)}),s))throw new e(a)}}}function v(t,r){let i=r?.mode??`strip`;return n((n,a)=>{ee(n,a,r?.error);let o=n,s={},c=[],l=Object.keys(o),u=Object.keys(t);for(let e=0;e<l.length;e++){let n=l[e],u=o[n],d=t[n];d?te(n,u,d,a,c,r?.abort,s):g(n,u,i,c,a,r?.abort,s)}if(_(o,u,t,c,a,r?.abort,i),c.length>0)throw new e(c);return s})}function y(e){return n((t,n)=>{if(t!==void 0)return e.parse(t,n)})}function b(e,...t){return n((n,r)=>{let i=e.parse(n,r);for(let e=0;e<t.length;e++)i=t[e](i);return i})}function x(e,t){let n=[];if(e===!1)n.push({path:t,message:`Refinement failed`});else if(typeof e==`string`)n.push({path:t,message:e});else if(e&&typeof e==`object`&&`message`in e){let r=e,i=r.path?t.concat(r.path):t;n.push({path:i,message:r.message})}else if(Array.isArray(e))for(let r=0;r<e.length;r++){let i=e[r],a=i.path?t.concat(i.path):t;n.push({path:a,message:i.message})}return n}function S(t,r,i){return n((n,a)=>{let o=t.parse(n,a),s=[];for(let e=0;e<r.length;e++){let t=x(r[e](o),a);for(let e=0;e<t.length;e++)s.push(t[e]);if(i?.abort&&t.length>0)break}if(s.length>0)throw new e(s);return o})}function C(e,t,n){return e.success?t(e.data):n(e.error)}function w(t){return n((n,i)=>{if(typeof n!=`string`)throw e.single(r(t?.error,`Expected string`,n),i);return n})}function T(t){return n((n,i)=>{if(n!==void 0)throw e.single(r(t?.error,`Expected undefined`,n),i)})}function E(i,a){return n((n,o)=>{let s=[];for(let e=0;e<i.length;e++){let r=i[e].safeParse(n);if(r.success)return r.data;t(s,r.error.issues,o)}throw s.length>0?new e(s):e.single(r(a?.error,`No union variant matched`,n),o)})}function D(){return n(e=>e)}function O(e){let t=``;for(let n=0;n<e.length;n++){let r=e[n],i=r.path.length>0?r.path.join(`.`):`(root)`;t+=`${i}: ${r.message}`,n<e.length-1&&(t+=`
2
+ `)}return t}function k(e){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=t;for(let e=0;e<r.path.length;e++){let t=r.path[e];e===r.path.length-1?i[t]=r.message:(i[t]||(i[t]={}),i=i[t])}}return t}function A(e,t){let n=t.split(`.`),r=e;for(let e=0;e<n.length;e++){let t=n[e];if(r&&typeof r==`object`&&t in r)r=r[t];else return}return typeof r==`string`?r:void 0}function j(e){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=r.path.join(`.`);t[i]=r.message}return t}function M(e,t){return function(n){return n>=e||t||`Must be >= ${e}`}}function N(e,t){return function(n){return n<=e||t||`Must be <= ${e}`}}function P(e,t){return function(n){return n>e||t||`Must be > ${e}`}}function F(e,t){return function(n){return n<e||t||`Must be < ${e}`}}function I(e){return function(t){return Number.isInteger(t)||e||`Must be an integer`}}function L(e){return function(t){return Number.isFinite(t)||e||`Must be a finite number`}}function R(e){return function(t){return t>0||e||`Must be positive`}}function z(e){return function(t){return t<0||e||`Must be negative`}}function B(e,t,n){return function(r){return r>=e&&r<=t||n||`Must be between ${e} and ${t}`}}function V(e){return function(t){return t%2==0||e||`Must be an even number`}}function H(e){return function(t){return t%2!=0||e||`Must be an odd number`}}function U(e,t){return function(n){return n.length>=e||t||`Must have at least ${e} characters`}}function W(e,t){return function(n){return n.length<=e||t||`Must have at most ${e} characters`}}function ne(e,t){return function(n){return n.length===e||t||`Must have exactly ${e} characters`}}function G(e,t){return function(n){return e.test(n)||t||`Invalid format`}}function K(e,t){return function(n){return n.startsWith(e)||t||`Must start with "${e}"`}}function q(e,t){return function(n){return n.endsWith(e)||t||`Must end with "${e}"`}}function J(e){return function(t){return t.length>0||e||`Must not be empty`}}function Y(e,t){return function(n){return n.includes(e)||t||`Must include "${e}"`}}function X(e,t){return function(n){return!n.includes(e)||t||`Must not include "${e}"`}}function Z(e){return function(t){return t.trim()===t||e||`Must not have leading or trailing spaces`}}function re(e){return function(t){return t===t.toLowerCase()||e||`Must be lowercase`}}function ie(e){return function(t){return t===t.toUpperCase()||e||`Must be uppercase`}}function ae(e){let t=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;return function(n){return t.test(n)||e||`Must be a valid UUID v4`}}function oe(){return function(e){return Math.round(e)}}function se(){return function(e){return Math.floor(e)}}function ce(){return function(e){return Math.ceil(e)}}function le(e,t){return function(n){return Math.min(Math.max(n,e),t)}}function ue(){return function(e){return Math.abs(e)}}function de(){return function(e){return e.trim()}}function fe(){return function(e){return e.toLowerCase()}}function pe(){return function(e){return e.toUpperCase()}}function me(e,t,n){return function(r){if(typeof e==`string`){let i=``;return n?.global&&(i+=`g`),n?.ignoreCase&&(i+=`i`),r.replace(new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),i),t)}else return r.replace(e,t)}}function Q(e,t=``){return function(n){return n.length>e?n.slice(0,e)+t:n}}function he(e,t=``){return function(n){return n.length<=e?n:t+n.slice(n.length-e)}}function ge(){return function(e){return e.replace(/\s+/g,` `).trim()}}const $={array:i,bigint:a,boolean:o,date:s,email:l,fallback:u,instance:d,literal:f,null:p,nullable:m,number:h,object:v,optional:y,string:w,undefined:T,union:E,unknown:D,refine:S,pipe:b,match:C};var _e=$;export{e as ViviError,ue as abs,i as arrayValidator,B as between,a as bigintValidator,o as booleanValidator,ce as ceil,le as clamp,n as customValidator,s as dateValidator,_e as default,l as emailValidator,q as endsWith,V as even,u as fallback,L as finite,j as flattenErrors,se as floor,A as getError,P as gt,Y as includes,d as instanceValidator,I as integer,k as issuesToObject,O as issuesToString,ne as length,f as literalValidator,re as lowercase,F as lt,C as match,N as max,W as maxLength,M as min,U as minLength,z as negative,J as nonEmpty,ge as normalizeSpaces,X as notIncludes,p as nullValidator,m as nullableValidator,h as numberValidator,v as objectValidator,H as odd,y as optionalValidator,G as pattern,b as pipe,R as positive,S as refine,me as replace,oe as round,K as startsWith,w as stringValidator,fe as toLowerCase,pe as toUpperCase,de as trim,Z as trimmed,Q as truncateEnd,he as truncateStart,T as undefinedValidator,E as unionValidator,D as unknownValidator,ie as uppercase,ae as uuid4,$ as v};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ripetchor/vivi",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "scripts": {
5
5
  "build": "tsdown",
6
6
  "dev": "tsdown --watch",
@@ -12,7 +12,9 @@
12
12
  "url": "git+https://github.com/ripetchor/vivi.git"
13
13
  },
14
14
  "author": "ripetchor",
15
- "files": ["dist"],
15
+ "files": [
16
+ "dist"
17
+ ],
16
18
  "publishConfig": {
17
19
  "access": "public"
18
20
  },