zudoku 0.18.3 → 0.18.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/cli/common/logger.js +9 -0
- package/dist/cli/common/logger.js.map +1 -1
- package/dist/config/validators/validate.d.ts +23 -3
- package/dist/config/validators/validate.js +7 -1
- package/dist/config/validators/validate.js.map +1 -1
- package/dist/lib/oas/parser/upgrade/index.d.ts +2 -2
- package/dist/lib/oas/parser/upgrade/index.js +2 -17
- package/dist/lib/oas/parser/upgrade/index.js.map +1 -1
- package/dist/lib/plugins/markdown/MdxPage.d.ts +9 -1
- package/dist/lib/plugins/markdown/MdxPage.js +14 -1
- package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
- package/dist/lib/plugins/markdown/index.js +1 -1
- package/dist/lib/plugins/markdown/index.js.map +1 -1
- package/dist/lib/plugins/openapi/client/GraphQLClient.js +12 -0
- package/dist/lib/plugins/openapi/client/GraphQLClient.js.map +1 -1
- package/dist/lib/plugins/openapi/client/useCreateQuery.d.ts +1 -1
- package/dist/lib/plugins/openapi/client/useCreateQuery.js +4 -2
- package/dist/lib/plugins/openapi/client/useCreateQuery.js.map +1 -1
- package/dist/lib/plugins/openapi/interfaces.d.ts +1 -1
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.d.ts +6 -0
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.js +14 -0
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.js.map +1 -0
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.d.ts +1 -0
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js +125 -0
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js.map +1 -0
- package/dist/lib/plugins/openapi/post-processors/removePaths.d.ts +11 -0
- package/dist/lib/plugins/openapi/post-processors/removePaths.js +33 -0
- package/dist/lib/plugins/openapi/post-processors/removePaths.js.map +1 -0
- package/dist/lib/plugins/openapi/post-processors/removePaths.test.d.ts +1 -0
- package/dist/lib/plugins/openapi/post-processors/removePaths.test.js +104 -0
- package/dist/lib/plugins/openapi/post-processors/removePaths.test.js.map +1 -0
- package/dist/lib/plugins/openapi/post-processors/traverse.d.ts +1 -0
- package/dist/lib/plugins/openapi/post-processors/traverse.js +2 -0
- package/dist/lib/plugins/openapi/post-processors/traverse.js.map +1 -0
- package/dist/lib/util/traverse.d.ts +2 -0
- package/dist/lib/util/traverse.js +18 -0
- package/dist/lib/util/traverse.js.map +1 -0
- package/dist/vite/config.js +12 -0
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/config.test.js +3 -4
- package/dist/vite/config.test.js.map +1 -1
- package/dist/vite/output.js +20 -0
- package/dist/vite/output.js.map +1 -1
- package/dist/vite/plugin-api.js +23 -19
- package/dist/vite/plugin-api.js.map +1 -1
- package/dist/vite/plugin-component.js +14 -19
- package/dist/vite/plugin-component.js.map +1 -1
- package/dist/vite/plugin-docs.test.js +15 -23
- package/dist/vite/plugin-docs.test.js.map +1 -1
- package/dist/zuplo/with-zuplo.d.ts +3 -0
- package/dist/zuplo/with-zuplo.js +28 -0
- package/dist/zuplo/with-zuplo.js.map +1 -0
- package/lib/MdxPage-B2FpJ9KC.js +183 -0
- package/lib/MdxPage-B2FpJ9KC.js.map +1 -0
- package/lib/{OperationList-n4cxkna8.js → OperationList-BkNQEsNs.js} +459 -457
- package/lib/OperationList-BkNQEsNs.js.map +1 -0
- package/lib/assets/{worker-DFqp3K5a.js → worker-BHClFO3A.js} +3 -5
- package/lib/assets/worker-BHClFO3A.js.map +1 -0
- package/lib/{createServer-DizTyrsZ.js → createServer-CpJlUPtn.js} +4456 -5244
- package/lib/createServer-CpJlUPtn.js.map +1 -0
- package/lib/{index-DVheR31u.js → index-C7SaIME0.js} +49 -45
- package/lib/index-C7SaIME0.js.map +1 -0
- package/lib/object_hash-CvlLgU-M.js +785 -0
- package/lib/object_hash-CvlLgU-M.js.map +1 -0
- package/lib/post-processors/removeExtensions.js +11 -0
- package/lib/post-processors/removeExtensions.js.map +1 -0
- package/lib/post-processors/removePaths.js +28 -0
- package/lib/post-processors/removePaths.js.map +1 -0
- package/lib/post-processors/traverse.js +12 -0
- package/lib/post-processors/traverse.js.map +1 -0
- package/lib/zudoku.openapi-worker.js +1 -1
- package/lib/zudoku.plugin-markdown.js +15 -14
- package/lib/zudoku.plugin-markdown.js.map +1 -1
- package/lib/zudoku.plugin-openapi.js +1 -1
- package/package.json +15 -5
- package/src/lib/oas/parser/upgrade/index.ts +3 -24
- package/src/lib/plugins/markdown/MdxPage.tsx +25 -1
- package/src/lib/plugins/markdown/index.tsx +1 -0
- package/src/lib/plugins/openapi/client/GraphQLClient.tsx +17 -0
- package/src/lib/plugins/openapi/client/useCreateQuery.ts +5 -2
- package/src/lib/plugins/openapi/interfaces.ts +1 -1
- package/src/lib/plugins/openapi/post-processors/removeExtensions.test.ts +144 -0
- package/src/lib/plugins/openapi/post-processors/removeExtensions.ts +24 -0
- package/src/lib/plugins/openapi/post-processors/removePaths.test.ts +126 -0
- package/src/lib/plugins/openapi/post-processors/removePaths.ts +55 -0
- package/src/lib/plugins/openapi/post-processors/traverse.ts +1 -0
- package/src/lib/util/traverse.ts +25 -0
- package/lib/MdxPage-Bwn-VSsH.js +0 -174
- package/lib/MdxPage-Bwn-VSsH.js.map +0 -1
- package/lib/OperationList-n4cxkna8.js.map +0 -1
- package/lib/assets/worker-DFqp3K5a.js.map +0 -1
- package/lib/createServer-DizTyrsZ.js.map +0 -1
- package/lib/index-DVheR31u.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object_hash-CvlLgU-M.js","sources":["../../../node_modules/.pnpm/object-hash@3.0.0/node_modules/object-hash/dist/object_hash.js"],"sourcesContent":["!function(e){var t;\"object\"==typeof exports?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(\"undefined\"!=typeof window?t=window:\"undefined\"!=typeof global?t=global:\"undefined\"!=typeof self&&(t=self),t.objectHash=e())}(function(){return function r(o,i,u){function s(n,e){if(!i[n]){if(!o[n]){var t=\"function\"==typeof require&&require;if(!e&&t)return t(n,!0);if(a)return a(n,!0);throw new Error(\"Cannot find module '\"+n+\"'\")}e=i[n]={exports:{}};o[n][0].call(e.exports,function(e){var t=o[n][1][e];return s(t||e)},e,e.exports,r,o,i,u)}return i[n].exports}for(var a=\"function\"==typeof require&&require,e=0;e<u.length;e++)s(u[e]);return s}({1:[function(w,b,m){!function(e,n,s,c,d,h,p,g,y){\"use strict\";var r=w(\"crypto\");function t(e,t){t=u(e,t);var n;return void 0===(n=\"passthrough\"!==t.algorithm?r.createHash(t.algorithm):new l).write&&(n.write=n.update,n.end=n.update),f(t,n).dispatch(e),n.update||n.end(\"\"),n.digest?n.digest(\"buffer\"===t.encoding?void 0:t.encoding):(e=n.read(),\"buffer\"!==t.encoding?e.toString(t.encoding):e)}(m=b.exports=t).sha1=function(e){return t(e)},m.keys=function(e){return t(e,{excludeValues:!0,algorithm:\"sha1\",encoding:\"hex\"})},m.MD5=function(e){return t(e,{algorithm:\"md5\",encoding:\"hex\"})},m.keysMD5=function(e){return t(e,{algorithm:\"md5\",encoding:\"hex\",excludeValues:!0})};var o=r.getHashes?r.getHashes().slice():[\"sha1\",\"md5\"],i=(o.push(\"passthrough\"),[\"buffer\",\"hex\",\"binary\",\"base64\"]);function u(e,t){var n={};if(n.algorithm=(t=t||{}).algorithm||\"sha1\",n.encoding=t.encoding||\"hex\",n.excludeValues=!!t.excludeValues,n.algorithm=n.algorithm.toLowerCase(),n.encoding=n.encoding.toLowerCase(),n.ignoreUnknown=!0===t.ignoreUnknown,n.respectType=!1!==t.respectType,n.respectFunctionNames=!1!==t.respectFunctionNames,n.respectFunctionProperties=!1!==t.respectFunctionProperties,n.unorderedArrays=!0===t.unorderedArrays,n.unorderedSets=!1!==t.unorderedSets,n.unorderedObjects=!1!==t.unorderedObjects,n.replacer=t.replacer||void 0,n.excludeKeys=t.excludeKeys||void 0,void 0===e)throw new Error(\"Object argument required.\");for(var r=0;r<o.length;++r)o[r].toLowerCase()===n.algorithm.toLowerCase()&&(n.algorithm=o[r]);if(-1===o.indexOf(n.algorithm))throw new Error('Algorithm \"'+n.algorithm+'\" not supported. supported values: '+o.join(\", \"));if(-1===i.indexOf(n.encoding)&&\"passthrough\"!==n.algorithm)throw new Error('Encoding \"'+n.encoding+'\" not supported. supported values: '+i.join(\", \"));return n}function a(e){if(\"function\"==typeof e)return null!=/^function\\s+\\w*\\s*\\(\\s*\\)\\s*{\\s+\\[native code\\]\\s+}$/i.exec(Function.prototype.toString.call(e))}function f(o,t,i){i=i||[];function u(e){return t.update?t.update(e,\"utf8\"):t.write(e,\"utf8\")}return{dispatch:function(e){return this[\"_\"+(null===(e=o.replacer?o.replacer(e):e)?\"null\":typeof e)](e)},_object:function(t){var n,e=Object.prototype.toString.call(t),r=/\\[object (.*)\\]/i.exec(e);r=(r=r?r[1]:\"unknown:[\"+e+\"]\").toLowerCase();if(0<=(e=i.indexOf(t)))return this.dispatch(\"[CIRCULAR:\"+e+\"]\");if(i.push(t),void 0!==s&&s.isBuffer&&s.isBuffer(t))return u(\"buffer:\"),u(t);if(\"object\"===r||\"function\"===r||\"asyncfunction\"===r)return e=Object.keys(t),o.unorderedObjects&&(e=e.sort()),!1===o.respectType||a(t)||e.splice(0,0,\"prototype\",\"__proto__\",\"constructor\"),o.excludeKeys&&(e=e.filter(function(e){return!o.excludeKeys(e)})),u(\"object:\"+e.length+\":\"),n=this,e.forEach(function(e){n.dispatch(e),u(\":\"),o.excludeValues||n.dispatch(t[e]),u(\",\")});if(!this[\"_\"+r]){if(o.ignoreUnknown)return u(\"[\"+r+\"]\");throw new Error('Unknown object type \"'+r+'\"')}this[\"_\"+r](t)},_array:function(e,t){t=void 0!==t?t:!1!==o.unorderedArrays;var n=this;if(u(\"array:\"+e.length+\":\"),!t||e.length<=1)return e.forEach(function(e){return n.dispatch(e)});var r=[],t=e.map(function(e){var t=new l,n=i.slice();return f(o,t,n).dispatch(e),r=r.concat(n.slice(i.length)),t.read().toString()});return i=i.concat(r),t.sort(),this._array(t,!1)},_date:function(e){return u(\"date:\"+e.toJSON())},_symbol:function(e){return u(\"symbol:\"+e.toString())},_error:function(e){return u(\"error:\"+e.toString())},_boolean:function(e){return u(\"bool:\"+e.toString())},_string:function(e){u(\"string:\"+e.length+\":\"),u(e.toString())},_function:function(e){u(\"fn:\"),a(e)?this.dispatch(\"[native]\"):this.dispatch(e.toString()),!1!==o.respectFunctionNames&&this.dispatch(\"function-name:\"+String(e.name)),o.respectFunctionProperties&&this._object(e)},_number:function(e){return u(\"number:\"+e.toString())},_xml:function(e){return u(\"xml:\"+e.toString())},_null:function(){return u(\"Null\")},_undefined:function(){return u(\"Undefined\")},_regexp:function(e){return u(\"regex:\"+e.toString())},_uint8array:function(e){return u(\"uint8array:\"),this.dispatch(Array.prototype.slice.call(e))},_uint8clampedarray:function(e){return u(\"uint8clampedarray:\"),this.dispatch(Array.prototype.slice.call(e))},_int8array:function(e){return u(\"int8array:\"),this.dispatch(Array.prototype.slice.call(e))},_uint16array:function(e){return u(\"uint16array:\"),this.dispatch(Array.prototype.slice.call(e))},_int16array:function(e){return u(\"int16array:\"),this.dispatch(Array.prototype.slice.call(e))},_uint32array:function(e){return u(\"uint32array:\"),this.dispatch(Array.prototype.slice.call(e))},_int32array:function(e){return u(\"int32array:\"),this.dispatch(Array.prototype.slice.call(e))},_float32array:function(e){return u(\"float32array:\"),this.dispatch(Array.prototype.slice.call(e))},_float64array:function(e){return u(\"float64array:\"),this.dispatch(Array.prototype.slice.call(e))},_arraybuffer:function(e){return u(\"arraybuffer:\"),this.dispatch(new Uint8Array(e))},_url:function(e){return u(\"url:\"+e.toString())},_map:function(e){u(\"map:\");e=Array.from(e);return this._array(e,!1!==o.unorderedSets)},_set:function(e){u(\"set:\");e=Array.from(e);return this._array(e,!1!==o.unorderedSets)},_file:function(e){return u(\"file:\"),this.dispatch([e.name,e.size,e.type,e.lastModfied])},_blob:function(){if(o.ignoreUnknown)return u(\"[blob]\");throw Error('Hashing Blob objects is currently not supported\\n(see https://github.com/puleos/object-hash/issues/26)\\nUse \"options.replacer\" or \"options.ignoreUnknown\"\\n')},_domwindow:function(){return u(\"domwindow\")},_bigint:function(e){return u(\"bigint:\"+e.toString())},_process:function(){return u(\"process\")},_timer:function(){return u(\"timer\")},_pipe:function(){return u(\"pipe\")},_tcp:function(){return u(\"tcp\")},_udp:function(){return u(\"udp\")},_tty:function(){return u(\"tty\")},_statwatcher:function(){return u(\"statwatcher\")},_securecontext:function(){return u(\"securecontext\")},_connection:function(){return u(\"connection\")},_zlib:function(){return u(\"zlib\")},_context:function(){return u(\"context\")},_nodescript:function(){return u(\"nodescript\")},_httpparser:function(){return u(\"httpparser\")},_dataview:function(){return u(\"dataview\")},_signal:function(){return u(\"signal\")},_fsevent:function(){return u(\"fsevent\")},_tlswrap:function(){return u(\"tlswrap\")}}}function l(){return{buf:\"\",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}m.writeToStream=function(e,t,n){return void 0===n&&(n=t,t={}),f(t=u(e,t),n).dispatch(e)}}.call(this,w(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},w(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/fake_9a5aa49d.js\",\"/\")},{buffer:3,crypto:5,lYpoI2:11}],2:[function(e,t,f){!function(e,t,n,r,o,i,u,s,a){!function(e){\"use strict\";var a=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,t=\"+\".charCodeAt(0),n=\"/\".charCodeAt(0),r=\"0\".charCodeAt(0),o=\"a\".charCodeAt(0),i=\"A\".charCodeAt(0),u=\"-\".charCodeAt(0),s=\"_\".charCodeAt(0);function f(e){e=e.charCodeAt(0);return e===t||e===u?62:e===n||e===s?63:e<r?-1:e<r+10?e-r+26+26:e<i+26?e-i:e<o+26?e-o+26:void 0}e.toByteArray=function(e){var t,n;if(0<e.length%4)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=e.length,r=\"=\"===e.charAt(r-2)?2:\"=\"===e.charAt(r-1)?1:0,o=new a(3*e.length/4-r),i=0<r?e.length-4:e.length,u=0;function s(e){o[u++]=e}for(t=0;t<i;t+=4,0)s((16711680&(n=f(e.charAt(t))<<18|f(e.charAt(t+1))<<12|f(e.charAt(t+2))<<6|f(e.charAt(t+3))))>>16),s((65280&n)>>8),s(255&n);return 2==r?s(255&(n=f(e.charAt(t))<<2|f(e.charAt(t+1))>>4)):1==r&&(s((n=f(e.charAt(t))<<10|f(e.charAt(t+1))<<4|f(e.charAt(t+2))>>2)>>8&255),s(255&n)),o},e.fromByteArray=function(e){var t,n,r,o,i=e.length%3,u=\"\";function s(e){return\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".charAt(e)}for(t=0,r=e.length-i;t<r;t+=3)n=(e[t]<<16)+(e[t+1]<<8)+e[t+2],u+=s((o=n)>>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(i){case 1:u=(u+=s((n=e[e.length-1])>>2))+s(n<<4&63)+\"==\";break;case 2:u=(u=(u+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10))+s(n>>4&63))+s(n<<2&63)+\"=\"}return u}}(void 0===f?this.base64js={}:f)}.call(this,e(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js\",\"/node_modules/gulp-browserify/node_modules/base64-js/lib\")},{buffer:3,lYpoI2:11}],3:[function(O,e,H){!function(e,n,f,r,h,p,g,y,w){var a=O(\"base64-js\"),i=O(\"ieee754\");function f(e,t,n){if(!(this instanceof f))return new f(e,t,n);var r,o,i,u,s=typeof e;if(\"base64\"===t&&\"string\"==s)for(e=(u=e).trim?u.trim():u.replace(/^\\s+|\\s+$/g,\"\");e.length%4!=0;)e+=\"=\";if(\"number\"==s)r=j(e);else if(\"string\"==s)r=f.byteLength(e,t);else{if(\"object\"!=s)throw new Error(\"First argument needs to be a number, array or string.\");r=j(e.length)}if(f._useTypedArrays?o=f._augment(new Uint8Array(r)):((o=this).length=r,o._isBuffer=!0),f._useTypedArrays&&\"number\"==typeof e.byteLength)o._set(e);else if(C(u=e)||f.isBuffer(u)||u&&\"object\"==typeof u&&\"number\"==typeof u.length)for(i=0;i<r;i++)f.isBuffer(e)?o[i]=e.readUInt8(i):o[i]=e[i];else if(\"string\"==s)o.write(e,0,t);else if(\"number\"==s&&!f._useTypedArrays&&!n)for(i=0;i<r;i++)o[i]=0;return o}function b(e,t,n,r){return f._charsWritten=c(function(e){for(var t=[],n=0;n<e.length;n++)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function m(e,t,n,r){return f._charsWritten=c(function(e){for(var t,n,r=[],o=0;o<e.length;o++)n=e.charCodeAt(o),t=n>>8,n=n%256,r.push(n),r.push(t);return r}(t),e,n,r)}function v(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var o=t;o<n;o++)r+=String.fromCharCode(e[o]);return r}function o(e,t,n,r){r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(null!=t,\"missing offset\"),d(t+1<e.length,\"Trying to read beyond buffer length\"));var o,r=e.length;if(!(r<=t))return n?(o=e[t],t+1<r&&(o|=e[t+1]<<8)):(o=e[t]<<8,t+1<r&&(o|=e[t+1])),o}function u(e,t,n,r){r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(null!=t,\"missing offset\"),d(t+3<e.length,\"Trying to read beyond buffer length\"));var o,r=e.length;if(!(r<=t))return n?(t+2<r&&(o=e[t+2]<<16),t+1<r&&(o|=e[t+1]<<8),o|=e[t],t+3<r&&(o+=e[t+3]<<24>>>0)):(t+1<r&&(o=e[t+1]<<16),t+2<r&&(o|=e[t+2]<<8),t+3<r&&(o|=e[t+3]),o+=e[t]<<24>>>0),o}function _(e,t,n,r){if(r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(null!=t,\"missing offset\"),d(t+1<e.length,\"Trying to read beyond buffer length\")),!(e.length<=t))return r=o(e,t,n,!0),32768&r?-1*(65535-r+1):r}function E(e,t,n,r){if(r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(null!=t,\"missing offset\"),d(t+3<e.length,\"Trying to read beyond buffer length\")),!(e.length<=t))return r=u(e,t,n,!0),2147483648&r?-1*(4294967295-r+1):r}function I(e,t,n,r){return r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(t+3<e.length,\"Trying to read beyond buffer length\")),i.read(e,t,n,23,4)}function A(e,t,n,r){return r||(d(\"boolean\"==typeof n,\"missing or invalid endian\"),d(t+7<e.length,\"Trying to read beyond buffer length\")),i.read(e,t,n,52,8)}function s(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+1<e.length,\"trying to write beyond buffer length\"),Y(t,65535));o=e.length;if(!(o<=n))for(var i=0,u=Math.min(o-n,2);i<u;i++)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function l(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+3<e.length,\"trying to write beyond buffer length\"),Y(t,4294967295));o=e.length;if(!(o<=n))for(var i=0,u=Math.min(o-n,4);i<u;i++)e[n+i]=t>>>8*(r?i:3-i)&255}function B(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+1<e.length,\"Trying to write beyond buffer length\"),F(t,32767,-32768)),e.length<=n||s(e,0<=t?t:65535+t+1,n,r,o)}function L(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+3<e.length,\"Trying to write beyond buffer length\"),F(t,2147483647,-2147483648)),e.length<=n||l(e,0<=t?t:4294967295+t+1,n,r,o)}function U(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+3<e.length,\"Trying to write beyond buffer length\"),D(t,34028234663852886e22,-34028234663852886e22)),e.length<=n||i.write(e,t,n,r,23,4)}function x(e,t,n,r,o){o||(d(null!=t,\"missing value\"),d(\"boolean\"==typeof r,\"missing or invalid endian\"),d(null!=n,\"missing offset\"),d(n+7<e.length,\"Trying to write beyond buffer length\"),D(t,17976931348623157e292,-17976931348623157e292)),e.length<=n||i.write(e,t,n,r,52,8)}H.Buffer=f,H.SlowBuffer=f,H.INSPECT_MAX_BYTES=50,f.poolSize=8192,f._useTypedArrays=function(){try{var e=new ArrayBuffer(0),t=new Uint8Array(e);return t.foo=function(){return 42},42===t.foo()&&\"function\"==typeof t.subarray}catch(e){return!1}}(),f.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"raw\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},f.isBuffer=function(e){return!(null==e||!e._isBuffer)},f.byteLength=function(e,t){var n;switch(e+=\"\",t||\"utf8\"){case\"hex\":n=e.length/2;break;case\"utf8\":case\"utf-8\":n=T(e).length;break;case\"ascii\":case\"binary\":case\"raw\":n=e.length;break;case\"base64\":n=M(e).length;break;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":n=2*e.length;break;default:throw new Error(\"Unknown encoding\")}return n},f.concat=function(e,t){if(d(C(e),\"Usage: Buffer.concat(list, [totalLength])\\nlist should be an Array.\"),0===e.length)return new f(0);if(1===e.length)return e[0];if(\"number\"!=typeof t)for(o=t=0;o<e.length;o++)t+=e[o].length;for(var n=new f(t),r=0,o=0;o<e.length;o++){var i=e[o];i.copy(n,r),r+=i.length}return n},f.prototype.write=function(e,t,n,r){isFinite(t)?isFinite(n)||(r=n,n=void 0):(a=r,r=t,t=n,n=a),t=Number(t)||0;var o,i,u,s,a=this.length-t;switch((!n||a<(n=Number(n)))&&(n=a),r=String(r||\"utf8\").toLowerCase()){case\"hex\":o=function(e,t,n,r){n=Number(n)||0;var o=e.length-n;(!r||o<(r=Number(r)))&&(r=o),d((o=t.length)%2==0,\"Invalid hex string\"),o/2<r&&(r=o/2);for(var i=0;i<r;i++){var u=parseInt(t.substr(2*i,2),16);d(!isNaN(u),\"Invalid hex string\"),e[n+i]=u}return f._charsWritten=2*i,i}(this,e,t,n);break;case\"utf8\":case\"utf-8\":i=this,u=t,s=n,o=f._charsWritten=c(T(e),i,u,s);break;case\"ascii\":case\"binary\":o=b(this,e,t,n);break;case\"base64\":i=this,u=t,s=n,o=f._charsWritten=c(M(e),i,u,s);break;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":o=m(this,e,t,n);break;default:throw new Error(\"Unknown encoding\")}return o},f.prototype.toString=function(e,t,n){var r,o,i,u,s=this;if(e=String(e||\"utf8\").toLowerCase(),t=Number(t)||0,(n=void 0!==n?Number(n):s.length)===t)return\"\";switch(e){case\"hex\":r=function(e,t,n){var r=e.length;(!t||t<0)&&(t=0);(!n||n<0||r<n)&&(n=r);for(var o=\"\",i=t;i<n;i++)o+=k(e[i]);return o}(s,t,n);break;case\"utf8\":case\"utf-8\":r=function(e,t,n){var r=\"\",o=\"\";n=Math.min(e.length,n);for(var i=t;i<n;i++)e[i]<=127?(r+=N(o)+String.fromCharCode(e[i]),o=\"\"):o+=\"%\"+e[i].toString(16);return r+N(o)}(s,t,n);break;case\"ascii\":case\"binary\":r=v(s,t,n);break;case\"base64\":o=s,u=n,r=0===(i=t)&&u===o.length?a.fromByteArray(o):a.fromByteArray(o.slice(i,u));break;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":r=function(e,t,n){for(var r=e.slice(t,n),o=\"\",i=0;i<r.length;i+=2)o+=String.fromCharCode(r[i]+256*r[i+1]);return o}(s,t,n);break;default:throw new Error(\"Unknown encoding\")}return r},f.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}},f.prototype.copy=function(e,t,n,r){if(t=t||0,(r=r||0===r?r:this.length)!==(n=n||0)&&0!==e.length&&0!==this.length){d(n<=r,\"sourceEnd < sourceStart\"),d(0<=t&&t<e.length,\"targetStart out of bounds\"),d(0<=n&&n<this.length,\"sourceStart out of bounds\"),d(0<=r&&r<=this.length,\"sourceEnd out of bounds\"),r>this.length&&(r=this.length);var o=(r=e.length-t<r-n?e.length-t+n:r)-n;if(o<100||!f._useTypedArrays)for(var i=0;i<o;i++)e[i+t]=this[i+n];else e._set(this.subarray(n,n+o),t)}},f.prototype.slice=function(e,t){var n=this.length;if(e=S(e,n,0),t=S(t,n,n),f._useTypedArrays)return f._augment(this.subarray(e,t));for(var r=t-e,o=new f(r,void 0,!0),i=0;i<r;i++)o[i]=this[i+e];return o},f.prototype.get=function(e){return console.log(\".get() is deprecated. Access using array indexes instead.\"),this.readUInt8(e)},f.prototype.set=function(e,t){return console.log(\".set() is deprecated. Access using array indexes instead.\"),this.writeUInt8(e,t)},f.prototype.readUInt8=function(e,t){if(t||(d(null!=e,\"missing offset\"),d(e<this.length,\"Trying to read beyond buffer length\")),!(e>=this.length))return this[e]},f.prototype.readUInt16LE=function(e,t){return o(this,e,!0,t)},f.prototype.readUInt16BE=function(e,t){return o(this,e,!1,t)},f.prototype.readUInt32LE=function(e,t){return u(this,e,!0,t)},f.prototype.readUInt32BE=function(e,t){return u(this,e,!1,t)},f.prototype.readInt8=function(e,t){if(t||(d(null!=e,\"missing offset\"),d(e<this.length,\"Trying to read beyond buffer length\")),!(e>=this.length))return 128&this[e]?-1*(255-this[e]+1):this[e]},f.prototype.readInt16LE=function(e,t){return _(this,e,!0,t)},f.prototype.readInt16BE=function(e,t){return _(this,e,!1,t)},f.prototype.readInt32LE=function(e,t){return E(this,e,!0,t)},f.prototype.readInt32BE=function(e,t){return E(this,e,!1,t)},f.prototype.readFloatLE=function(e,t){return I(this,e,!0,t)},f.prototype.readFloatBE=function(e,t){return I(this,e,!1,t)},f.prototype.readDoubleLE=function(e,t){return A(this,e,!0,t)},f.prototype.readDoubleBE=function(e,t){return A(this,e,!1,t)},f.prototype.writeUInt8=function(e,t,n){n||(d(null!=e,\"missing value\"),d(null!=t,\"missing offset\"),d(t<this.length,\"trying to write beyond buffer length\"),Y(e,255)),t>=this.length||(this[t]=e)},f.prototype.writeUInt16LE=function(e,t,n){s(this,e,t,!0,n)},f.prototype.writeUInt16BE=function(e,t,n){s(this,e,t,!1,n)},f.prototype.writeUInt32LE=function(e,t,n){l(this,e,t,!0,n)},f.prototype.writeUInt32BE=function(e,t,n){l(this,e,t,!1,n)},f.prototype.writeInt8=function(e,t,n){n||(d(null!=e,\"missing value\"),d(null!=t,\"missing offset\"),d(t<this.length,\"Trying to write beyond buffer length\"),F(e,127,-128)),t>=this.length||(0<=e?this.writeUInt8(e,t,n):this.writeUInt8(255+e+1,t,n))},f.prototype.writeInt16LE=function(e,t,n){B(this,e,t,!0,n)},f.prototype.writeInt16BE=function(e,t,n){B(this,e,t,!1,n)},f.prototype.writeInt32LE=function(e,t,n){L(this,e,t,!0,n)},f.prototype.writeInt32BE=function(e,t,n){L(this,e,t,!1,n)},f.prototype.writeFloatLE=function(e,t,n){U(this,e,t,!0,n)},f.prototype.writeFloatBE=function(e,t,n){U(this,e,t,!1,n)},f.prototype.writeDoubleLE=function(e,t,n){x(this,e,t,!0,n)},f.prototype.writeDoubleBE=function(e,t,n){x(this,e,t,!1,n)},f.prototype.fill=function(e,t,n){if(t=t||0,n=n||this.length,d(\"number\"==typeof(e=\"string\"==typeof(e=e||0)?e.charCodeAt(0):e)&&!isNaN(e),\"value is not a number\"),d(t<=n,\"end < start\"),n!==t&&0!==this.length){d(0<=t&&t<this.length,\"start out of bounds\"),d(0<=n&&n<=this.length,\"end out of bounds\");for(var r=t;r<n;r++)this[r]=e}},f.prototype.inspect=function(){for(var e=[],t=this.length,n=0;n<t;n++)if(e[n]=k(this[n]),n===H.INSPECT_MAX_BYTES){e[n+1]=\"...\";break}return\"<Buffer \"+e.join(\" \")+\">\"},f.prototype.toArrayBuffer=function(){if(\"undefined\"==typeof Uint8Array)throw new Error(\"Buffer.toArrayBuffer not supported in this browser\");if(f._useTypedArrays)return new f(this).buffer;for(var e=new Uint8Array(this.length),t=0,n=e.length;t<n;t+=1)e[t]=this[t];return e.buffer};var t=f.prototype;function S(e,t,n){return\"number\"!=typeof e?n:t<=(e=~~e)?t:0<=e||0<=(e+=t)?e:0}function j(e){return(e=~~Math.ceil(+e))<0?0:e}function C(e){return(Array.isArray||function(e){return\"[object Array]\"===Object.prototype.toString.call(e)})(e)}function k(e){return e<16?\"0\"+e.toString(16):e.toString(16)}function T(e){for(var t=[],n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<=127)t.push(e.charCodeAt(n));else for(var o=n,i=(55296<=r&&r<=57343&&n++,encodeURIComponent(e.slice(o,n+1)).substr(1).split(\"%\")),u=0;u<i.length;u++)t.push(parseInt(i[u],16))}return t}function M(e){return a.toByteArray(e)}function c(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);o++)t[o+n]=e[o];return o}function N(e){try{return decodeURIComponent(e)}catch(e){return String.fromCharCode(65533)}}function Y(e,t){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(0<=e,\"specified a negative value for writing an unsigned value\"),d(e<=t,\"value is larger than maximum value for type\"),d(Math.floor(e)===e,\"value has a fractional component\")}function F(e,t,n){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(e<=t,\"value larger than maximum allowed value\"),d(n<=e,\"value smaller than minimum allowed value\"),d(Math.floor(e)===e,\"value has a fractional component\")}function D(e,t,n){d(\"number\"==typeof e,\"cannot write a non-number as a number\"),d(e<=t,\"value larger than maximum allowed value\"),d(n<=e,\"value smaller than minimum allowed value\")}function d(e,t){if(!e)throw new Error(t||\"Failed assertion\")}f._augment=function(e){return e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=t.get,e.set=t.set,e.write=t.write,e.toString=t.toString,e.toLocaleString=t.toString,e.toJSON=t.toJSON,e.copy=t.copy,e.slice=t.slice,e.readUInt8=t.readUInt8,e.readUInt16LE=t.readUInt16LE,e.readUInt16BE=t.readUInt16BE,e.readUInt32LE=t.readUInt32LE,e.readUInt32BE=t.readUInt32BE,e.readInt8=t.readInt8,e.readInt16LE=t.readInt16LE,e.readInt16BE=t.readInt16BE,e.readInt32LE=t.readInt32LE,e.readInt32BE=t.readInt32BE,e.readFloatLE=t.readFloatLE,e.readFloatBE=t.readFloatBE,e.readDoubleLE=t.readDoubleLE,e.readDoubleBE=t.readDoubleBE,e.writeUInt8=t.writeUInt8,e.writeUInt16LE=t.writeUInt16LE,e.writeUInt16BE=t.writeUInt16BE,e.writeUInt32LE=t.writeUInt32LE,e.writeUInt32BE=t.writeUInt32BE,e.writeInt8=t.writeInt8,e.writeInt16LE=t.writeInt16LE,e.writeInt16BE=t.writeInt16BE,e.writeInt32LE=t.writeInt32LE,e.writeInt32BE=t.writeInt32BE,e.writeFloatLE=t.writeFloatLE,e.writeFloatBE=t.writeFloatBE,e.writeDoubleLE=t.writeDoubleLE,e.writeDoubleBE=t.writeDoubleBE,e.fill=t.fill,e.inspect=t.inspect,e.toArrayBuffer=t.toArrayBuffer,e}}.call(this,O(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},O(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/buffer/index.js\",\"/node_modules/gulp-browserify/node_modules/buffer\")},{\"base64-js\":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(c,d,e){!function(e,t,a,n,r,o,i,u,s){var a=c(\"buffer\").Buffer,f=4,l=new a(f);l.fill(0);d.exports={hash:function(e,t,n,r){for(var o=t(function(e,t){e.length%f!=0&&(n=e.length+(f-e.length%f),e=a.concat([e,l],n));for(var n,r=[],o=t?e.readInt32BE:e.readInt32LE,i=0;i<e.length;i+=f)r.push(o.call(e,i));return r}(e=a.isBuffer(e)?e:new a(e),r),8*e.length),t=r,i=new a(n),u=t?i.writeInt32BE:i.writeInt32LE,s=0;s<o.length;s++)u.call(i,o[s],4*s,!0);return i}}}.call(this,c(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},c(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/helpers.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{buffer:3,lYpoI2:11}],5:[function(v,e,_){!function(l,c,u,d,h,p,g,y,w){var u=v(\"buffer\").Buffer,e=v(\"./sha\"),t=v(\"./sha256\"),n=v(\"./rng\"),b={sha1:e,sha256:t,md5:v(\"./md5\")},s=64,a=new u(s);function r(e,n){var r=b[e=e||\"sha1\"],o=[];return r||i(\"algorithm:\",e,\"is not yet supported\"),{update:function(e){return u.isBuffer(e)||(e=new u(e)),o.push(e),e.length,this},digest:function(e){var t=u.concat(o),t=n?function(e,t,n){u.isBuffer(t)||(t=new u(t)),u.isBuffer(n)||(n=new u(n)),t.length>s?t=e(t):t.length<s&&(t=u.concat([t,a],s));for(var r=new u(s),o=new u(s),i=0;i<s;i++)r[i]=54^t[i],o[i]=92^t[i];return n=e(u.concat([r,n])),e(u.concat([o,n]))}(r,n,t):r(t);return o=null,e?t.toString(e):t}}}function i(){var e=[].slice.call(arguments).join(\" \");throw new Error([e,\"we accept pull requests\",\"http://github.com/dominictarr/crypto-browserify\"].join(\"\\n\"))}a.fill(0),_.createHash=function(e){return r(e)},_.createHmac=r,_.randomBytes=function(e,t){if(!t||!t.call)return new u(n(e));try{t.call(this,void 0,new u(n(e)))}catch(e){t(e)}};var o,f=[\"createCredentials\",\"createCipher\",\"createCipheriv\",\"createDecipher\",\"createDecipheriv\",\"createSign\",\"createVerify\",\"createDiffieHellman\",\"pbkdf2\"],m=function(e){_[e]=function(){i(\"sorry,\",e,\"is not implemented yet\")}};for(o in f)m(f[o],o)}.call(this,v(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},v(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/index.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./md5\":6,\"./rng\":7,\"./sha\":8,\"./sha256\":9,buffer:3,lYpoI2:11}],6:[function(w,b,e){!function(e,r,o,i,u,a,f,l,y){var t=w(\"./helpers\");function n(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;for(var n=1732584193,r=-271733879,o=-1732584194,i=271733878,u=0;u<e.length;u+=16){var s=n,a=r,f=o,l=i,n=c(n,r,o,i,e[u+0],7,-680876936),i=c(i,n,r,o,e[u+1],12,-389564586),o=c(o,i,n,r,e[u+2],17,606105819),r=c(r,o,i,n,e[u+3],22,-1044525330);n=c(n,r,o,i,e[u+4],7,-176418897),i=c(i,n,r,o,e[u+5],12,1200080426),o=c(o,i,n,r,e[u+6],17,-1473231341),r=c(r,o,i,n,e[u+7],22,-45705983),n=c(n,r,o,i,e[u+8],7,1770035416),i=c(i,n,r,o,e[u+9],12,-1958414417),o=c(o,i,n,r,e[u+10],17,-42063),r=c(r,o,i,n,e[u+11],22,-1990404162),n=c(n,r,o,i,e[u+12],7,1804603682),i=c(i,n,r,o,e[u+13],12,-40341101),o=c(o,i,n,r,e[u+14],17,-1502002290),n=d(n,r=c(r,o,i,n,e[u+15],22,1236535329),o,i,e[u+1],5,-165796510),i=d(i,n,r,o,e[u+6],9,-1069501632),o=d(o,i,n,r,e[u+11],14,643717713),r=d(r,o,i,n,e[u+0],20,-373897302),n=d(n,r,o,i,e[u+5],5,-701558691),i=d(i,n,r,o,e[u+10],9,38016083),o=d(o,i,n,r,e[u+15],14,-660478335),r=d(r,o,i,n,e[u+4],20,-405537848),n=d(n,r,o,i,e[u+9],5,568446438),i=d(i,n,r,o,e[u+14],9,-1019803690),o=d(o,i,n,r,e[u+3],14,-187363961),r=d(r,o,i,n,e[u+8],20,1163531501),n=d(n,r,o,i,e[u+13],5,-1444681467),i=d(i,n,r,o,e[u+2],9,-51403784),o=d(o,i,n,r,e[u+7],14,1735328473),n=h(n,r=d(r,o,i,n,e[u+12],20,-1926607734),o,i,e[u+5],4,-378558),i=h(i,n,r,o,e[u+8],11,-2022574463),o=h(o,i,n,r,e[u+11],16,1839030562),r=h(r,o,i,n,e[u+14],23,-35309556),n=h(n,r,o,i,e[u+1],4,-1530992060),i=h(i,n,r,o,e[u+4],11,1272893353),o=h(o,i,n,r,e[u+7],16,-155497632),r=h(r,o,i,n,e[u+10],23,-1094730640),n=h(n,r,o,i,e[u+13],4,681279174),i=h(i,n,r,o,e[u+0],11,-358537222),o=h(o,i,n,r,e[u+3],16,-722521979),r=h(r,o,i,n,e[u+6],23,76029189),n=h(n,r,o,i,e[u+9],4,-640364487),i=h(i,n,r,o,e[u+12],11,-421815835),o=h(o,i,n,r,e[u+15],16,530742520),n=p(n,r=h(r,o,i,n,e[u+2],23,-995338651),o,i,e[u+0],6,-198630844),i=p(i,n,r,o,e[u+7],10,1126891415),o=p(o,i,n,r,e[u+14],15,-1416354905),r=p(r,o,i,n,e[u+5],21,-57434055),n=p(n,r,o,i,e[u+12],6,1700485571),i=p(i,n,r,o,e[u+3],10,-1894986606),o=p(o,i,n,r,e[u+10],15,-1051523),r=p(r,o,i,n,e[u+1],21,-2054922799),n=p(n,r,o,i,e[u+8],6,1873313359),i=p(i,n,r,o,e[u+15],10,-30611744),o=p(o,i,n,r,e[u+6],15,-1560198380),r=p(r,o,i,n,e[u+13],21,1309151649),n=p(n,r,o,i,e[u+4],6,-145523070),i=p(i,n,r,o,e[u+11],10,-1120210379),o=p(o,i,n,r,e[u+2],15,718787259),r=p(r,o,i,n,e[u+9],21,-343485551),n=g(n,s),r=g(r,a),o=g(o,f),i=g(i,l)}return Array(n,r,o,i)}function s(e,t,n,r,o,i){return g((t=g(g(t,e),g(r,i)))<<o|t>>>32-o,n)}function c(e,t,n,r,o,i,u){return s(t&n|~t&r,e,t,o,i,u)}function d(e,t,n,r,o,i,u){return s(t&r|n&~r,e,t,o,i,u)}function h(e,t,n,r,o,i,u){return s(t^n^r,e,t,o,i,u)}function p(e,t,n,r,o,i,u){return s(n^(t|~r),e,t,o,i,u)}function g(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}b.exports=function(e){return t.hash(e,n,16)}}.call(this,w(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},w(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],7:[function(e,l,t){!function(e,t,n,r,o,i,u,s,f){var a;l.exports=a||function(e){for(var t,n=new Array(e),r=0;r<e;r++)0==(3&r)&&(t=4294967296*Math.random()),n[r]=t>>>((3&r)<<3)&255;return n}}.call(this,e(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{buffer:3,lYpoI2:11}],8:[function(c,d,e){!function(e,t,n,r,o,s,a,f,l){var i=c(\"./helpers\");function u(l,c){l[c>>5]|=128<<24-c%32,l[15+(c+64>>9<<4)]=c;for(var e,t,n,r=Array(80),o=1732584193,i=-271733879,u=-1732584194,s=271733878,d=-1009589776,h=0;h<l.length;h+=16){for(var p=o,g=i,y=u,w=s,b=d,a=0;a<80;a++){r[a]=a<16?l[h+a]:v(r[a-3]^r[a-8]^r[a-14]^r[a-16],1);var f=m(m(v(o,5),(f=i,t=u,n=s,(e=a)<20?f&t|~f&n:!(e<40)&&e<60?f&t|f&n|t&n:f^t^n)),m(m(d,r[a]),(e=a)<20?1518500249:e<40?1859775393:e<60?-1894007588:-899497514)),d=s,s=u,u=v(i,30),i=o,o=f}o=m(o,p),i=m(i,g),u=m(u,y),s=m(s,w),d=m(d,b)}return Array(o,i,u,s,d)}function m(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function v(e,t){return e<<t|e>>>32-t}d.exports=function(e){return i.hash(e,u,20,!0)}}.call(this,c(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},c(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],9:[function(c,d,e){!function(e,t,n,r,u,s,a,f,l){function b(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function o(e,l){var c,d=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),t=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),n=new Array(64);e[l>>5]|=128<<24-l%32,e[15+(l+64>>9<<4)]=l;for(var r,o,h=0;h<e.length;h+=16){for(var i=t[0],u=t[1],s=t[2],p=t[3],a=t[4],g=t[5],y=t[6],w=t[7],f=0;f<64;f++)n[f]=f<16?e[f+h]:b(b(b((o=n[f-2],m(o,17)^m(o,19)^v(o,10)),n[f-7]),(o=n[f-15],m(o,7)^m(o,18)^v(o,3))),n[f-16]),c=b(b(b(b(w,m(o=a,6)^m(o,11)^m(o,25)),a&g^~a&y),d[f]),n[f]),r=b(m(r=i,2)^m(r,13)^m(r,22),i&u^i&s^u&s),w=y,y=g,g=a,a=b(p,c),p=s,s=u,u=i,i=b(c,r);t[0]=b(i,t[0]),t[1]=b(u,t[1]),t[2]=b(s,t[2]),t[3]=b(p,t[3]),t[4]=b(a,t[4]),t[5]=b(g,t[5]),t[6]=b(y,t[6]),t[7]=b(w,t[7])}return t}var i=c(\"./helpers\"),m=function(e,t){return e>>>t|e<<32-t},v=function(e,t){return e>>>t};d.exports=function(e){return i.hash(e,o,32,!0)}}.call(this,c(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},c(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js\",\"/node_modules/gulp-browserify/node_modules/crypto-browserify\")},{\"./helpers\":4,buffer:3,lYpoI2:11}],10:[function(e,t,f){!function(e,t,n,r,o,i,u,s,a){f.read=function(e,t,n,r,o){var i,u,l=8*o-r-1,c=(1<<l)-1,d=c>>1,s=-7,a=n?o-1:0,f=n?-1:1,o=e[t+a];for(a+=f,i=o&(1<<-s)-1,o>>=-s,s+=l;0<s;i=256*i+e[t+a],a+=f,s-=8);for(u=i&(1<<-s)-1,i>>=-s,s+=r;0<s;u=256*u+e[t+a],a+=f,s-=8);if(0===i)i=1-d;else{if(i===c)return u?NaN:1/0*(o?-1:1);u+=Math.pow(2,r),i-=d}return(o?-1:1)*u*Math.pow(2,i-r)},f.write=function(e,t,l,n,r,c){var o,i,u=8*c-r-1,s=(1<<u)-1,a=s>>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:c-1,h=n?1:-1,c=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(i=isNaN(t)?1:0,o=s):(o=Math.floor(Math.log(t)/Math.LN2),t*(n=Math.pow(2,-o))<1&&(o--,n*=2),2<=(t+=1<=o+a?d/n:d*Math.pow(2,1-a))*n&&(o++,n/=2),s<=o+a?(i=0,o=s):1<=o+a?(i=(t*n-1)*Math.pow(2,r),o+=a):(i=t*Math.pow(2,a-1)*Math.pow(2,r),o=0));8<=r;e[l+f]=255&i,f+=h,i/=256,r-=8);for(o=o<<r|i,u+=r;0<u;e[l+f]=255&o,f+=h,o/=256,u-=8);e[l+f-h]|=128*c}}.call(this,e(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/ieee754/index.js\",\"/node_modules/gulp-browserify/node_modules/ieee754\")},{buffer:3,lYpoI2:11}],11:[function(e,h,t){!function(e,t,n,r,o,f,l,c,d){var i,u,s;function a(){}(e=h.exports={}).nextTick=(u=\"undefined\"!=typeof window&&window.setImmediate,s=\"undefined\"!=typeof window&&window.postMessage&&window.addEventListener,u?function(e){return window.setImmediate(e)}:s?(i=[],window.addEventListener(\"message\",function(e){var t=e.source;t!==window&&null!==t||\"process-tick\"!==e.data||(e.stopPropagation(),0<i.length&&i.shift()())},!0),function(e){i.push(e),window.postMessage(\"process-tick\",\"*\")}):function(e){setTimeout(e,0)}),e.title=\"browser\",e.browser=!0,e.env={},e.argv=[],e.on=a,e.addListener=a,e.once=a,e.off=a,e.removeListener=a,e.removeAllListeners=a,e.emit=a,e.binding=function(e){throw new Error(\"process.binding is not supported\")},e.cwd=function(){return\"/\"},e.chdir=function(e){throw new Error(\"process.chdir is not supported\")}}.call(this,e(\"lYpoI2\"),\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},e(\"buffer\").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],\"/node_modules/gulp-browserify/node_modules/process/browser.js\",\"/node_modules/gulp-browserify/node_modules/process\")},{buffer:3,lYpoI2:11}]},{},[1])(1)});"],"names":["e","module","r","o","i","u","s","n","t","require","a","w","b","m","c","d","h","p","g","y","l","f","O","H","j","C","v","_","E","I","A","Y","B","F","L","U","D","T","M","k","N","S"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { traverse as r } from "./traverse.js";
|
|
2
|
+
const l = ({ keys: o } = {}) => (s) => r(s, (n) => {
|
|
3
|
+
const t = {};
|
|
4
|
+
for (const [e, i] of Object.entries(n))
|
|
5
|
+
e.startsWith("x-") && (o === void 0 || o.includes(e)) || (t[e] = i);
|
|
6
|
+
return t;
|
|
7
|
+
});
|
|
8
|
+
export {
|
|
9
|
+
l as removeExtensions
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=removeExtensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeExtensions.js","sources":["../../src/lib/plugins/openapi/post-processors/removeExtensions.ts"],"sourcesContent":["import { type RecordAny, traverse } from \"./traverse.js\";\n\ninterface RemoveExtensionsOptions {\n keys?: string[];\n}\n\n// Remove all `x-` prefixed key/value pairs, or filter by names if provided\nexport const removeExtensions =\n ({ keys }: RemoveExtensionsOptions = {}) =>\n (doc: RecordAny): RecordAny =>\n traverse(doc, (spec) => {\n const result: RecordAny = {};\n\n for (const [key, value] of Object.entries(spec)) {\n const isExtension = key.startsWith(\"x-\");\n const shouldRemove =\n isExtension && (keys === undefined || keys.includes(key));\n\n if (shouldRemove) continue;\n\n result[key] = value;\n }\n return result;\n });\n"],"names":["removeExtensions","keys","doc","traverse","spec","result","key","value"],"mappings":";AAOO,MAAMA,IACX,CAAC,EAAE,MAAAC,EAAA,IAAkC,CACrC,MAAA,CAACC,MACCC,EAASD,GAAK,CAACE,MAAS;AACtB,QAAMC,IAAoB,CAAA;AAE1B,aAAW,CAACC,GAAKC,CAAK,KAAK,OAAO,QAAQH,CAAI;AAK5C,IAJoBE,EAAI,WAAW,IAAI,MAErBL,MAAS,UAAaA,EAAK,SAASK,CAAG,OAIzDD,EAAOC,CAAG,IAAIC;AAET,SAAAF;AACT,CAAC;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { traverse as y } from "./traverse.js";
|
|
2
|
+
const P = ({ paths: e = {}, shouldRemove: r }) => (f) => y(f, (n) => {
|
|
3
|
+
if (!n.paths) return n;
|
|
4
|
+
const a = {};
|
|
5
|
+
for (const [t, i] of Object.entries(n.paths)) {
|
|
6
|
+
const s = n.paths[t];
|
|
7
|
+
if (e[t] !== !0 && !(r != null && r({ path: t, method: !0, operation: s })))
|
|
8
|
+
if (typeof i == "object" && i !== null) {
|
|
9
|
+
const c = Object.fromEntries(
|
|
10
|
+
Object.entries(i).filter(([o]) => {
|
|
11
|
+
const p = n.paths[t][o], b = Array.isArray(e[t]) && e[t].includes(o), j = r == null ? void 0 : r({
|
|
12
|
+
path: t,
|
|
13
|
+
method: o,
|
|
14
|
+
operation: p
|
|
15
|
+
});
|
|
16
|
+
return !b && !j;
|
|
17
|
+
})
|
|
18
|
+
);
|
|
19
|
+
a[t] = c;
|
|
20
|
+
} else
|
|
21
|
+
a[t] = i;
|
|
22
|
+
}
|
|
23
|
+
return { ...n, paths: a };
|
|
24
|
+
});
|
|
25
|
+
export {
|
|
26
|
+
P as removePaths
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=removePaths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removePaths.js","sources":["../../src/lib/plugins/openapi/post-processors/removePaths.ts"],"sourcesContent":["import { type RecordAny, traverse } from \"./traverse.js\";\n\ninterface RemovePathsOptions {\n // Path definitions, e.g., { '/path': true, '/path-2': ['get'] }\n paths?: Record<string, true | string[]>;\n shouldRemove?: (options: {\n path: string;\n method: true | string;\n operation: RecordAny;\n }) => boolean;\n}\n\nexport const removePaths =\n ({ paths = {}, shouldRemove }: RemovePathsOptions) =>\n (doc: RecordAny): RecordAny =>\n traverse(doc, (spec) => {\n if (!spec.paths) return spec;\n\n const updatedPaths: RecordAny = {};\n\n for (const [path, methods] of Object.entries(spec.paths)) {\n const operations = spec.paths[path];\n\n // If the path is explicitly marked for removal in `paths`\n if (paths[path] === true) continue;\n\n // If the path should be removed via `shouldRemove`\n if (shouldRemove?.({ path, method: true, operation: operations }))\n continue;\n\n if (typeof methods === \"object\" && methods !== null) {\n const filteredPath = Object.fromEntries(\n Object.entries(methods).filter(([method]) => {\n const operations = spec.paths[path][method];\n const isMethodToRemove =\n Array.isArray(paths[path]) && paths[path].includes(method);\n\n const isMethodFiltered = shouldRemove?.({\n path,\n method,\n operation: operations,\n });\n\n return !isMethodToRemove && !isMethodFiltered;\n }),\n );\n\n updatedPaths[path] = filteredPath;\n } else {\n updatedPaths[path] = methods;\n }\n }\n\n return { ...spec, paths: updatedPaths };\n });\n"],"names":["removePaths","paths","shouldRemove","doc","traverse","spec","updatedPaths","path","methods","operations","filteredPath","method","isMethodToRemove","isMethodFiltered"],"mappings":";AAYO,MAAMA,IACX,CAAC,EAAE,OAAAC,IAAQ,CAAA,GAAI,cAAAC,EAAa,MAC5B,CAACC,MACCC,EAASD,GAAK,CAACE,MAAS;AAClB,MAAA,CAACA,EAAK,MAAc,QAAAA;AAExB,QAAMC,IAA0B,CAAA;AAErB,aAAA,CAACC,GAAMC,CAAO,KAAK,OAAO,QAAQH,EAAK,KAAK,GAAG;AAClD,UAAAI,IAAaJ,EAAK,MAAME,CAAI;AAG9B,QAAAN,EAAMM,CAAI,MAAM,MAGhB,EAAAL,KAAA,QAAAA,EAAe,EAAE,MAAAK,GAAM,QAAQ,IAAM,WAAWE;AAGpD,UAAI,OAAOD,KAAY,YAAYA,MAAY,MAAM;AACnD,cAAME,IAAe,OAAO;AAAA,UAC1B,OAAO,QAAQF,CAAO,EAAE,OAAO,CAAC,CAACG,CAAM,MAAM;AAC3C,kBAAMF,IAAaJ,EAAK,MAAME,CAAI,EAAEI,CAAM,GACpCC,IACJ,MAAM,QAAQX,EAAMM,CAAI,CAAC,KAAKN,EAAMM,CAAI,EAAE,SAASI,CAAM,GAErDE,IAAmBX,KAAA,gBAAAA,EAAe;AAAA,cACtC,MAAAK;AAAA,cACA,QAAAI;AAAA,cACA,WAAWF;AAAAA,YAAA;AAGN,mBAAA,CAACG,KAAoB,CAACC;AAAA,UAAA,CAC9B;AAAA,QAAA;AAGH,QAAAP,EAAaC,CAAI,IAAIG;AAAA,MAAA;AAErB,QAAAJ,EAAaC,CAAI,IAAIC;AAAA,EAEzB;AAEA,SAAO,EAAE,GAAGH,GAAM,OAAOC,EAAa;AACxC,CAAC;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const s = (c, r) => {
|
|
2
|
+
const l = {};
|
|
3
|
+
for (const [t, e] of Object.entries(c))
|
|
4
|
+
Array.isArray(e) ? l[t] = e.map(
|
|
5
|
+
(o) => typeof o == "object" && o !== null ? s(o, r) : o
|
|
6
|
+
) : typeof e == "object" && e !== null ? l[t] = s(e, r) : l[t] = e;
|
|
7
|
+
return r(l);
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
s as traverse
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=traverse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traverse.js","sources":["../../src/lib/util/traverse.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type RecordAny = Record<string, any>;\n\nexport const traverse = (\n specification: RecordAny,\n transform: (specification: RecordAny) => RecordAny,\n) => {\n const result: RecordAny = {};\n\n for (const [key, value] of Object.entries(specification)) {\n if (Array.isArray(value)) {\n result[key] = value.map((item) =>\n typeof item === \"object\" && item !== null\n ? traverse(item, transform)\n : item,\n );\n } else if (typeof value === \"object\" && value !== null) {\n result[key] = traverse(value, transform);\n } else {\n result[key] = value;\n }\n }\n\n return transform(result);\n};\n"],"names":["traverse","specification","transform","result","key","value","item"],"mappings":"AAGa,MAAAA,IAAW,CACtBC,GACAC,MACG;AACH,QAAMC,IAAoB,CAAA;AAE1B,aAAW,CAACC,GAAKC,CAAK,KAAK,OAAO,QAAQJ,CAAa;AACjD,IAAA,MAAM,QAAQI,CAAK,IACdF,EAAAC,CAAG,IAAIC,EAAM;AAAA,MAAI,CAACC,MACvB,OAAOA,KAAS,YAAYA,MAAS,OACjCN,EAASM,GAAMJ,CAAS,IACxBI;AAAA,IAAA,IAEG,OAAOD,KAAU,YAAYA,MAAU,OAChDF,EAAOC,CAAG,IAAIJ,EAASK,GAAOH,CAAS,IAEvCC,EAAOC,CAAG,IAAIC;AAIlB,SAAOH,EAAUC,CAAM;AACzB;"}
|
|
@@ -22,18 +22,18 @@ class c {
|
|
|
22
22
|
*/
|
|
23
23
|
resolveFilePath(t) {
|
|
24
24
|
const o = this.getDocsConfigs();
|
|
25
|
-
let
|
|
25
|
+
let e;
|
|
26
26
|
return o.forEach(({ files: i }) => {
|
|
27
|
-
if (
|
|
27
|
+
if (e)
|
|
28
28
|
return;
|
|
29
|
-
const
|
|
29
|
+
const s = c.getRootDir(i);
|
|
30
30
|
for (const a of D) {
|
|
31
|
-
if (
|
|
31
|
+
if (e)
|
|
32
32
|
return;
|
|
33
|
-
const r = u.join(
|
|
34
|
-
u.existsSync(r) && (
|
|
33
|
+
const r = u.join(s, `${t}${a}`);
|
|
34
|
+
u.existsSync(r) && (e = r);
|
|
35
35
|
}
|
|
36
|
-
}),
|
|
36
|
+
}), e;
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* Gets the root directory from a files glob
|
|
@@ -53,32 +53,33 @@ class c {
|
|
|
53
53
|
filesGlob: t,
|
|
54
54
|
fsPath: o
|
|
55
55
|
}) {
|
|
56
|
-
const
|
|
57
|
-
return
|
|
56
|
+
const e = this.getRootDir(t), i = new RegExp(`^${e}(.*).mdx?`), s = o.match(i);
|
|
57
|
+
return s == null ? void 0 : s.at(1);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
const C = (n) => ({
|
|
61
61
|
getRoutes: () => {
|
|
62
62
|
const t = /* @__PURE__ */ new Map();
|
|
63
63
|
return n.forEach(
|
|
64
|
-
({ fileImports: o, files:
|
|
64
|
+
({ fileImports: o, files: e, defaultOptions: i }) => Object.entries(o).flatMap(([s, a]) => {
|
|
65
65
|
const r = c.resolveRoutePath({
|
|
66
|
-
filesGlob:
|
|
67
|
-
fsPath:
|
|
66
|
+
filesGlob: e,
|
|
67
|
+
fsPath: s
|
|
68
68
|
});
|
|
69
69
|
if (!r) return [];
|
|
70
70
|
if (t.has(r))
|
|
71
71
|
return console.warn(
|
|
72
|
-
`Duplicate route path found for ${r}. Skipping file at '${
|
|
72
|
+
`Duplicate route path found for ${r}. Skipping file at '${s}'.`
|
|
73
73
|
), [];
|
|
74
74
|
const h = {
|
|
75
75
|
path: r,
|
|
76
76
|
lazy: async () => {
|
|
77
|
-
const { MdxPage: l } = await import("./MdxPage-
|
|
77
|
+
const { MdxPage: l } = await import("./MdxPage-B2FpJ9KC.js"), { default: p, ...g } = await a();
|
|
78
78
|
return {
|
|
79
79
|
element: /* @__PURE__ */ P.jsx(
|
|
80
80
|
l,
|
|
81
81
|
{
|
|
82
|
+
file: s,
|
|
82
83
|
mdxComponent: p,
|
|
83
84
|
...g,
|
|
84
85
|
defaultOptions: i
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zudoku.plugin-markdown.js","sources":["../src/lib/plugins/markdown/resolver.ts","../src/lib/plugins/markdown/index.tsx"],"sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\nimport {\n ZudokuConfig,\n ZudokuDocsConfig,\n} from \"../../../config/validators/validate.js\";\n\nconst DEFAULT_DOCS_FILES = \"/pages/**/*.{md,mdx}\";\n\n// TODO: This should be dynamic based on the glob selector\nconst SUPPORTED_EXTENSIONS = [\".md\", \".mdx\"];\n\n/**\n * Utilities for resolving markdown file paths and routes\n */\nexport class DocResolver {\n constructor(private config: ZudokuConfig) {}\n\n fileMap = new Map<string, string>();\n\n /**\n * Gets the default docs config from the zudoku config\n */\n getDocsConfigs() {\n const docsConfigs: ZudokuDocsConfig[] = this.config.docs\n ? Array.isArray(this.config.docs)\n ? this.config.docs\n : [this.config.docs]\n : [{ files: DEFAULT_DOCS_FILES }];\n\n return docsConfigs;\n }\n\n /**\n * Resolves the first matching file system path for a given docId\n * @param docId - The docId to resolve\n * @returns\n */\n resolveFilePath(docId: string) {\n const docsConfigs = this.getDocsConfigs();\n let fsPath: string | undefined;\n\n docsConfigs.forEach(({ files: fileGlob }) => {\n if (fsPath) {\n return;\n }\n const rootDir = DocResolver.getRootDir(fileGlob);\n for (const ext of SUPPORTED_EXTENSIONS) {\n if (fsPath) {\n return;\n }\n const checkPath = path.join(rootDir, `${docId}${ext}`);\n if (fs.existsSync(checkPath)) {\n fsPath = checkPath;\n }\n }\n });\n\n return fsPath;\n }\n\n /**\n * Gets the root directory from a files glob\n */\n private static getRootDir(filesGlob: string) {\n let rootDir = filesGlob.split(\"**\")[0];\n if (!rootDir) {\n throw new Error(\"Invalid files glob. Must have '**' in the path.\");\n }\n rootDir = rootDir.replace(\"/**\", \"/\");\n return rootDir;\n }\n\n /**\n * Resolves the route path for a given file system path\n * @param options - The options to resolve the route path\n * @returns The string route path\n */\n static resolveRoutePath({\n filesGlob,\n fsPath,\n }: {\n filesGlob: string;\n fsPath: string;\n }) {\n const rootDir = this.getRootDir(filesGlob);\n const re = new RegExp(`^${rootDir}(.*).mdx?`);\n const match = fsPath.match(re);\n const routePath = match?.at(1);\n return routePath;\n }\n}\n","import type { Toc } from \"@stefanprobst/rehype-extract-toc\";\nimport type { MDXProps } from \"mdx/types.js\";\nimport { RouteObject } from \"react-router-dom\";\nimport { ZudokuDocsConfig } from \"../../../config/validators/validate.js\";\nimport type { ZudokuPlugin } from \"../../core/plugins.js\";\nimport { DocResolver } from \"./resolver.js\";\n\nexport interface MarkdownPluginOptions extends ZudokuDocsConfig {\n fileImports: Record<string, () => Promise<MDXImport>>;\n}\nexport type MarkdownPluginDefaultOptions = Pick<\n Frontmatter,\n \"toc\" | \"disablePager\"\n>;\n\nexport type Frontmatter = {\n title?: string;\n description?: string;\n category?: string;\n toc?: boolean;\n disablePager?: boolean;\n};\n\nexport type MDXImport = {\n tableOfContents: Toc;\n frontmatter: Frontmatter;\n default: (props: MDXProps) => JSX.Element;\n};\n\nexport const markdownPlugin = (\n options: MarkdownPluginOptions[],\n): ZudokuPlugin => ({\n getRoutes: () => {\n const routeMap = new Map<string, RouteObject>();\n options.forEach(({ fileImports, files, defaultOptions }) =>\n Object.entries(fileImports).flatMap(([file, importPromise]) => {\n const routePath = DocResolver.resolveRoutePath({\n filesGlob: files,\n fsPath: file,\n });\n\n if (!routePath) return [];\n\n if (routeMap.has(routePath)) {\n // eslint-disable-next-line no-console\n console.warn(\n `Duplicate route path found for ${routePath}. Skipping file at '${file}'.`,\n );\n return [];\n }\n\n const route: RouteObject = {\n path: routePath,\n lazy: async () => {\n const { MdxPage } = await import(\"./MdxPage.js\");\n const { default: Component, ...props } = await importPromise();\n return {\n element: (\n <MdxPage\n mdxComponent={Component}\n {...props}\n defaultOptions={defaultOptions}\n />\n ),\n };\n },\n };\n routeMap.set(routePath, route);\n }),\n );\n return [...routeMap.values()];\n },\n});\n"],"names":["DEFAULT_DOCS_FILES","SUPPORTED_EXTENSIONS","DocResolver","config","__publicField","docId","docsConfigs","fsPath","fileGlob","rootDir","ext","checkPath","path","fs","filesGlob","re","match","markdownPlugin","options","routeMap","fileImports","files","defaultOptions","file","importPromise","routePath","route","MdxPage","Component","props","jsx"],"mappings":";;;;;AAOA,MAAMA,IAAqB,wBAGrBC,IAAuB,CAAC,OAAO,MAAM;AAKpC,MAAMC,EAAY;AAAA,EACvB,YAAoBC,GAAsB;AAE1C,IAAAC,EAAA,qCAAc;AAFM,SAAA,SAAAD;AAAA,EAAuB;AAAA;AAAA;AAAA;AAAA,EAO3C,iBAAiB;AAOR,WANiC,KAAK,OAAO,OAChD,MAAM,QAAQ,KAAK,OAAO,IAAI,IAC5B,KAAK,OAAO,OACZ,CAAC,KAAK,OAAO,IAAI,IACnB,CAAC,EAAE,OAAOH,EAAA,CAAoB;AAAA,EAGpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,gBAAgBK,GAAe;AACvB,UAAAC,IAAc,KAAK;AACrB,QAAAC;AAEJ,WAAAD,EAAY,QAAQ,CAAC,EAAE,OAAOE,QAAe;AAC3C,UAAID;AACF;AAEI,YAAAE,IAAUP,EAAY,WAAWM,CAAQ;AAC/C,iBAAWE,KAAOT,GAAsB;AACtC,YAAIM;AACF;AAEI,cAAAI,IAAYC,EAAK,KAAKH,GAAS,GAAGJ,CAAK,GAAGK,CAAG,EAAE;AACjD,QAAAG,EAAG,WAAWF,CAAS,MAChBJ,IAAAI;AAAA,MAEb;AAAA,IAAA,CACD,GAEMJ;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,OAAe,WAAWO,GAAmB;AAC3C,QAAIL,IAAUK,EAAU,MAAM,IAAI,EAAE,CAAC;AACrC,QAAI,CAACL;AACG,YAAA,IAAI,MAAM,iDAAiD;AAEzD,WAAAA,IAAAA,EAAQ,QAAQ,OAAO,GAAG,GAC7BA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,iBAAiB;AAAA,IACtB,WAAAK;AAAA,IACA,QAAAP;AAAA,EAAA,GAIC;AACK,UAAAE,IAAU,KAAK,WAAWK,CAAS,GACnCC,IAAK,IAAI,OAAO,IAAIN,CAAO,WAAW,GACtCO,IAAQT,EAAO,MAAMQ,CAAE;AAEtB,WADWC,KAAA,gBAAAA,EAAO,GAAG;AAAA,EAE9B;AACF;AC9Da,MAAAC,IAAiB,CAC5BC,OACkB;AAAA,EAClB,WAAW,MAAM;AACT,UAAAC,wBAAe;AACb,WAAAD,EAAA;AAAA,MAAQ,CAAC,EAAE,aAAAE,GAAa,OAAAC,GAAO,gBAAAC,QACrC,OAAO,QAAQF,CAAW,EAAE,QAAQ,CAAC,CAACG,GAAMC,CAAa,MAAM;AACvD,cAAAC,IAAYvB,EAAY,iBAAiB;AAAA,UAC7C,WAAWmB;AAAA,UACX,QAAQE;AAAA,QAAA,CACT;AAEG,YAAA,CAACE,EAAW,QAAO;AAEnB,YAAAN,EAAS,IAAIM,CAAS;AAEhB,yBAAA;AAAA,YACN,kCAAkCA,CAAS,uBAAuBF,CAAI;AAAA,UAAA,GAEjE;AAGT,cAAMG,IAAqB;AAAA,UACzB,MAAMD;AAAA,UACN,MAAM,YAAY;AAChB,kBAAM,EAAE,SAAAE,EAAA,IAAY,MAAM,OAAO,uBAAc,GACzC,EAAE,SAASC,GAAW,GAAGC,EAAM,IAAI,MAAML;AACxC,mBAAA;AAAA,cACL,SACEM,gBAAAA,EAAA;AAAA,gBAACH;AAAA,gBAAA;AAAA,kBACC,
|
|
1
|
+
{"version":3,"file":"zudoku.plugin-markdown.js","sources":["../src/lib/plugins/markdown/resolver.ts","../src/lib/plugins/markdown/index.tsx"],"sourcesContent":["import fs from \"fs\";\nimport path from \"path\";\nimport {\n ZudokuConfig,\n ZudokuDocsConfig,\n} from \"../../../config/validators/validate.js\";\n\nconst DEFAULT_DOCS_FILES = \"/pages/**/*.{md,mdx}\";\n\n// TODO: This should be dynamic based on the glob selector\nconst SUPPORTED_EXTENSIONS = [\".md\", \".mdx\"];\n\n/**\n * Utilities for resolving markdown file paths and routes\n */\nexport class DocResolver {\n constructor(private config: ZudokuConfig) {}\n\n fileMap = new Map<string, string>();\n\n /**\n * Gets the default docs config from the zudoku config\n */\n getDocsConfigs() {\n const docsConfigs: ZudokuDocsConfig[] = this.config.docs\n ? Array.isArray(this.config.docs)\n ? this.config.docs\n : [this.config.docs]\n : [{ files: DEFAULT_DOCS_FILES }];\n\n return docsConfigs;\n }\n\n /**\n * Resolves the first matching file system path for a given docId\n * @param docId - The docId to resolve\n * @returns\n */\n resolveFilePath(docId: string) {\n const docsConfigs = this.getDocsConfigs();\n let fsPath: string | undefined;\n\n docsConfigs.forEach(({ files: fileGlob }) => {\n if (fsPath) {\n return;\n }\n const rootDir = DocResolver.getRootDir(fileGlob);\n for (const ext of SUPPORTED_EXTENSIONS) {\n if (fsPath) {\n return;\n }\n const checkPath = path.join(rootDir, `${docId}${ext}`);\n if (fs.existsSync(checkPath)) {\n fsPath = checkPath;\n }\n }\n });\n\n return fsPath;\n }\n\n /**\n * Gets the root directory from a files glob\n */\n private static getRootDir(filesGlob: string) {\n let rootDir = filesGlob.split(\"**\")[0];\n if (!rootDir) {\n throw new Error(\"Invalid files glob. Must have '**' in the path.\");\n }\n rootDir = rootDir.replace(\"/**\", \"/\");\n return rootDir;\n }\n\n /**\n * Resolves the route path for a given file system path\n * @param options - The options to resolve the route path\n * @returns The string route path\n */\n static resolveRoutePath({\n filesGlob,\n fsPath,\n }: {\n filesGlob: string;\n fsPath: string;\n }) {\n const rootDir = this.getRootDir(filesGlob);\n const re = new RegExp(`^${rootDir}(.*).mdx?`);\n const match = fsPath.match(re);\n const routePath = match?.at(1);\n return routePath;\n }\n}\n","import type { Toc } from \"@stefanprobst/rehype-extract-toc\";\nimport type { MDXProps } from \"mdx/types.js\";\nimport { RouteObject } from \"react-router-dom\";\nimport { ZudokuDocsConfig } from \"../../../config/validators/validate.js\";\nimport type { ZudokuPlugin } from \"../../core/plugins.js\";\nimport { DocResolver } from \"./resolver.js\";\n\nexport interface MarkdownPluginOptions extends ZudokuDocsConfig {\n fileImports: Record<string, () => Promise<MDXImport>>;\n}\nexport type MarkdownPluginDefaultOptions = Pick<\n Frontmatter,\n \"toc\" | \"disablePager\"\n>;\n\nexport type Frontmatter = {\n title?: string;\n description?: string;\n category?: string;\n toc?: boolean;\n disablePager?: boolean;\n};\n\nexport type MDXImport = {\n tableOfContents: Toc;\n frontmatter: Frontmatter;\n default: (props: MDXProps) => JSX.Element;\n};\n\nexport const markdownPlugin = (\n options: MarkdownPluginOptions[],\n): ZudokuPlugin => ({\n getRoutes: () => {\n const routeMap = new Map<string, RouteObject>();\n options.forEach(({ fileImports, files, defaultOptions }) =>\n Object.entries(fileImports).flatMap(([file, importPromise]) => {\n const routePath = DocResolver.resolveRoutePath({\n filesGlob: files,\n fsPath: file,\n });\n\n if (!routePath) return [];\n\n if (routeMap.has(routePath)) {\n // eslint-disable-next-line no-console\n console.warn(\n `Duplicate route path found for ${routePath}. Skipping file at '${file}'.`,\n );\n return [];\n }\n\n const route: RouteObject = {\n path: routePath,\n lazy: async () => {\n const { MdxPage } = await import(\"./MdxPage.js\");\n const { default: Component, ...props } = await importPromise();\n return {\n element: (\n <MdxPage\n file={file}\n mdxComponent={Component}\n {...props}\n defaultOptions={defaultOptions}\n />\n ),\n };\n },\n };\n routeMap.set(routePath, route);\n }),\n );\n return [...routeMap.values()];\n },\n});\n"],"names":["DEFAULT_DOCS_FILES","SUPPORTED_EXTENSIONS","DocResolver","config","__publicField","docId","docsConfigs","fsPath","fileGlob","rootDir","ext","checkPath","path","fs","filesGlob","re","match","markdownPlugin","options","routeMap","fileImports","files","defaultOptions","file","importPromise","routePath","route","MdxPage","Component","props","jsx"],"mappings":";;;;;AAOA,MAAMA,IAAqB,wBAGrBC,IAAuB,CAAC,OAAO,MAAM;AAKpC,MAAMC,EAAY;AAAA,EACvB,YAAoBC,GAAsB;AAE1C,IAAAC,EAAA,qCAAc;AAFM,SAAA,SAAAD;AAAA,EAAuB;AAAA;AAAA;AAAA;AAAA,EAO3C,iBAAiB;AAOR,WANiC,KAAK,OAAO,OAChD,MAAM,QAAQ,KAAK,OAAO,IAAI,IAC5B,KAAK,OAAO,OACZ,CAAC,KAAK,OAAO,IAAI,IACnB,CAAC,EAAE,OAAOH,EAAA,CAAoB;AAAA,EAGpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,gBAAgBK,GAAe;AACvB,UAAAC,IAAc,KAAK;AACrB,QAAAC;AAEJ,WAAAD,EAAY,QAAQ,CAAC,EAAE,OAAOE,QAAe;AAC3C,UAAID;AACF;AAEI,YAAAE,IAAUP,EAAY,WAAWM,CAAQ;AAC/C,iBAAWE,KAAOT,GAAsB;AACtC,YAAIM;AACF;AAEI,cAAAI,IAAYC,EAAK,KAAKH,GAAS,GAAGJ,CAAK,GAAGK,CAAG,EAAE;AACjD,QAAAG,EAAG,WAAWF,CAAS,MAChBJ,IAAAI;AAAA,MAEb;AAAA,IAAA,CACD,GAEMJ;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,OAAe,WAAWO,GAAmB;AAC3C,QAAIL,IAAUK,EAAU,MAAM,IAAI,EAAE,CAAC;AACrC,QAAI,CAACL;AACG,YAAA,IAAI,MAAM,iDAAiD;AAEzD,WAAAA,IAAAA,EAAQ,QAAQ,OAAO,GAAG,GAC7BA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAO,iBAAiB;AAAA,IACtB,WAAAK;AAAA,IACA,QAAAP;AAAA,EAAA,GAIC;AACK,UAAAE,IAAU,KAAK,WAAWK,CAAS,GACnCC,IAAK,IAAI,OAAO,IAAIN,CAAO,WAAW,GACtCO,IAAQT,EAAO,MAAMQ,CAAE;AAEtB,WADWC,KAAA,gBAAAA,EAAO,GAAG;AAAA,EAE9B;AACF;AC9Da,MAAAC,IAAiB,CAC5BC,OACkB;AAAA,EAClB,WAAW,MAAM;AACT,UAAAC,wBAAe;AACb,WAAAD,EAAA;AAAA,MAAQ,CAAC,EAAE,aAAAE,GAAa,OAAAC,GAAO,gBAAAC,QACrC,OAAO,QAAQF,CAAW,EAAE,QAAQ,CAAC,CAACG,GAAMC,CAAa,MAAM;AACvD,cAAAC,IAAYvB,EAAY,iBAAiB;AAAA,UAC7C,WAAWmB;AAAA,UACX,QAAQE;AAAA,QAAA,CACT;AAEG,YAAA,CAACE,EAAW,QAAO;AAEnB,YAAAN,EAAS,IAAIM,CAAS;AAEhB,yBAAA;AAAA,YACN,kCAAkCA,CAAS,uBAAuBF,CAAI;AAAA,UAAA,GAEjE;AAGT,cAAMG,IAAqB;AAAA,UACzB,MAAMD;AAAA,UACN,MAAM,YAAY;AAChB,kBAAM,EAAE,SAAAE,EAAA,IAAY,MAAM,OAAO,uBAAc,GACzC,EAAE,SAASC,GAAW,GAAGC,EAAM,IAAI,MAAML;AACxC,mBAAA;AAAA,cACL,SACEM,gBAAAA,EAAA;AAAA,gBAACH;AAAA,gBAAA;AAAA,kBACC,MAAAJ;AAAA,kBACA,cAAcK;AAAA,kBACb,GAAGC;AAAA,kBACJ,gBAAAP;AAAA,gBAAA;AAAA,cACF;AAAA,YAAA;AAAA,UAGN;AAAA,QAAA;AAEO,QAAAH,EAAA,IAAIM,GAAWC,CAAK;AAAA,MAAA,CAC9B;AAAA,IAAA,GAEI,CAAC,GAAGP,EAAS,OAAA,CAAQ;AAAA,EAC9B;AACF;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zudoku",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"homepage": "https://zudoku.dev",
|
|
6
6
|
"repository": {
|
|
@@ -82,6 +82,10 @@
|
|
|
82
82
|
"import": "./lib/zudoku.components.js",
|
|
83
83
|
"types": "./dist/lib/components/index.d.ts"
|
|
84
84
|
},
|
|
85
|
+
"./post-processors/*": {
|
|
86
|
+
"import": "./lib/post-processors/*.js",
|
|
87
|
+
"types": "./dist/lib/plugins/openapi/post-processors/*.d.ts"
|
|
88
|
+
},
|
|
85
89
|
"./icons": {
|
|
86
90
|
"import": "./lib/zudoku.icons.js",
|
|
87
91
|
"types": "./dist/lib/icons.d.ts"
|
|
@@ -100,6 +104,10 @@
|
|
|
100
104
|
},
|
|
101
105
|
"./app/*": {
|
|
102
106
|
"import": "./src/app/*"
|
|
107
|
+
},
|
|
108
|
+
"./with-zuplo": {
|
|
109
|
+
"require": "./dist/zuplo/with-zuplo.js",
|
|
110
|
+
"import": "./dist/zuplo/with-zuplo.js"
|
|
103
111
|
}
|
|
104
112
|
},
|
|
105
113
|
"dependencies": {
|
|
@@ -140,8 +148,8 @@
|
|
|
140
148
|
"@tanstack/react-query": "5.61.0",
|
|
141
149
|
"@types/react": "18.3.11",
|
|
142
150
|
"@types/react-dom": "18.3.1",
|
|
143
|
-
"@vitejs/plugin-react": "4.3.
|
|
144
|
-
"@zudoku/config": "0.18.
|
|
151
|
+
"@vitejs/plugin-react": "4.3.4",
|
|
152
|
+
"@zudoku/config": "0.18.4",
|
|
145
153
|
"@zudoku/httpsnippet": "10.0.9",
|
|
146
154
|
"@zudoku/react-helmet-async": "2.0.4",
|
|
147
155
|
"autoprefixer": "10.4.20",
|
|
@@ -217,11 +225,13 @@
|
|
|
217
225
|
"@types/react-is": "18.3.0",
|
|
218
226
|
"@types/semver": "7.5.8",
|
|
219
227
|
"@types/yargs": "17.0.33",
|
|
228
|
+
"@vitest/coverage-v8": "2.1.8",
|
|
220
229
|
"mdast-util-mdx": "3.0.0",
|
|
221
230
|
"react": "18.3.1",
|
|
222
231
|
"react-dom": "18.3.1",
|
|
223
232
|
"rollup-plugin-visualizer": "5.12.0",
|
|
224
|
-
"typescript": "5.7.2"
|
|
233
|
+
"typescript": "5.7.2",
|
|
234
|
+
"vitest": "2.1.8"
|
|
225
235
|
},
|
|
226
236
|
"peerDependencies": {
|
|
227
237
|
"react": ">=18",
|
|
@@ -239,7 +249,7 @@
|
|
|
239
249
|
"hack:fix-worker-paths": "node ./scripts/hack-worker.mjs",
|
|
240
250
|
"clean": "tsc --build --clean",
|
|
241
251
|
"codegen": "graphql-codegen --config ./src/codegen.ts",
|
|
242
|
-
"test": "
|
|
252
|
+
"test": "vitest run"
|
|
243
253
|
},
|
|
244
254
|
"module": "./dist/index.js",
|
|
245
255
|
"types": "./dist/index.d.ts"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { type RecordAny, traverse } from "../../../util/traverse.js";
|
|
2
3
|
import type { OpenAPIDocument } from "../index.js";
|
|
3
4
|
/**
|
|
4
5
|
* Upgrade from OpenAPI 3.0.x to 3.1.0
|
|
@@ -6,30 +7,8 @@ import type { OpenAPIDocument } from "../index.js";
|
|
|
6
7
|
* Taken from https://github.com/scalar/openapi-parser/blob/main/packages/openapi-parser/src/utils/upgradeFromThreeToThreeOne.ts
|
|
7
8
|
* https://www.openapis.org/blog/2021/02/16/migrating-from-openapi-3-0-to-3-1-0
|
|
8
9
|
*/
|
|
9
|
-
export function traverse(
|
|
10
|
-
specification: Record<string, any>,
|
|
11
|
-
transform: (specification: Record<string, any>) => Record<string, any>,
|
|
12
|
-
) {
|
|
13
|
-
const result: Record<string, any> = {};
|
|
14
10
|
|
|
15
|
-
|
|
16
|
-
if (Array.isArray(value)) {
|
|
17
|
-
result[key] = value.map((item) =>
|
|
18
|
-
typeof item === "object" && item !== null
|
|
19
|
-
? traverse(item, transform)
|
|
20
|
-
: item,
|
|
21
|
-
);
|
|
22
|
-
} else if (typeof value === "object" && value !== null) {
|
|
23
|
-
result[key] = traverse(value, transform);
|
|
24
|
-
} else {
|
|
25
|
-
result[key] = value;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
return transform(result);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export const upgradeSchema = (schema: Record<string, any>): OpenAPIDocument => {
|
|
11
|
+
export const upgradeSchema = (schema: RecordAny): OpenAPIDocument => {
|
|
33
12
|
if (schema.openapi?.startsWith("3.0")) {
|
|
34
13
|
schema.openapi = "3.1.0";
|
|
35
14
|
}
|
|
@@ -75,7 +54,7 @@ export const upgradeSchema = (schema: Record<string, any>): OpenAPIDocument => {
|
|
|
75
54
|
schema = traverse(schema, (sub) => {
|
|
76
55
|
if (sub.type === "object" && sub.properties !== undefined) {
|
|
77
56
|
for (const [, value] of Object.entries(sub.properties)) {
|
|
78
|
-
const v = (value ?? {}) as
|
|
57
|
+
const v = (value ?? {}) as RecordAny;
|
|
79
58
|
if (v.type === "string" && v.format === "binary") {
|
|
80
59
|
v.contentEncoding = "application/octet-stream";
|
|
81
60
|
delete v.format;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useMDXComponents } from "@mdx-js/react";
|
|
2
2
|
import slugify from "@sindresorhus/slugify";
|
|
3
3
|
import { Helmet } from "@zudoku/react-helmet-async";
|
|
4
|
-
import { type PropsWithChildren } from "react";
|
|
4
|
+
import { type PropsWithChildren, useEffect } from "react";
|
|
5
5
|
import { Link } from "react-router-dom";
|
|
6
6
|
import { CategoryHeading } from "../../components/CategoryHeading.js";
|
|
7
7
|
import { Heading } from "../../components/Heading.js";
|
|
@@ -15,6 +15,14 @@ import { cn } from "../../util/cn.js";
|
|
|
15
15
|
import { Toc } from "./Toc.js";
|
|
16
16
|
import { MarkdownPluginDefaultOptions, MDXImport } from "./index.js";
|
|
17
17
|
|
|
18
|
+
declare global {
|
|
19
|
+
interface Window {
|
|
20
|
+
__getReactRefreshIgnoredExports?: (args: {
|
|
21
|
+
id: string;
|
|
22
|
+
}) => string[] | undefined;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
18
26
|
const MarkdownHeadings = {
|
|
19
27
|
h2: ({ children, id }) => (
|
|
20
28
|
<Heading level={2} id={id} registerSidebarAnchor>
|
|
@@ -30,11 +38,13 @@ const MarkdownHeadings = {
|
|
|
30
38
|
|
|
31
39
|
export const MdxPage = ({
|
|
32
40
|
mdxComponent: MdxComponent,
|
|
41
|
+
file,
|
|
33
42
|
frontmatter = {},
|
|
34
43
|
defaultOptions,
|
|
35
44
|
tableOfContents,
|
|
36
45
|
}: PropsWithChildren<
|
|
37
46
|
Omit<MDXImport, "default"> & {
|
|
47
|
+
file: string;
|
|
38
48
|
mdxComponent: MDXImport["default"];
|
|
39
49
|
defaultOptions?: MarkdownPluginDefaultOptions;
|
|
40
50
|
}
|
|
@@ -57,6 +67,20 @@ export const MdxPage = ({
|
|
|
57
67
|
|
|
58
68
|
const { prev, next } = usePrevNext();
|
|
59
69
|
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
if (process.env.NODE_ENV === "development") {
|
|
72
|
+
window.__getReactRefreshIgnoredExports = ({ id }) => {
|
|
73
|
+
if (!id.endsWith(file)) return;
|
|
74
|
+
|
|
75
|
+
return ["frontmatter", "tableOfContents"];
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
return () => {
|
|
79
|
+
window.__getReactRefreshIgnoredExports = undefined;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
}, [file]);
|
|
83
|
+
|
|
60
84
|
return (
|
|
61
85
|
<div className="xl:grid grid-cols-[--sidecar-grid-cols] gap-8 justify-between">
|
|
62
86
|
<Helmet>
|
|
@@ -15,6 +15,20 @@ type GraphQLResponse<TResult> = {
|
|
|
15
15
|
data: TResult;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
+
const resolveVariables = async (variables?: unknown) => {
|
|
19
|
+
if (!variables) return;
|
|
20
|
+
|
|
21
|
+
if (
|
|
22
|
+
typeof variables === "object" &&
|
|
23
|
+
"type" in variables &&
|
|
24
|
+
variables.type === "file" &&
|
|
25
|
+
"input" in variables &&
|
|
26
|
+
typeof variables.input === "function"
|
|
27
|
+
) {
|
|
28
|
+
variables.input = await variables.input();
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
18
32
|
const throwIfError = (response: GraphQLResponse<unknown>) => {
|
|
19
33
|
if (!response.errors?.[0]) return;
|
|
20
34
|
|
|
@@ -47,6 +61,9 @@ export class GraphQLClient {
|
|
|
47
61
|
...[variables]: TVariables extends Record<string, never> ? [] : [TVariables]
|
|
48
62
|
) => {
|
|
49
63
|
const operationName = query.match(/query (\w+)/)?.[1];
|
|
64
|
+
|
|
65
|
+
await resolveVariables(variables);
|
|
66
|
+
|
|
50
67
|
const body = JSON.stringify({ query, variables, operationName });
|
|
51
68
|
|
|
52
69
|
switch (this.#mode) {
|