mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-04-23 00:58:32 +02:00
Some postman import improvements
This commit is contained in:
@@ -1,12 +0,0 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
|
||||||
<configuration default="false" name="Dev Desktop" type="js.build_tools.npm">
|
|
||||||
<package-json value="$PROJECT_DIR$/package.json" />
|
|
||||||
<command value="run" />
|
|
||||||
<scripts>
|
|
||||||
<script value="tauri-dev" />
|
|
||||||
</scripts>
|
|
||||||
<node-interpreter value="project" />
|
|
||||||
<envs />
|
|
||||||
<method v="2" />
|
|
||||||
</configuration>
|
|
||||||
</component>
|
|
||||||
299
package-lock.json
generated
299
package-lock.json
generated
@@ -67,6 +67,7 @@
|
|||||||
"eslint-plugin-react-hooks": "^4.6.0",
|
"eslint-plugin-react-hooks": "^4.6.0",
|
||||||
"husky": "^8.0.3",
|
"husky": "^8.0.3",
|
||||||
"lint-staged": "^15.0.2",
|
"lint-staged": "^15.0.2",
|
||||||
|
"npm-run-all": "^4.1.5",
|
||||||
"postcss": "^8.4.21",
|
"postcss": "^8.4.21",
|
||||||
"postcss-nesting": "^11.2.1",
|
"postcss-nesting": "^11.2.1",
|
||||||
"prettier": "^2.8.4",
|
"prettier": "^2.8.4",
|
||||||
@@ -4688,6 +4689,12 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/graceful-fs": {
|
||||||
|
"version": "4.2.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
||||||
|
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/graphemer": {
|
"node_modules/graphemer": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
|
||||||
@@ -4815,6 +4822,12 @@
|
|||||||
"react-is": "^16.7.0"
|
"react-is": "^16.7.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/hosted-git-info": {
|
||||||
|
"version": "2.8.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
|
||||||
|
"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/human-signals": {
|
"node_modules/human-signals": {
|
||||||
"version": "5.0.0",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
|
||||||
@@ -5377,6 +5390,12 @@
|
|||||||
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
|
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/json-parse-better-errors": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/json-parse-even-better-errors": {
|
"node_modules/json-parse-even-better-errors": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
|
||||||
@@ -5534,6 +5553,43 @@
|
|||||||
"node": ">=16.0.0"
|
"node": ">=16.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/load-json-file": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"graceful-fs": "^4.1.2",
|
||||||
|
"parse-json": "^4.0.0",
|
||||||
|
"pify": "^3.0.0",
|
||||||
|
"strip-bom": "^3.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/load-json-file/node_modules/parse-json": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"error-ex": "^1.3.1",
|
||||||
|
"json-parse-better-errors": "^1.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/load-json-file/node_modules/pify": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/local-pkg": {
|
"node_modules/local-pkg": {
|
||||||
"version": "0.4.3",
|
"version": "0.4.3",
|
||||||
"resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
|
||||||
@@ -5659,6 +5715,15 @@
|
|||||||
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
|
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
|
||||||
"integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow=="
|
"integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow=="
|
||||||
},
|
},
|
||||||
|
"node_modules/memorystream": {
|
||||||
|
"version": "0.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
|
||||||
|
"integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/merge-stream": {
|
"node_modules/merge-stream": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
||||||
@@ -5793,12 +5858,39 @@
|
|||||||
"integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
|
"integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/nice-try": {
|
||||||
|
"version": "1.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
|
||||||
|
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/node-releases": {
|
"node_modules/node-releases": {
|
||||||
"version": "2.0.13",
|
"version": "2.0.13",
|
||||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
|
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
|
||||||
"integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
|
"integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/normalize-package-data": {
|
||||||
|
"version": "2.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
|
||||||
|
"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"hosted-git-info": "^2.1.4",
|
||||||
|
"resolve": "^1.10.0",
|
||||||
|
"semver": "2 || 3 || 4 || 5",
|
||||||
|
"validate-npm-package-license": "^3.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/normalize-package-data/node_modules/semver": {
|
||||||
|
"version": "5.7.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
||||||
|
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
||||||
|
"dev": true,
|
||||||
|
"bin": {
|
||||||
|
"semver": "bin/semver"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/normalize-path": {
|
"node_modules/normalize-path": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
||||||
@@ -5816,6 +5908,110 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/npm-run-all": {
|
||||||
|
"version": "4.1.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
|
||||||
|
"integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-styles": "^3.2.1",
|
||||||
|
"chalk": "^2.4.1",
|
||||||
|
"cross-spawn": "^6.0.5",
|
||||||
|
"memorystream": "^0.3.1",
|
||||||
|
"minimatch": "^3.0.4",
|
||||||
|
"pidtree": "^0.3.0",
|
||||||
|
"read-pkg": "^3.0.0",
|
||||||
|
"shell-quote": "^1.6.1",
|
||||||
|
"string.prototype.padend": "^3.0.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"npm-run-all": "bin/npm-run-all/index.js",
|
||||||
|
"run-p": "bin/run-p/index.js",
|
||||||
|
"run-s": "bin/run-s/index.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/npm-run-all/node_modules/cross-spawn": {
|
||||||
|
"version": "6.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
|
||||||
|
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"nice-try": "^1.0.4",
|
||||||
|
"path-key": "^2.0.1",
|
||||||
|
"semver": "^5.5.0",
|
||||||
|
"shebang-command": "^1.2.0",
|
||||||
|
"which": "^1.2.9"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/npm-run-all/node_modules/path-key": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/npm-run-all/node_modules/pidtree": {
|
||||||
|
"version": "0.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz",
|
||||||
|
"integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==",
|
||||||
|
"dev": true,
|
||||||
|
"bin": {
|
||||||
|
"pidtree": "bin/pidtree.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/npm-run-all/node_modules/semver": {
|
||||||
|
"version": "5.7.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
|
||||||
|
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
|
||||||
|
"dev": true,
|
||||||
|
"bin": {
|
||||||
|
"semver": "bin/semver"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/npm-run-all/node_modules/shebang-command": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"shebang-regex": "^1.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/npm-run-all/node_modules/shebang-regex": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/npm-run-all/node_modules/which": {
|
||||||
|
"version": "1.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
|
||||||
|
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"isexe": "^2.0.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"which": "bin/which"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/npm-run-path": {
|
"node_modules/npm-run-path": {
|
||||||
"version": "5.1.0",
|
"version": "5.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz",
|
||||||
@@ -6620,6 +6816,41 @@
|
|||||||
"pify": "^2.3.0"
|
"pify": "^2.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/read-pkg": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"load-json-file": "^4.0.0",
|
||||||
|
"normalize-package-data": "^2.3.2",
|
||||||
|
"path-type": "^3.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/read-pkg/node_modules/path-type": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"pify": "^3.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/read-pkg/node_modules/pify": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/readdirp": {
|
"node_modules/readdirp": {
|
||||||
"version": "3.6.0",
|
"version": "3.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
||||||
@@ -7003,6 +7234,15 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/shell-quote": {
|
||||||
|
"version": "1.8.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
|
||||||
|
"integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
|
||||||
|
"dev": true,
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/side-channel": {
|
"node_modules/side-channel": {
|
||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
|
||||||
@@ -7094,6 +7334,38 @@
|
|||||||
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
|
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
|
||||||
"deprecated": "Please use @jridgewell/sourcemap-codec instead"
|
"deprecated": "Please use @jridgewell/sourcemap-codec instead"
|
||||||
},
|
},
|
||||||
|
"node_modules/spdx-correct": {
|
||||||
|
"version": "3.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
|
||||||
|
"integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"spdx-expression-parse": "^3.0.0",
|
||||||
|
"spdx-license-ids": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/spdx-exceptions": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/spdx-expression-parse": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"spdx-exceptions": "^2.1.0",
|
||||||
|
"spdx-license-ids": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/spdx-license-ids": {
|
||||||
|
"version": "3.0.16",
|
||||||
|
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz",
|
||||||
|
"integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/stack-generator": {
|
"node_modules/stack-generator": {
|
||||||
"version": "2.0.10",
|
"version": "2.0.10",
|
||||||
"resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.10.tgz",
|
||||||
@@ -7219,6 +7491,23 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/string.prototype.padend": {
|
||||||
|
"version": "3.1.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.5.tgz",
|
||||||
|
"integrity": "sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"call-bind": "^1.0.2",
|
||||||
|
"define-properties": "^1.2.0",
|
||||||
|
"es-abstract": "^1.22.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.4"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/string.prototype.trim": {
|
"node_modules/string.prototype.trim": {
|
||||||
"version": "1.2.8",
|
"version": "1.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
|
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
|
||||||
@@ -7837,6 +8126,16 @@
|
|||||||
"uuid": "dist/bin/uuid"
|
"uuid": "dist/bin/uuid"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/validate-npm-package-license": {
|
||||||
|
"version": "3.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
|
||||||
|
"integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"spdx-correct": "^3.0.0",
|
||||||
|
"spdx-expression-parse": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/vite": {
|
"node_modules/vite": {
|
||||||
"version": "4.5.0",
|
"version": "4.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz",
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"start": "run-s build:plugins tauri-dev",
|
||||||
"tauri-dev": "YAAK_ENV=development tauri dev --no-watch --config src-tauri/tauri-dev.conf.json",
|
"tauri-dev": "YAAK_ENV=development tauri dev --no-watch --config src-tauri/tauri-dev.conf.json",
|
||||||
"tauri-build": "tauri build",
|
"tauri-build": "tauri build",
|
||||||
"tauri": "tauri",
|
"tauri": "tauri",
|
||||||
@@ -13,6 +14,10 @@
|
|||||||
"build:icon:release": "tauri icon design/icon.png --output src-tauri/icons/release",
|
"build:icon:release": "tauri icon design/icon.png --output src-tauri/icons/release",
|
||||||
"build:icon:dev": "tauri icon design/icon-dev.png --output src-tauri/icons/dev",
|
"build:icon:dev": "tauri icon design/icon-dev.png --output src-tauri/icons/dev",
|
||||||
"build:frontend": "vite build",
|
"build:frontend": "vite build",
|
||||||
|
"build:plugins": "run-p build:plugin:importer-insomnia build:plugin:importer-postman build:plugin:importer-yaak",
|
||||||
|
"build:plugin:importer-insomnia": "cd src-tauri/plugins/importer-insomnia && vite build",
|
||||||
|
"build:plugin:importer-postman": "cd src-tauri/plugins/importer-postman && vite build",
|
||||||
|
"build:plugin:importer-yaak": "cd src-tauri/plugins/importer-yaak && vite build",
|
||||||
"test": "vitest",
|
"test": "vitest",
|
||||||
"coverage": "vitest run --coverage",
|
"coverage": "vitest run --coverage",
|
||||||
"prepare": "husky install"
|
"prepare": "husky install"
|
||||||
@@ -77,6 +82,7 @@
|
|||||||
"eslint-plugin-react-hooks": "^4.6.0",
|
"eslint-plugin-react-hooks": "^4.6.0",
|
||||||
"husky": "^8.0.3",
|
"husky": "^8.0.3",
|
||||||
"lint-staged": "^15.0.2",
|
"lint-staged": "^15.0.2",
|
||||||
|
"npm-run-all": "^4.1.5",
|
||||||
"postcss": "^8.4.21",
|
"postcss": "^8.4.21",
|
||||||
"postcss-nesting": "^11.2.1",
|
"postcss-nesting": "^11.2.1",
|
||||||
"prettier": "^2.8.4",
|
"prettier": "^2.8.4",
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ function S(e, t) {
|
|||||||
workspaceId: t,
|
workspaceId: t,
|
||||||
model: 'environment',
|
model: 'environment',
|
||||||
name: e.name,
|
name: e.name,
|
||||||
variables: Object.entries(e.data).map(([n, s]) => ({
|
variables: Object.entries(e.data).map(([n, a]) => ({
|
||||||
enabled: !0,
|
enabled: !0,
|
||||||
name: n,
|
name: n,
|
||||||
value: `${s}`,
|
value: `${a}`,
|
||||||
})),
|
})),
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -19,10 +19,10 @@ function S(e, t) {
|
|||||||
function I(e) {
|
function I(e) {
|
||||||
return m(e) && e._type === 'workspace';
|
return m(e) && e._type === 'workspace';
|
||||||
}
|
}
|
||||||
function g(e) {
|
function y(e) {
|
||||||
return m(e) && e._type === 'request_group';
|
return m(e) && e._type === 'request_group';
|
||||||
}
|
}
|
||||||
function y(e) {
|
function g(e) {
|
||||||
return m(e) && e._type === 'request';
|
return m(e) && e._type === 'request';
|
||||||
}
|
}
|
||||||
function f(e) {
|
function f(e) {
|
||||||
@@ -31,41 +31,41 @@ function f(e) {
|
|||||||
function m(e) {
|
function m(e) {
|
||||||
return Object.prototype.toString.call(e) === '[object Object]';
|
return Object.prototype.toString.call(e) === '[object Object]';
|
||||||
}
|
}
|
||||||
function O(e) {
|
function w(e) {
|
||||||
return Object.prototype.toString.call(e) === '[object String]';
|
return Object.prototype.toString.call(e) === '[object String]';
|
||||||
}
|
}
|
||||||
function _(e) {
|
function O(e) {
|
||||||
return Object.entries(e).map(([t, n]) => ({
|
return Object.entries(e).map(([t, n]) => ({
|
||||||
enabled: !0,
|
enabled: !0,
|
||||||
name: t,
|
name: t,
|
||||||
value: `${n}`,
|
value: `${n}`,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
function d(e) {
|
function l(e) {
|
||||||
return O(e) ? e.replaceAll(/{{\s*(_\.)?([^}]+)\s*}}/g, '${[$2]}') : e;
|
return w(e) ? e.replaceAll(/{{\s*(_\.)?([^}]+)\s*}}/g, '${[$2]}') : e;
|
||||||
}
|
}
|
||||||
function h(e, t, n = 0) {
|
function h(e, t, n = 0) {
|
||||||
var u, r;
|
var c, o;
|
||||||
console.log('IMPORTING REQUEST', e._id, e.name, JSON.stringify(e, null, 2));
|
console.log('IMPORTING REQUEST', e._id, e.name, JSON.stringify(e, null, 2));
|
||||||
let s = null,
|
|
||||||
o = null;
|
|
||||||
((u = e.body) == null ? void 0 : u.mimeType) === 'application/graphql'
|
|
||||||
? ((s = 'graphql'), (o = d(e.body.text)))
|
|
||||||
: ((r = e.body) == null ? void 0 : r.mimeType) === 'application/json' &&
|
|
||||||
((s = 'application/json'), (o = d(e.body.text)));
|
|
||||||
let a = null,
|
let a = null,
|
||||||
l = {};
|
r = null;
|
||||||
|
((c = e.body) == null ? void 0 : c.mimeType) === 'application/graphql'
|
||||||
|
? ((a = 'graphql'), (r = l(e.body.text)))
|
||||||
|
: ((o = e.body) == null ? void 0 : o.mimeType) === 'application/json' &&
|
||||||
|
((a = 'application/json'), (r = l(e.body.text)));
|
||||||
|
let i = null,
|
||||||
|
u = {};
|
||||||
return (
|
return (
|
||||||
e.authentication.type === 'bearer'
|
e.authentication.type === 'bearer'
|
||||||
? ((a = 'bearer'),
|
? ((i = 'bearer'),
|
||||||
(l = {
|
(u = {
|
||||||
token: d(e.authentication.token),
|
token: l(e.authentication.token),
|
||||||
}))
|
}))
|
||||||
: e.authentication.type === 'basic' &&
|
: e.authentication.type === 'basic' &&
|
||||||
((a = 'basic'),
|
((i = 'basic'),
|
||||||
(l = {
|
(u = {
|
||||||
username: d(e.authentication.username),
|
username: l(e.authentication.username),
|
||||||
password: d(e.authentication.password),
|
password: l(e.authentication.password),
|
||||||
})),
|
})),
|
||||||
{
|
{
|
||||||
id: e._id,
|
id: e._id,
|
||||||
@@ -76,36 +76,23 @@ function h(e, t, n = 0) {
|
|||||||
model: 'http_request',
|
model: 'http_request',
|
||||||
sortPriority: n,
|
sortPriority: n,
|
||||||
name: e.name,
|
name: e.name,
|
||||||
url: d(e.url),
|
url: l(e.url),
|
||||||
body: o,
|
body: r,
|
||||||
bodyType: s,
|
bodyType: a,
|
||||||
authentication: l,
|
authentication: u,
|
||||||
authenticationType: a,
|
authenticationType: i,
|
||||||
method: e.method,
|
method: e.method,
|
||||||
headers: (e.headers ?? [])
|
headers: (e.headers ?? [])
|
||||||
.map(({ name: c, value: p, disabled: i }) => ({
|
.map(({ name: d, value: p, disabled: s }) => ({
|
||||||
enabled: !i,
|
enabled: !s,
|
||||||
name: c,
|
name: d,
|
||||||
value: p,
|
value: p,
|
||||||
}))
|
}))
|
||||||
.filter(({ name: c, value: p }) => c !== '' || p !== ''),
|
.filter(({ name: d, value: p }) => d !== '' || p !== ''),
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
function w(e, t) {
|
function _(e, t) {
|
||||||
return (
|
|
||||||
console.log('IMPORTING Workspace', e._id, e.name, JSON.stringify(e, null, 2)),
|
|
||||||
{
|
|
||||||
id: e._id,
|
|
||||||
createdAt: new Date(e.created ?? Date.now()).toISOString().replace('Z', ''),
|
|
||||||
updatedAt: new Date(e.updated ?? Date.now()).toISOString().replace('Z', ''),
|
|
||||||
model: 'workspace',
|
|
||||||
name: e.name,
|
|
||||||
variables: t,
|
|
||||||
}
|
|
||||||
);
|
|
||||||
}
|
|
||||||
function D(e, t) {
|
|
||||||
return (
|
return (
|
||||||
console.log('IMPORTING FOLDER', e._id, e.name, JSON.stringify(e, null, 2)),
|
console.log('IMPORTING FOLDER', e._id, e.name, JSON.stringify(e, null, 2)),
|
||||||
{
|
{
|
||||||
@@ -120,32 +107,40 @@ function D(e, t) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
function b(e) {
|
function b(e) {
|
||||||
|
console.log('RUNNING INSOMNIA');
|
||||||
let t;
|
let t;
|
||||||
try {
|
try {
|
||||||
t = JSON.parse(e);
|
t = JSON.parse(e);
|
||||||
} catch {
|
} catch {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!m(t)) return;
|
if (!m(t) || !Array.isArray(t.resources)) return;
|
||||||
const n = {
|
const n = {
|
||||||
workspaces: [],
|
workspaces: [],
|
||||||
requests: [],
|
requests: [],
|
||||||
environments: [],
|
environments: [],
|
||||||
folders: [],
|
folders: [],
|
||||||
},
|
},
|
||||||
s = t.resources.filter(I);
|
a = t.resources.filter(I);
|
||||||
for (const o of s) {
|
for (const r of a) {
|
||||||
const a = t.resources.find((r) => f(r) && r.parentId === o._id);
|
const i = t.resources.find((o) => f(o) && o.parentId === r._id);
|
||||||
n.workspaces.push(w(o, a ? _(a.data) : []));
|
n.workspaces.push({
|
||||||
const l = t.resources.filter((r) => f(r) && r.parentId === (a == null ? void 0 : a._id));
|
id: r._id,
|
||||||
n.environments.push(...l.map((r) => S(r, o._id)));
|
createdAt: new Date(a.created ?? Date.now()).toISOString().replace('Z', ''),
|
||||||
const u = (r) => {
|
updatedAt: new Date(a.updated ?? Date.now()).toISOString().replace('Z', ''),
|
||||||
const c = t.resources.filter((i) => i.parentId === r);
|
model: 'workspace',
|
||||||
|
name: r.name,
|
||||||
|
variables: i ? O(i.data) : [],
|
||||||
|
});
|
||||||
|
const u = t.resources.filter((o) => f(o) && o.parentId === (i == null ? void 0 : i._id));
|
||||||
|
n.environments.push(...u.map((o) => S(o, r._id)));
|
||||||
|
const c = (o) => {
|
||||||
|
const d = t.resources.filter((s) => s.parentId === o);
|
||||||
let p = 0;
|
let p = 0;
|
||||||
for (const i of c)
|
for (const s of d)
|
||||||
g(i) ? (n.folders.push(D(i, o._id)), u(i._id)) : y(i) && n.requests.push(h(i, o._id, p++));
|
y(s) ? (n.folders.push(_(s, r._id)), c(s._id)) : g(s) && n.requests.push(h(s, r._id, p++));
|
||||||
};
|
};
|
||||||
u(o._id);
|
c(r._id);
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
(n.requests = n.requests.filter(Boolean)),
|
(n.requests = n.requests.filter(Boolean)),
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
/**
|
|
||||||
* Import an Insomnia workspace object.
|
|
||||||
* @param {Object} w - The workspace object to import.
|
|
||||||
*/
|
|
||||||
export function importWorkspace(w, variables) {
|
|
||||||
console.log('IMPORTING Workspace', w._id, w.name, JSON.stringify(w, null, 2));
|
|
||||||
return {
|
|
||||||
id: w._id,
|
|
||||||
createdAt: new Date(w.created ?? Date.now()).toISOString().replace('Z', ''),
|
|
||||||
updatedAt: new Date(w.updated ?? Date.now()).toISOString().replace('Z', ''),
|
|
||||||
model: 'workspace',
|
|
||||||
name: w.name,
|
|
||||||
variables,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
import { importEnvironment } from './importers/environment.js';
|
import { importEnvironment } from './importers/environment.js';
|
||||||
import { importRequest } from './importers/request.js';
|
import { importRequest } from './importers/request.js';
|
||||||
import { importWorkspace } from './importers/workspace.js';
|
|
||||||
import {
|
import {
|
||||||
isEnvironment,
|
isEnvironment,
|
||||||
isJSObject,
|
isJSObject,
|
||||||
@@ -12,16 +11,16 @@ import { parseVariables } from './helpers/variables.js';
|
|||||||
import { importFolder } from './importers/folder.js';
|
import { importFolder } from './importers/folder.js';
|
||||||
|
|
||||||
export function pluginHookImport(contents) {
|
export function pluginHookImport(contents) {
|
||||||
|
console.log('RUNNING INSOMNIA');
|
||||||
let parsed;
|
let parsed;
|
||||||
try {
|
try {
|
||||||
parsed = JSON.parse(contents);
|
parsed = JSON.parse(contents);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return undefined;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isJSObject(parsed)) {
|
if (!isJSObject(parsed)) return;
|
||||||
return undefined;
|
if (!Array.isArray(parsed.resources)) return;
|
||||||
}
|
|
||||||
|
|
||||||
const resources = {
|
const resources = {
|
||||||
workspaces: [],
|
workspaces: [],
|
||||||
@@ -36,12 +35,14 @@ export function pluginHookImport(contents) {
|
|||||||
const baseEnvironment = parsed.resources.find(
|
const baseEnvironment = parsed.resources.find(
|
||||||
(r) => isEnvironment(r) && r.parentId === workspaceToImport._id,
|
(r) => isEnvironment(r) && r.parentId === workspaceToImport._id,
|
||||||
);
|
);
|
||||||
resources.workspaces.push(
|
resources.workspaces.push({
|
||||||
importWorkspace(
|
id: workspaceToImport._id,
|
||||||
workspaceToImport,
|
createdAt: new Date(workspacesToImport.created ?? Date.now()).toISOString().replace('Z', ''),
|
||||||
baseEnvironment ? parseVariables(baseEnvironment.data) : [],
|
updatedAt: new Date(workspacesToImport.updated ?? Date.now()).toISOString().replace('Z', ''),
|
||||||
),
|
model: 'workspace',
|
||||||
);
|
name: workspaceToImport.name,
|
||||||
|
variables: baseEnvironment ? parseVariables(baseEnvironment.data) : [],
|
||||||
|
});
|
||||||
const environmentsToImport = parsed.resources.filter(
|
const environmentsToImport = parsed.resources.filter(
|
||||||
(r) => isEnvironment(r) && r.parentId === baseEnvironment?._id,
|
(r) => isEnvironment(r) && r.parentId === baseEnvironment?._id,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
const m = 'https://schema.getpostman.com/json/collection/v2.1.0/collection.json';
|
const y = 'https://schema.getpostman.com/json/collection/v2.1.0/collection.json',
|
||||||
function b(e) {
|
f = 'https://schema.getpostman.com/json/collection/v2.0.0/collection.json',
|
||||||
const r = p(e);
|
b = [f, y];
|
||||||
if (r == null) return;
|
function T(e) {
|
||||||
const i = s(r.info);
|
const t = h(e);
|
||||||
if (i.schema !== m || !Array.isArray(r.item)) return;
|
if (t == null) return;
|
||||||
const n = {
|
const i = s(t.info);
|
||||||
|
if (!b.includes(i.schema) || !Array.isArray(t.item)) return;
|
||||||
|
const r = {
|
||||||
workspaces: [],
|
workspaces: [],
|
||||||
environments: [],
|
environments: [],
|
||||||
requests: [],
|
requests: [],
|
||||||
@@ -16,48 +18,66 @@ function b(e) {
|
|||||||
name: i.name || 'Postman Import',
|
name: i.name || 'Postman Import',
|
||||||
description: i.description || '',
|
description: i.description || '',
|
||||||
};
|
};
|
||||||
n.workspaces.push(c);
|
r.workspaces.push(c);
|
||||||
const u = (o, l = null) => {
|
const d = (o, l = null) => {
|
||||||
if (typeof o.name == 'string' && Array.isArray(o.item)) {
|
if (typeof o.name == 'string' && Array.isArray(o.item)) {
|
||||||
const t = {
|
const n = {
|
||||||
model: 'folder',
|
model: 'folder',
|
||||||
workspaceId: c.id,
|
workspaceId: c.id,
|
||||||
id: `fld_${n.folders.length}`,
|
id: `fld_${r.folders.length}`,
|
||||||
name: o.name,
|
name: o.name,
|
||||||
folderId: l,
|
folderId: l,
|
||||||
};
|
};
|
||||||
n.folders.push(t);
|
r.folders.push(n);
|
||||||
for (const a of o.item) u(a, t.id);
|
for (const a of o.item) d(a, n.id);
|
||||||
} else if (typeof o.name == 'string' && 'request' in o) {
|
} else if (typeof o.name == 'string' && 'request' in o) {
|
||||||
const t = s(o.request),
|
const n = s(o.request),
|
||||||
a = f(t.body),
|
a = q(n.body),
|
||||||
d = {
|
u = g(n.auth),
|
||||||
|
m = {
|
||||||
model: 'http_request',
|
model: 'http_request',
|
||||||
id: `req_${n.requests.length}`,
|
id: `req_${r.requests.length}`,
|
||||||
workspaceId: c.id,
|
workspaceId: c.id,
|
||||||
folderId: l,
|
folderId: l,
|
||||||
name: o.name,
|
name: o.name,
|
||||||
method: t.method || 'GET',
|
method: n.method || 'GET',
|
||||||
url: s(t.url).raw,
|
url: typeof n.url == 'string' ? n.url : s(n.url).raw,
|
||||||
headers: [...a.headers, ...h(t.header).map(y)],
|
|
||||||
body: a.body,
|
body: a.body,
|
||||||
bodyType: a.bodyType,
|
bodyType: a.bodyType,
|
||||||
// TODO: support auth
|
authentication: u.authentication,
|
||||||
// ...importAuth(r.auth),
|
authenticationType: u.authenticationType,
|
||||||
|
headers: [
|
||||||
|
...a.headers,
|
||||||
|
...u.headers,
|
||||||
|
...A(n.header).map((p) => ({
|
||||||
|
name: p.key,
|
||||||
|
value: p.value,
|
||||||
|
enabled: !p.disabled,
|
||||||
|
})),
|
||||||
|
],
|
||||||
};
|
};
|
||||||
n.requests.push(d);
|
r.requests.push(m);
|
||||||
} else console.log('Unknown item', o, l);
|
} else console.log('Unknown item', o, l);
|
||||||
};
|
};
|
||||||
for (const o of r.item) u(o);
|
for (const o of t.item) d(o);
|
||||||
return { resources: n };
|
return { resources: r };
|
||||||
}
|
}
|
||||||
function y(e) {
|
function g(e) {
|
||||||
const r = s(e);
|
const t = s(e);
|
||||||
return { name: r.key, value: r.value, enabled: !0 };
|
return 'basic' in t
|
||||||
|
? {
|
||||||
|
headers: [],
|
||||||
|
authenticationType: 'basic',
|
||||||
|
authentication: {
|
||||||
|
username: t.basic.username || '',
|
||||||
|
password: t.basic.password || '',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
: { headers: [], authenticationType: null, authentication: {} };
|
||||||
}
|
}
|
||||||
function f(e) {
|
function q(e) {
|
||||||
const r = s(e);
|
const t = s(e);
|
||||||
return 'graphql' in r
|
return 'graphql' in t
|
||||||
? {
|
? {
|
||||||
headers: [
|
headers: [
|
||||||
{
|
{
|
||||||
@@ -68,14 +88,14 @@ function f(e) {
|
|||||||
],
|
],
|
||||||
bodyType: 'graphql',
|
bodyType: 'graphql',
|
||||||
body: JSON.stringify(
|
body: JSON.stringify(
|
||||||
{ query: r.graphql.query, variables: p(r.graphql.variables) },
|
{ query: t.graphql.query, variables: h(t.graphql.variables) },
|
||||||
null,
|
null,
|
||||||
2,
|
2,
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
: { bodyType: null, body: null };
|
: { headers: [], bodyType: null, body: null };
|
||||||
}
|
}
|
||||||
function p(e) {
|
function h(e) {
|
||||||
try {
|
try {
|
||||||
return s(JSON.parse(e));
|
return s(JSON.parse(e));
|
||||||
} catch {}
|
} catch {}
|
||||||
@@ -84,7 +104,7 @@ function p(e) {
|
|||||||
function s(e) {
|
function s(e) {
|
||||||
return Object.prototype.toString.call(e) === '[object Object]' ? e : {};
|
return Object.prototype.toString.call(e) === '[object Object]' ? e : {};
|
||||||
}
|
}
|
||||||
function h(e) {
|
function A(e) {
|
||||||
return Object.prototype.toString.call(e) === '[object Array]' ? e : [];
|
return Object.prototype.toString.call(e) === '[object Array]' ? e : [];
|
||||||
}
|
}
|
||||||
export { b as pluginHookImport };
|
export { T as pluginHookImport };
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
import { Environment, Folder, HttpRequest, Workspace } from '../../../../src-web/lib/models';
|
import { Environment, Folder, HttpRequest, Workspace } from '../../../../src-web/lib/models';
|
||||||
|
|
||||||
const POSTMAN_2_1_0_SCHEMA = 'https://schema.getpostman.com/json/collection/v2.1.0/collection.json';
|
const POSTMAN_2_1_0_SCHEMA = 'https://schema.getpostman.com/json/collection/v2.1.0/collection.json';
|
||||||
|
const POSTMAN_2_0_0_SCHEMA = 'https://schema.getpostman.com/json/collection/v2.0.0/collection.json';
|
||||||
|
const VALID_SCHEMAS = [POSTMAN_2_0_0_SCHEMA, POSTMAN_2_1_0_SCHEMA];
|
||||||
|
|
||||||
type AtLeast<T, K extends keyof T> = Partial<T> & Pick<T, K>;
|
type AtLeast<T, K extends keyof T> = Partial<T> & Pick<T, K>;
|
||||||
|
|
||||||
@@ -16,7 +18,8 @@ export function pluginHookImport(contents: string): { resources: ExportResources
|
|||||||
if (root == null) return;
|
if (root == null) return;
|
||||||
|
|
||||||
const info = toRecord(root.info);
|
const info = toRecord(root.info);
|
||||||
if (info.schema !== POSTMAN_2_1_0_SCHEMA || !Array.isArray(root.item)) {
|
const isValidSchema = VALID_SCHEMAS.includes(info.schema);
|
||||||
|
if (!isValidSchema || !Array.isArray(root.item)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,6 +54,7 @@ export function pluginHookImport(contents: string): { resources: ExportResources
|
|||||||
} else if (typeof v.name === 'string' && 'request' in v) {
|
} else if (typeof v.name === 'string' && 'request' in v) {
|
||||||
const r = toRecord(v.request);
|
const r = toRecord(v.request);
|
||||||
const bodyPatch = importBody(r.body);
|
const bodyPatch = importBody(r.body);
|
||||||
|
const authPatch = importAuth(r.auth);
|
||||||
const request: ExportResources['requests'][0] = {
|
const request: ExportResources['requests'][0] = {
|
||||||
model: 'http_request',
|
model: 'http_request',
|
||||||
id: `req_${exportResources.requests.length}`,
|
id: `req_${exportResources.requests.length}`,
|
||||||
@@ -58,13 +62,22 @@ export function pluginHookImport(contents: string): { resources: ExportResources
|
|||||||
folderId,
|
folderId,
|
||||||
name: v.name,
|
name: v.name,
|
||||||
method: r.method || 'GET',
|
method: r.method || 'GET',
|
||||||
url: toRecord(r.url).raw,
|
url: typeof r.url === 'string' ? r.url : toRecord(r.url).raw,
|
||||||
headers: [...bodyPatch.headers, ...toArray(r.header).map(importHeader)],
|
|
||||||
body: bodyPatch.body,
|
body: bodyPatch.body,
|
||||||
bodyType: bodyPatch.bodyType,
|
bodyType: bodyPatch.bodyType,
|
||||||
|
authentication: authPatch.authentication,
|
||||||
// TODO: support auth
|
authenticationType: authPatch.authenticationType,
|
||||||
// ...importAuth(r.auth),
|
headers: [
|
||||||
|
...bodyPatch.headers,
|
||||||
|
...authPatch.headers,
|
||||||
|
...toArray(r.header).map((h) => {
|
||||||
|
return {
|
||||||
|
name: h.key,
|
||||||
|
value: h.value,
|
||||||
|
enabled: !h.disabled,
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
],
|
||||||
};
|
};
|
||||||
exportResources.requests.push(request);
|
exportResources.requests.push(request);
|
||||||
} else {
|
} else {
|
||||||
@@ -79,10 +92,23 @@ export function pluginHookImport(contents: string): { resources: ExportResources
|
|||||||
return { resources: exportResources };
|
return { resources: exportResources };
|
||||||
}
|
}
|
||||||
|
|
||||||
function importHeader(h: any): HttpRequest['headers'][0] {
|
function importAuth(
|
||||||
const header = toRecord(h);
|
rawAuth: any,
|
||||||
// TODO: support header
|
): Pick<HttpRequest, 'authentication' | 'authenticationType' | 'headers'> {
|
||||||
return { name: header.key, value: header.value, enabled: true };
|
const auth = toRecord(rawAuth);
|
||||||
|
if ('basic' in auth) {
|
||||||
|
return {
|
||||||
|
headers: [],
|
||||||
|
authenticationType: 'basic',
|
||||||
|
authentication: {
|
||||||
|
username: auth.basic.username || '',
|
||||||
|
password: auth.basic.password || '',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// TODO: support other auth types
|
||||||
|
return { headers: [], authenticationType: null, authentication: {} };
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function importBody(rawBody: any): Pick<HttpRequest, 'body' | 'bodyType' | 'headers'> {
|
function importBody(rawBody: any): Pick<HttpRequest, 'body' | 'bodyType' | 'headers'> {
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import type { CompletionContext } from '@codemirror/autocomplete';
|
import type { CompletionContext } from '@codemirror/autocomplete';
|
||||||
import { w } from '@tauri-apps/api/clipboard-79413165';
|
|
||||||
|
|
||||||
const openTag = '${[ ';
|
const openTag = '${[ ';
|
||||||
const closeTag = ' ]}';
|
const closeTag = ' ]}';
|
||||||
@@ -12,8 +11,8 @@ export interface TwigCompletionConfig {
|
|||||||
options: TwigCompletionOption[];
|
options: TwigCompletionOption[];
|
||||||
}
|
}
|
||||||
|
|
||||||
const MIN_MATCH_VAR = 2;
|
const MIN_MATCH_VAR = 1;
|
||||||
const MIN_MATCH_NAME = 1;
|
const MIN_MATCH_NAME = 2;
|
||||||
|
|
||||||
export function twigCompletion({ options }: TwigCompletionConfig) {
|
export function twigCompletion({ options }: TwigCompletionConfig) {
|
||||||
return function completions(context: CompletionContext) {
|
return function completions(context: CompletionContext) {
|
||||||
|
|||||||
Reference in New Issue
Block a user