1"use strict";(globalThis.webpackChunkvoiden_docs=globalThis.webpackChunkvoiden_docs||[]).push([[1809],{4867:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"plugins/community-plugins/insomnia-importer","title":"Insomnia Collection Importer","description":"Import Insomnia v4 (.json) and v5 (.yaml/.json) collection exports into Voiden \u2014 preserves folder structure, headers, query params, request bodies, and authentication.","source":"@site/docs/plugins/community-plugins/insomnia-importer.md","sourceDirName":"plugins/community-plugins","slug":"/plugins/community-plugins/insomnia-importer","permalink":"/docs/plugins/community-plugins/insomnia-importer","draft":false,"unlisted":false,"editUrl":"https://github.com/phurpa-tsering/insomnia-importer","tags":[],"version":"current","lastUpdatedAt":1790146608000,"frontMatter":{"id":"insomnia-importer","title":"Insomnia Collection Importer","sidebar_label":"Insomnia Collection Importer","description":"Import Insomnia v4 (.json) and v5 (.yaml/.json) collection exports into Voiden \u2014 preserves folder structure, headers, query params, request bodies, and authentication.","custom_edit_url":"https://github.com/phurpa-tsering/insomnia-importer"},"sidebar":"tutorialSidebar","previous":{"title":"Blueprints","permalink":"/docs/plugins/community-plugins/blueprints"},"next":{"title":"Theme Creator","permalink":"/docs/plugins/community-plugins/theme-creator"}}');var t=i(4848),s=i(8453);const o={id:"insomnia-importer",title:"Insomnia Collection Importer",sidebar_label:"Insomnia Collection Importer",description:"Import Insomnia v4 (.json) and v5 (.yaml/.json) collection exports into Voiden \u2014 preserves folder structure, headers, query params, request bodies, and authentication.",custom_edit_url:"https://github.com/phurpa-tsering/insomnia-importer"},d=void 0,l={},c=[{value:"What it does",id:"what-it-does",level:2},{value:"Supported body types",id:"supported-body-types",level:2},{value:"Requirements",id:"requirements",level:2},{value:"Usage",id:"usage",level:2},{value:"Building",id:"building",level:2},{value:"Author",id:"author",level:2}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.admonition,{title:"Plugin Info",type:"info",children:(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:"Author:"})," Phurpa Tsering \xa0|\xa0 ",(0,t.jsx)(n.strong,{children:"Version:"})," 1.4.1 \xa0|\xa0 ",(0,t.jsx)(n.strong,{children:"Repository:"})," ",(0,t.jsx)(n.a,{href:"https://github.com/phurpa-tsering/insomnia-importer",children:"phurpa-tsering/insomnia-importer"})]})}),"\n",(0,t.jsxs)(n.p,{children:["A ",(0,t.jsx)(n.a,{href:"https://voiden.md",children:"Voiden"})," plugin that imports ",(0,t.jsxs)(n.strong,{children:["Insomnia v4 (",(0,t.jsx)(n.code,{children:".json"}),") and v5 (",(0,t.jsx)(n.code,{children:".yaml"}),"/",(0,t.jsx)(n.code,{children:".yml"}),"/",(0,t.jsx)(n.code,{children:".json"}),") collection exports"]})," directly into your Voiden workspace. It mirrors the same experience as the OpenAPI importer but targets the Insomnia export format, converting every request and folder into native Voiden ",(0,t.jsx)(n.code,{children:".void"})," files."]}),"\n",(0,t.jsx)(n.h2,{id:"what-it-does",children:"What it does"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:"Reads an Insomnia v4 (JSON) or v5 (YAML/JSON) export and rebuilds the full folder hierarchy inside your active Voiden project"}),"\n",(0,t.jsxs)(n.li,{children:["Converts each request into a ",(0,t.jsx)(n.code,{children:".void"})," file with the correct block types \u2014 ",(0,t.jsx)(n.code,{children:"json_body"}),", ",(0,t.jsx)(n.code,{children:"xml_body"}),", ",(0,t.jsx)(n.code,{children:"yml_body"}),", ",(0,t.jsx)(n.code,{children:"restFile"}),", ",(0,t.jsx)(n.code,{children:"multipart-table"}),", ",(0,t.jsx)(n.code,{children:"url-table"}),", ",(0,t.jsx)(n.code,{children:"headers-table"}),", ",(0,t.jsx)(n.code,{children:"query-table"}),", and ",(0,t.jsx)(n.code,{children:"path-table"})]}),"\n",(0,t.jsx)(n.li,{children:"Merges authentication (Basic, Bearer, API Key, OAuth2) into request headers automatically"}),"\n",(0,t.jsx)(n.li,{children:"Sanitizes folder and file names for filesystem compatibility"}),"\n",(0,t.jsx)(n.li,{children:"Shows a live progress indicator and reports any per-request errors without halting the whole import"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"supported-body-types",children:"Supported body types"}),"\n",(0,t.jsxs)(n.table,{children:[(0,t.jsx)(n.thead,{children:(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.th,{children:"Insomnia body"}),(0,t.jsx)(n.th,{children:"Voiden block"})]})}),(0,t.jsxs)(n.tbody,{children:[(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"application/json"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"json_body"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"application/xml"})," / ",(0,t.jsx)(n.code,{children:"text/xml"})]}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"xml_body"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"application/yaml"})," / ",(0,t.jsx)(n.code,{children:"application/x-yaml"})]}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"yml_body"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsxs)(n.td,{children:[(0,t.jsx)(n.code,{children:"application/octet-stream"})," / binary"]}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"restFile"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"multipart/form-data"})}),(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"multipart-table"})})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"application/x-www-form-urlencoded"})}),(0,t.jsx)(n.td,{children:"skipped (not supported)"})]}),(0,t.jsxs)(n.tr,{children:[(0,t.jsx)(n.td,{children:(0,t.jsx)(n.code,{children:"application/graphql"})}),(0,t.jsx)(n.td,{children:"skipped (not supported)"})]})]})]}),"\n",(0,t.jsx)(n.h2,{id:"requirements",children:"Requirements"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Voiden ",(0,t.jsx)(n.code,{children:">=2.0.0"})]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"voiden-rest-api"})," extension (must be loaded before this plugin)"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,t.jsxs)(n.ol,{children:["\n",(0,t.jsxs)(n.li,{children:["Export your collection from Insomnia: ",(0,t.jsx)(n.strong,{children:"Application \u2192 Export Data \u2192 Current Worksp
1ace"})," \u2014 pick ",(0,t.jsx)(n.strong,{children:"Insomnia v4 JSON"})," (older Insomnia) or ",(0,t.jsx)(n.strong,{children:"Insomnia v5 YAML/JSON"})," (newer Insomnia)."]}),"\n",(0,t.jsx)(n.li,{children:"In Voiden, drop the exported file in the active working project and open it."}),"\n",(0,t.jsxs)(n.li,{children:["At the top right corner , you will see ",(0,t.jsx)(n.code,{children:"Import into voiden"}),"."]}),"\n",(0,t.jsxs)(n.li,{children:["The plugin creates a folder matching the workspace name and populates it with ",(0,t.jsx)(n.code,{children:".void"})," files"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"building",children:"Building"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"npm install\nnpm run build # builds the plugin bundle\nnpm run release # build + generate manifest\n"})}),"\n",(0,t.jsx)(n.h2,{id:"author",children:"Author"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsx)(n.a,{href:"https://www.linkedin.com/in/phurpa-tsering-0767b1148",children:"Phurpa Tsering"})})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(a,{...e})}):a(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>d});var r=i(6540);const t={},s=r.createContext(t);function o(e){const n=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.