{"_id":"@af_cargo/spot","_rev":"5-7f42cf371fc3a3a6d9c47dac73916e6f","name":"@af_cargo/spot","dist-tags":{"latest":"0.1.2"},"versions":{"0.0.1":{"name":"@af_cargo/spot","version":"0.0.1","bin":{"spot":"./bin/run"},"dependencies":{"@oclif/command":"^1.8.0","@oclif/config":"^1.17.0","@oclif/plugin-help":"^3.2.1","ajv":"^6.12.6","assert-never":"^1.2.1","cors":"^2.8.5","express":"^4.17.1","fs-extra":"^9.0.1","inquirer":"^7.3.3","js-yaml":"^3.14.1","qs":"^6.9.4","randomstring":"^1.1.5","ts-morph":"^8.2.0","typescript":"^4.1.3","validator":"^13.5.2"},"devDependencies":{"@oclif/dev-cli":"^1.26.0","@stoplight/spectral":"^5.7.2","@types/cors":"^2.8.9","@types/express":"^4.17.8","@types/fs-extra":"^9.0.6","@types/inquirer":"^7.3.1","@types/jest":"^26.0.19","@types/js-yaml":"^3.12.5","@types/moxios":"^0.4.8","@types/qs":"^6.9.5","@types/randomstring":"^1.1.6","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@types/supertest":"^2.0.10","@types/validator":"^13.1.2","@typescript-eslint/eslint-plugin":"^4.11.1","@typescript-eslint/parser":"^4.11.0","core-js":"^3.8.1","css-loader":"^4.3.0","eslint":"^7.16.0","eslint-plugin-jest":"^24.1.0","html-webpack-plugin":"^4.5.0","jest":"^26.6.3","jest-junit":"^12.0.0","mini-css-extract-plugin":"^1.3.3","mobx":"^6.0.4","nock":"^13.0.4","prettier":"^2.2.1","react":"^16.14.0","react-dom":"^16.14.0","redoc":"2.0.0-rc.41","styled-components":"^4.4.1","supertest":"^6.0.1","ts-jest":"^26.4.4","ts-loader":"^8.0.12","webpack":"^4.44.2","webpack-cli":"^4.3.0"},"engines":{"node":">=12.0.0"},"main":"build/index.js","types":"build/index.d.ts","license":"MIT","oclif":{"commands":"./build/cli/src/commands","bin":"spot","plugins":["@oclif/plugin-help"]},"scripts":{"build-docs":"webpack --config ./docs/webpack.config.js","build":"tsc","build:watch":"tsc --watch","postpack":"del oclif.manifest.json","prepack":"rd /s /q build & tsc && oclif-dev manifest && yarn build-docs && oclif-dev readme","test":"jest -w 4","ci:test":"jest --config=jest.ci.config.js --ci -w 4","lint:check":"yarn prettier:check && yarn eslint:check","eslint:check":"eslint . --ext .js,.ts,.tsx","prettier:check":"prettier --list-different \"**/*.js\" \"**/*.ts\" \"**/*.tsx\"","lint:fix":"yarn prettier:fix && yarn eslint:fix","eslint:fix":"eslint . --fix --ext .js,.ts,.tsx","prettier:fix":"prettier --write \"**/*.js\" \"**/*.ts\" \"**/*.tsx\""},"gitHead":"89c15c9aabef4b3f36c5fe54b4dbf63ba127cb6d","description":"**Spot** (_\"Single Point Of Truth\"_) is a concise, developer-friendly way to describe your API contract.","_id":"@af_cargo/spot@0.0.1","_nodeVersion":"12.12.0","_npmVersion":"6.11.3","dist":{"integrity":"sha512-3DCbf76u4SqWIaEI+JJSX9na5NXRjnIje8i8rUF7WgZ3YSQv/2TGOTL2rT3fY/pU5GB9wsHFirA791df8mUkgQ==","shasum":"7aae299cf6bcbd542824253f33492b4ef5e67d32","tarball":"https://registry.npmjs.org/@af_cargo/spot/-/spot-0.0.1.tgz","fileCount":199,"unpackedSize":1725599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWgdaCRA9TVsSAnZWagAAn4kP/ir1qM4arvk/8HpYozgl\nqUgu0Z0/jSjsBHLstMNsSMROBJLNlU9DOAFmIrWpZ2mRW/U6tpwdpS9EIgS3\nMqoZAfEDKkCbedkA+6oFKAxk14/iBmesw380wnFaM9aDgI+Rt9Db1upTZxb8\n34yvln11kD0xKVtCY1U9J1Zy4LYZb1Lqxe2qkdi67Fp/ibuEKDavk8oIRczF\nYT25ghHIYLHDWdS5CNZTOYSfWPVH5dTKug87kprd7PHmLK1Fkb8Sf8qmsih+\nKM/XOnQRj451lcqK65HcM16186pu899tQR4kl387oBxDpe0Zp8Ae7V/Kna8H\n4l6BgvQRhqCvanWsoyIniemj42WaFVNKZusKiG44GEml24LE04NAJs3KQTEm\n83o+BTH3GGY1kZ34wCcAaK1d1WO9FhsR5RCS1wfHp6tTDwTn4SbI7bvUasRb\nTeXFtb8wZRhe2WvZ2TpLCEUBMCHDN2MqmovaLaQvA8jsROTXGbuU/2sMUuTt\nedzzGIW9PTvqGS49efyFerAEFGMjHn6Ig4xmvHjtchkttP8KdvhtuDfAikjG\nQFIBntBOOqFzrubWwrdxE+n0OdBHD8Ulp/jhPVxmcqONpmNf471xmvoR2crG\nynjDF97lxw28QTEAxCLDuxrk9OknpBN3tcX6JsH3FA/ooNWEE50wzct78Xi8\nXOnE\r\n=YVnp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBoqdDh36V/z63r8nBqGwYp7d2qedfwQhik3D6OSbBEqAiAXsNdgdXVIiRViAhDb0BSd+x5dLQIi5K40FCcIxC1KfA=="}]},"_npmUser":{"name":"af_selim","email":"sehamadouche@airfrance.fr"},"directories":{},"maintainers":[{"name":"af_selim","email":"sehamadouche@airfrance.fr"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spot_0.0.1_1616512858132_0.20617833448935996"},"_hasShrinkwrap":false},"0.1.0":{"name":"@af_cargo/spot","version":"0.1.0","bin":{"spot":"./bin/run"},"dependencies":{"@oclif/command":"^1.8.0","@oclif/config":"^1.17.0","@oclif/plugin-help":"^3.2.2","ajv":"^6.12.6","assert-never":"^1.2.1","cors":"^2.8.5","express":"^4.17.1","fs-extra":"^9.1.0","inquirer":"^7.3.3","js-yaml":"^4.0.0","qs":"^6.9.6","randomstring":"^1.1.5","ts-morph":"^8.2.0","typescript":"^4.1.5","validator":"^13.5.2"},"devDependencies":{"@oclif/dev-cli":"^1.26.0","@stoplight/spectral":"^5.8.1","@types/cors":"^2.8.10","@types/express":"^4.17.11","@types/fs-extra":"^9.0.7","@types/inquirer":"^7.3.1","@types/jest":"^26.0.20","@types/js-yaml":"^4.0.0","@types/moxios":"^0.4.10","@types/qs":"^6.9.5","@types/randomstring":"^1.1.6","@types/react":"^17.0.2","@types/react-dom":"^17.0.1","@types/supertest":"^2.0.10","@types/validator":"^13.1.3","@typescript-eslint/eslint-plugin":"^4.15.1","@typescript-eslint/parser":"^4.15.1","core-js":"^3.9.0","css-loader":"^4.3.0","eslint":"^7.20.0","eslint-plugin-jest":"^24.1.5","html-webpack-plugin":"^4.5.2","jest":"^26.6.3","jest-junit":"^12.0.0","mini-css-extract-plugin":"^1.3.8","mobx":"^6.0.4","nock":"^13.0.7","prettier":"^2.2.1","react":"^16.14.0","react-dom":"^16.14.0","redoc":"^2.0.0-rc.48","styled-components":"^4.4.1","supertest":"^6.1.3","ts-jest":"^26.5.1","ts-loader":"^8.0.17","webpack":"^4.44.2","webpack-cli":"^4.5.0"},"engines":{"node":">=12.0.0"},"main":"build/index.js","types":"build/index.d.ts","license":"MIT","oclif":{"commands":"./build/cli/src/commands","bin":"spot","plugins":["@oclif/plugin-help"]},"scripts":{"build-docs":"webpack --config ./docs/webpack.config.js","build":"tsc","build:watch":"tsc --watch","postpack":"del oclif.manifest.json","prepack":"rd /s /q build & tsc && oclif-dev manifest && yarn build-docs && oclif-dev readme","test":"jest -w 4","ci:test":"jest --config=jest.ci.config.js --ci -w 4","lint:check":"yarn prettier:check && yarn eslint:check","eslint:check":"eslint . --ext .js,.ts,.tsx","prettier:check":"prettier --list-different \"**/*.js\" \"**/*.ts\" \"**/*.tsx\"","lint:fix":"yarn prettier:fix && yarn eslint:fix","eslint:fix":"eslint . --fix --ext .js,.ts,.tsx","prettier:fix":"prettier --write \"**/*.js\" \"**/*.ts\" \"**/*.tsx\""},"gitHead":"d87e82b6964f02df6ca24d48f252d23acacd258a","description":"**Spot** (_\"Single Point Of Truth\"_) is a concise, developer-friendly way to describe your API contract.","_id":"@af_cargo/spot@0.1.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-dkQq50C5XKSMRnEsF+Z2vZnWboeBCJVa//NhN+BPFMgeQCkHHzbd1Yyt8IhWM5BqLhstp/zARF3AqBFYHZovKg==","shasum":"d3fd9cb67b8feaed6a0f614f7fc63551a89af5ca","tarball":"https://registry.npmjs.org/@af_cargo/spot/-/spot-0.1.0.tgz","fileCount":203,"unpackedSize":1760187,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWgvGCRA9TVsSAnZWagAA8hkP/0Bs0stpXD2k4q+Slpvz\nbzUZv25doHKLScFLR7y+osNq4hEs+uI6iKZcfG+vYDHtFu5lDODqmj4ZZY68\n4Ac4HMAszqkRk/PFH1/ukQZugoaAdt6hJ50Wnj2LHJLSxCgKPC/6pi1Nnljq\nww99AKOymJ1VgGeHBKNXMsC9X1dBVGJOJelvbNjq5ih8oxIAnh7lCUKv54j+\nfBg57RNLjFwEN3wDf29ZJnXW5h64mJp6C2C8q5WOVXdtRrz6jfPjv91FaWzc\nc/38P4CXnBrwW2xwRe4xyFXx9GS6WINApZ7WeEgWYR/21tKfiReX4p33cTbO\nDRUY8w4F2YcGx01ylt+8B10WD9xgHYAtQBZ9lTW34ieF5v9wdwfSiltfaZLx\np0zw1TYgAaH1fmtgvHyaQqRphFH13qC4jXlv16A9tAJ/MR5XqKJFNLaIpics\noGKzrddLWUJ3zAqqvoWyK4s9pclmjaCErKO6g7quQnxmGIMl+MWlsQmgLWYH\n+kfPF4/CuberaQwAS+IWt/dfb5BmBCpTOMlsSmDFx9E6xrPH1Kyh83cA8cjM\nxdPCvyohb0Jw0AHIK2VRuHTr3eiwb+QMUPchuucGRfvqaPaVMlCxu67JRIJp\nVCIic3p7neNLI/3F7/I5ipUN+G9K4dCdPD7kMw5PMjSCQBRRe1vUWKdUtJBQ\nkLgm\r\n=Cnj2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvLP0b7VoJrL3htp6OfAZK+RBPZySuNuoIMgNDv8hEKwIgL5/SHWBptKoHM6qgaeLxqp1DNqhMDpo3RDz6zyjvr0M="}]},"_npmUser":{"name":"odahmaz","email":"oudahmaz-ext@airfrance.fr"},"directories":{},"maintainers":[{"name":"odahmaz","email":"oudahmaz-ext@airfrance.fr"},{"name":"af_selim","email":"sehamadouche@airfrance.fr"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spot_0.1.0_1616513990232_0.4105114969978958"},"_hasShrinkwrap":false},"0.1.1":{"name":"@af_cargo/spot","version":"0.1.1","bin":{"spot":"./bin/run"},"dependencies":{"@oclif/command":"^1.8.0","@oclif/config":"^1.17.0","@oclif/plugin-help":"^3.2.2","ajv":"^6.12.6","assert-never":"^1.2.1","cors":"^2.8.5","express":"^4.17.1","fs-extra":"^9.1.0","inquirer":"^7.3.3","js-yaml":"^4.0.0","qs":"^6.9.6","randomstring":"^1.1.5","ts-morph":"^8.2.0","typescript":"^4.1.5","validator":"^13.5.2"},"devDependencies":{"@oclif/dev-cli":"^1.26.0","@stoplight/spectral":"^5.8.1","@types/cors":"^2.8.10","@types/express":"^4.17.11","@types/fs-extra":"^9.0.7","@types/inquirer":"^7.3.1","@types/jest":"^26.0.20","@types/js-yaml":"^4.0.0","@types/moxios":"^0.4.10","@types/qs":"^6.9.5","@types/randomstring":"^1.1.6","@types/react":"^17.0.2","@types/react-dom":"^17.0.1","@types/supertest":"^2.0.10","@types/validator":"^13.1.3","@typescript-eslint/eslint-plugin":"^4.15.1","@typescript-eslint/parser":"^4.15.1","core-js":"^3.9.0","css-loader":"^4.3.0","eslint":"^7.20.0","eslint-plugin-jest":"^24.1.5","html-webpack-plugin":"^4.5.2","jest":"^26.6.3","jest-junit":"^12.0.0","mini-css-extract-plugin":"^1.3.8","mobx":"^6.0.4","nock":"^13.0.7","prettier":"^2.2.1","react":"^16.14.0","react-dom":"^16.14.0","redoc":"^2.0.0-rc.48","styled-components":"^4.4.1","supertest":"^6.1.3","ts-jest":"^26.5.1","ts-loader":"^8.0.17","webpack":"^4.44.2","webpack-cli":"^4.5.0"},"engines":{"node":">=12.0.0"},"main":"build/index.js","types":"build/index.d.ts","license":"MIT","oclif":{"commands":"./build/cli/src/commands","bin":"spot","plugins":["@oclif/plugin-help"]},"scripts":{"build-docs":"webpack --config ./docs/webpack.config.js","build":"tsc","build:watch":"tsc --watch","postpack":"del oclif.manifest.json","prepack":"rd /s /q build & tsc && oclif-dev manifest && yarn build-docs && oclif-dev readme","test":"jest -w 4","ci:test":"jest --config=jest.ci.config.js --ci -w 4","lint:check":"yarn prettier:check && yarn eslint:check","eslint:check":"eslint . --ext .js,.ts,.tsx","prettier:check":"prettier --list-different \"**/*.js\" \"**/*.ts\" \"**/*.tsx\"","lint:fix":"yarn prettier:fix && yarn eslint:fix","eslint:fix":"eslint . --fix --ext .js,.ts,.tsx","prettier:fix":"prettier --write \"**/*.js\" \"**/*.ts\" \"**/*.tsx\""},"gitHead":"d87e82b6964f02df6ca24d48f252d23acacd258a","description":"**Spot** (_\"Single Point Of Truth\"_) is a concise, developer-friendly way to describe your API contract.","_id":"@af_cargo/spot@0.1.1","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-QzAh9GjlT/4Cbcpc5FUZgdJrQf3OCU23o6fOk0p9UsuDQyVZ5MMIgOnj/pruWv8OIuW6CNKNaAbsdc8MDu1dng==","shasum":"7e66098ced7a5a1af580df305d788d01f67070b1","tarball":"https://registry.npmjs.org/@af_cargo/spot/-/spot-0.1.1.tgz","fileCount":203,"unpackedSize":1760273,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWuy2CRA9TVsSAnZWagAAsAAP/ApmzMDxsiNvCEXLVrXb\nYkDp+jVoJp3a8GcRWFcnFMRt1s7Mj1bpvcO4+A8s4epA02Q65wZ39U+JCZoi\nm9kosuUEjH2gsWgVQK4rUj9lLW15b0rZ82oywW6n4zJAH6Z+Jb8/Xw8ojoDu\nth2zX41ko3PGFvavW4T7ulcqCNs0t1LWaojmSNyzTdfUPY3tT5BzFp6AFNI9\naNnsEwRSNyU2iKUhzbx/esdrwNYV5vKf+4RKg6/D8vluyiZqSjXxiMAC09Op\nHFCORO1PLdJqA0oHvsZNKhZAo6x/NklTO0LdFZ6efyiKBGWRfPLC+FnJjYPw\ncc42RC0SXi9cFXotexI4Y+pKTzZ6ImU+mcOwfRs79VUqb+3t5siUWQFy0Nv0\n8DmPtzq8gylID3aeWJDCSGZrVI251Smkq+JYQyh5ggAQQeiRnY/Se5A1ugDv\npJD6G8f1bmZah6hbcDBhgvpY6Hln4iuTeoC3k20KSUsYAtHo1T+4FO41FUTX\nDQFh7eJop06lxSzvEHEmsC3EkKQDTMeyUqQnwsGXWMmdZqKpCwyfrZO+Lrj4\nOgd6yza1LM1j10sFPumR4nYNyGBb5w7aTMGtUtbV5EBqVJ8iGo+4gMO2HPNd\nbUpWMd5UtSHOTgldLsoA09HL/Th81VadbRhoxN22HslEnLZzVHa5MUjOBO/k\n1Dn4\r\n=uTLN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFfQa/+Y5eowCot7WVffAS6GWjOTuzHgCRBnMDnvGm2IAiBBlXPNbev2g7Yk2rDPGmBc9l7Z/i5IDBh0aoO56LWyZQ=="}]},"_npmUser":{"name":"odahmaz","email":"oudahmaz-ext@airfrance.fr"},"directories":{},"maintainers":[{"name":"odahmaz","email":"oudahmaz-ext@airfrance.fr"},{"name":"af_selim","email":"sehamadouche@airfrance.fr"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spot_0.1.1_1616571573535_0.10441028620075965"},"_hasShrinkwrap":false},"0.1.2":{"name":"@af_cargo/spot","version":"0.1.2","bin":{"spot":"./bin/run"},"dependencies":{"@oclif/command":"^1.8.0","@oclif/config":"^1.17.0","@oclif/plugin-help":"^3.2.2","ajv":"^6.12.6","assert-never":"^1.2.1","cors":"^2.8.5","express":"^4.17.1","fs-extra":"^9.1.0","inquirer":"^7.3.3","js-yaml":"^4.0.0","qs":"^6.9.6","randomstring":"^1.1.5","ts-morph":"^8.2.0","typescript":"^4.1.5","validator":"^13.5.2"},"devDependencies":{"@oclif/dev-cli":"^1.26.0","@stoplight/spectral":"^5.8.1","@types/cors":"^2.8.10","@types/express":"^4.17.11","@types/fs-extra":"^9.0.7","@types/inquirer":"^7.3.1","@types/jest":"^26.0.20","@types/js-yaml":"^4.0.0","@types/moxios":"^0.4.10","@types/qs":"^6.9.5","@types/randomstring":"^1.1.6","@types/react":"^17.0.2","@types/react-dom":"^17.0.1","@types/supertest":"^2.0.10","@types/validator":"^13.1.3","@typescript-eslint/eslint-plugin":"^4.15.1","@typescript-eslint/parser":"^4.15.1","core-js":"^3.9.0","css-loader":"^4.3.0","eslint":"^7.20.0","eslint-plugin-jest":"^24.1.5","html-webpack-plugin":"^4.5.2","jest":"^26.6.3","jest-junit":"^12.0.0","mini-css-extract-plugin":"^1.3.8","mobx":"^6.0.4","nock":"^13.0.7","prettier":"^2.2.1","react":"^16.14.0","react-dom":"^16.14.0","redoc":"^2.0.0-rc.48","styled-components":"^4.4.1","supertest":"^6.1.3","ts-jest":"^26.5.1","ts-loader":"^8.0.17","webpack":"^4.44.2","webpack-cli":"^4.5.0"},"engines":{"node":">=12.0.0"},"main":"build/index.js","types":"build/index.d.ts","license":"MIT","oclif":{"commands":"./build/cli/src/commands","bin":"spot","plugins":["@oclif/plugin-help"]},"scripts":{"build-docs":"webpack --config ./docs/webpack.config.js","build":"tsc","build:watch":"tsc --watch","postpack":"del oclif.manifest.json","prepack":"rd /s /q build & tsc && oclif-dev manifest && yarn build-docs && oclif-dev readme","test":"jest -w 4","ci:test":"jest --config=jest.ci.config.js --ci -w 4","lint:check":"yarn prettier:check && yarn eslint:check","eslint:check":"eslint . --ext .js,.ts,.tsx","prettier:check":"prettier --list-different \"**/*.js\" \"**/*.ts\" \"**/*.tsx\"","lint:fix":"yarn prettier:fix && yarn eslint:fix","eslint:fix":"eslint . --fix --ext .js,.ts,.tsx","prettier:fix":"prettier --write \"**/*.js\" \"**/*.ts\" \"**/*.tsx\""},"gitHead":"04ac841daa6a4fc7eae19ba5f52734083aa82aac","description":"```\r npm i\r npm i yarn","_id":"@af_cargo/spot@0.1.2","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-4wJMSeNuIbwHhilhzRWEbgOD9Hl8OhTML51Gw4oRN8TEygs6YlfgBhrVmFyfS2bGw3JC0/wp3/Wt0Qhxtchpvg==","shasum":"32718401020d54cc0a3c5ad934af6f030b16e2a9","tarball":"https://registry.npmjs.org/@af_cargo/spot/-/spot-0.1.2.tgz","fileCount":203,"unpackedSize":1727674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdHMaCRA9TVsSAnZWagAAkXEP/1sgyfYSyVhJkcjQ1W4h\nOElCH3zYYpF7vruNdvdWgGk5qwYhhzyJjFEK9KSyYz3OVqWFlZR4sVbq0Xbs\nrbxZRJJkXXkoSxTa67wD1y3RMLIXnfqSyCm/stVZ6I1fX79mMMbvnp2OWJIc\nkkoFUiozZGPpYM0l9WxU4Rc+eGsYrJNBnbOIQR0RNvRAdbWW/d+jgeavV1cw\nPYe7ooO0eLPKLNpVKqO4RiqxIx0+INIRhIAEwmaqmAzphoL95dYRX5sBX1kJ\nrsegBHOQT6kdzhoNsLSbi7Y61p8Du5DMdZG3KbXQe3SYuJ+Me/aqWPYpfade\npUMEJRV0IMRGk6E5A0R1RTiNO2PQMKmC/rln6jrtcDjaVnl+Y2JcsfpzWHgh\nDhN/0nZAozgS5M4fR08kc/0bFUfNQ8kzdGYiN/CPAfd56gM0hcBe+Nh0Pzex\na/a3lN8jNMUwAzpq8MAUXbXTVZPKkS4ZnP0eEllpt2btxcdoMsOUyZAPXFNi\nvw7fYMlA799N1Z7u3h2BILx3lXqLUmh5WFyGI4Ecoyz7SSksPLJwIaIJxST9\nY7HOi0wVrpnYIz9/ZJEMSfYuT7+Ofy5TIHech0vYdGxBvL3iHUs4wAaHOu0Z\nS8hgPudsrWRmOArUVtM7fPrFuovVYmjRuOd0pq1fA4Pl5VFlYS++QLT13eXi\nv3wa\r\n=VfSj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB7xXUVzygX0wLWpW74Pnb7NF5wIpzKasT8RmkgmIVGiAiAAoWwDlww6nN61hn7pcaA968Ts1TTTcpBxH+1XB3k2XA=="}]},"_npmUser":{"name":"odahmaz","email":"oudahmaz-ext@airfrance.fr"},"directories":{},"maintainers":[{"name":"odahmaz","email":"oudahmaz-ext@airfrance.fr"},{"name":"af_selim","email":"sehamadouche@airfrance.fr"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/spot_0.1.2_1618244377390_0.8596738398720158"},"_hasShrinkwrap":false}},"time":{"created":"2021-03-23T15:20:57.891Z","0.0.1":"2021-03-23T15:20:58.288Z","modified":"2022-04-04T11:50:07.272Z","0.1.0":"2021-03-23T15:39:50.420Z","0.1.1":"2021-03-24T07:39:33.822Z","0.1.2":"2021-04-12T16:19:37.606Z"},"maintainers":[{"name":"odahmaz","email":"oudahmaz-ext@airfrance.fr"},{"name":"af_selim","email":"sehamadouche@airfrance.fr"}],"description":"```\r npm i\r npm i yarn","license":"MIT","readme":"# installation \r\n\r\n```\r\nnpm i\r\nnpm i yarn\r\n\r\n```\r\n\r\n# Publish a new version\r\n\r\nupgrade the version in the package.json\r\nrun the command :\r\nIf the this is the first time you need to log to your npmjs account \r\n```\r\nnpm login \r\n```\r\n\r\n```\r\nnpm run prepack\r\nnpm publish --access public\r\n```\r\n\r\n# Servers\r\nSpot allows to declare one or multiple server through open api 3 specification.\r\n\r\nOne server declaration could be : \r\n```typescript\r\nimport { api } from \"@af_spot/spot\";\r\nimport { oa3server } from \"../../../syntax/oa3server\";\r\nimport { oa3serverVariables } from \"../../../syntax/oa3serverVariables\";\r\nimport { String } from \"@af_spot/spot\";\r\n\r\n@api({ name: \"contract\" })\r\nclass Contract {\r\n  /**\r\n   * Production server\r\n   */\r\n  @oa3server({ url: \"https://dev.gigantic-server.com:8443/v1\" })\r\n  productionServer() {}\r\n}\r\n```\r\nOr : \r\n```typescript\r\nimport { api } from \"@af_spot/spot\";\r\nimport { oa3server } from \"../../../syntax/oa3server\";\r\nimport { oa3serverVariables } from \"../../../syntax/oa3serverVariables\";\r\nimport { String } from \"@af_spot/spot\";\r\n\r\n@api({ name: \"contract\" })\r\nclass Contract {\r\n  /**\r\n   * Production server\r\n   */\r\n  @oa3server({\r\n    url: \"https://{username}.gigantic-server.com:{port}/{basePath}\"\r\n  })\r\n  productionServer(\r\n    @oa3serverVariables\r\n      variables: {\r\n      /**\r\n       * this value is assigned by the service provider, in this example `gigantic-server.com`\r\n       *\r\n       * @default \"demo\"\r\n       */\r\n      username: String;\r\n      /**\r\n       * @default \"8443\"\r\n       */\r\n      port: \"8443\" | \"443\";\r\n      /**\r\n       * @default \"v2\"\r\n       */\r\n      basePath: String;\r\n    }\r\n  ) {\r\n  }\r\n}\r\n```\r\n\r\nmultiple server declaration could be :\r\n```typescript\r\nimport { api } from \"@af_spot/spot\";\r\nimport { oa3server } from \"../../../syntax/oa3server\";\r\nimport { oa3serverVariables } from \"../../../syntax/oa3serverVariables\";\r\nimport { String } from \"@af_spot/spot\";\r\n\r\n@api({ name: \"contract\" })\r\nclass Contract {\r\n  /**\r\n   * Production server\r\n   */\r\n  @oa3server({\r\n    url: \"https://{username}.gigantic-server.com:{port}/{basePath}\"\r\n  })\r\n  productionServer(\r\n    @oa3serverVariables\r\n    variables: {\r\n      /**\r\n       * this value is assigned by the service provider, in this example `gigantic-server.com`\r\n       *\r\n       * @default \"demo\"\r\n       */\r\n      username: String;\r\n      /**\r\n       * @default \"8443\"\r\n       */\r\n      port: \"8443\" | \"443\";\r\n      /**\r\n       * @default \"v2\"\r\n       */\r\n      basePath: String;\r\n    }\r\n  ) {}\r\n  /**\r\n   * dev server\r\n   */\r\n  @oa3server({\r\n    url: \"https://{username}.gigantic-server.com:{port}/{basePath}\"\r\n  })\r\n  devServer(\r\n    @oa3serverVariables\r\n    variables: {\r\n      /**\r\n       * this value is assigned by the service provider, in this example `gigantic-server.com`\r\n       *\r\n       * @default \"dev\"\r\n       */\r\n      username: String;\r\n      /**\r\n       * @default \"8080\"\r\n       */\r\n      port: \"8080\" | \"8081\";\r\n      /**\r\n       * @default \"v2\"\r\n       */\r\n      basePath: String;\r\n    }\r\n  ) {}\r\n}\r\n\r\n```\r\n# Spot\r\n\r\n**Spot** (_\"Single Point Of Truth\"_) is a concise, developer-friendly way to describe your API contract.\r\n\r\nLeveraging the TypeScript syntax, it lets you describe your API and generate other API contract formats you need (OpenAPI, Swagger, JSON Schema).\r\n\r\nYou don't need to use TypeScript in your codebase to benefit from using Spot.\r\n\r\nExample of an API definition file `api.ts` which defines a single `POST` endpoint to create a user:\r\n\r\n```typescript\r\nimport { api, endpoint, request, response, body } from \"@airtasker/spot\";\r\n\r\n@api({\r\n    name: \"My API\"\r\n})\r\nclass Api {}\r\n\r\n@endpoint({\r\n    method: \"POST\",\r\n    path: \"/users\"\r\n})\r\nclass CreateUser {\r\n    @request\r\n    request(@body body: CreateUserRequest) {}\r\n\r\n    @response({ status: 201 })\r\n    response(@body body: CreateUserResponse) {}\r\n}\r\n\r\ninterface CreateUserRequest {\r\n    firstName: string;\r\n    lastName: string;\r\n}\r\n\r\ninterface CreateUserResponse {\r\n    firstName: string;\r\n    lastName: string;\r\n    role: string;\r\n}\r\n```\r\n\r\n## Getting Started\r\n\r\nGet started with writing Spot contracts - [Spot Guide](https://github.com/airtasker/spot/wiki/Spot-Guide)\r\n\r\nFor all available syntax, see [Spot Syntax](https://github.com/airtasker/spot/wiki/Spot-Syntax)\r\n\r\n### Installation\r\n\r\nWith [yarn](https://yarnpkg.com/en/docs/usage) installed and initialized add `@airtasker/spot` to your project:\r\n\r\n```sh\r\nyarn add @airtasker/spot\r\n```\r\n\r\nYou can pass the definition above to a generator by simply running:\r\n\r\n```sh\r\nnpx @airtasker/spot generate --contract api.ts\r\n```\r\n\r\n# Why we built Spot\r\n\r\nAt first glance, you may wonder why we bothered building Spot. Why not use OpenAPI (formely known as Swagger) to describe your API?\r\n\r\nAt the core, we built Spot because we wanted a better developer experience.\r\n\r\n## Writing contracts\r\n\r\nOpenAPI documents are stored as YAML files, following a very specific schema. You won’t know that you used the wrong field name or forgot to wrap a type definition into a schema object unless you run a good OpenAPI linter. Most developers who aren’t intimately familiar with the OpenAPI specification end up using a visual editor such as Swagger Editor or Stoplight.\r\n\r\nSince Spot leverages the TypeScript syntax, all you need is to write valid TypeScript code. Your editor will immediately tell you when your code is invalid. It will tell you what’s missing, and you even get autocomplete for free. We could have picked any other typed language—TypeScript just happened to be one of the most concise and ubiquitous for us.\r\n\r\n## Reviewing contracts\r\n\r\nWe believe that API contracts should be checked into Git, or whichever code versioning system you use. In addition, API contracts should be systematically peer reviewed. It’s far too easy for a backend engineer to incorrectly assume what client engineers expect from an endpoint.\r\n\r\nBecause of their complex nested structure and the richness of the OpenAPI specification, OpenAPI documents can be difficult to review in a pull request. They’re great for machines, but not always for humans.\r\n\r\nSpot aims to be as human-readable as possible. We’ve seen developers become a lot more engaged in discussions on pull requests for Spot contracts, compared to our previous OpenAPI documents.\r\n\r\n# Usage\r\n\r\nTo get started and set up an API declaration in the current directory, run:\r\n\r\n```\r\nnpx @airtasker/spot init\r\n```\r\n\r\nYou can then run a generator with:\r\n\r\n```\r\nnpx @airtasker/spot generate --contract api.ts\r\n```\r\n\r\n## In Memory Usage\r\n\r\n```ts\r\nimport { Spot } from \"@airtasker/spot\";\r\n\r\nconst contract = Spot.parseContract(\"./api.ts\")\r\nconst openApi = Spot.OpenApi3.generateOpenAPI3(contract);\r\n\r\nconsole.log(openApi);\r\n\r\n/*\r\n{\r\n  openapi: '3.0.2',\r\n  info: { title: 'my-api', description: undefined, version: '0.0.0' },\r\n  paths: { '/users': { post: [Object] } },\r\n  components: {\r\n    schemas: { CreateUserRequest: [Object], CreateUserResponse: [Object] },\r\n    securitySchemes: undefined\r\n  },\r\n  security: undefined\r\n}\r\n*/\r\n\r\n```\r\n\r\n# Commands\r\n\r\n<!-- commands -->\n* [`spot checksum SPOT_CONTRACT`](#spot-checksum-spot_contract)\n* [`spot docs SPOT_CONTRACT`](#spot-docs-spot_contract)\n* [`spot generate`](#spot-generate)\n* [`spot help [COMMAND]`](#spot-help-command)\n* [`spot init`](#spot-init)\n* [`spot lint SPOT_CONTRACT`](#spot-lint-spot_contract)\n* [`spot mock SPOT_CONTRACT`](#spot-mock-spot_contract)\n* [`spot validate SPOT_CONTRACT`](#spot-validate-spot_contract)\n* [`spot validation-server SPOT_CONTRACT`](#spot-validation-server-spot_contract)\n\n## `spot checksum SPOT_CONTRACT`\n\nGenerate a checksum for a Spot contract\n\n```\nUSAGE\n  $ spot checksum SPOT_CONTRACT\n\nARGUMENTS\n  SPOT_CONTRACT  path to Spot contract\n\nOPTIONS\n  -h, --help  show CLI help\n\nEXAMPLE\n  $ spot checksum api.ts\n```\n\n## `spot docs SPOT_CONTRACT`\n\nPreview Spot contract as OpenAPI3 documentation. The documentation server will start on http://localhost:8080.\n\n```\nUSAGE\n  $ spot docs SPOT_CONTRACT\n\nARGUMENTS\n  SPOT_CONTRACT  path to Spot contract\n\nOPTIONS\n  -h, --help       show CLI help\n  -p, --port=port  [default: 8080] Documentation server port\n\nEXAMPLE\n  $ spot docs api.ts\n```\n\n## `spot generate`\n\nRuns a generator on an API. Used to produce client libraries, server boilerplates and well-known API contract formats such as OpenAPI.\n\n```\nUSAGE\n  $ spot generate\n\nOPTIONS\n  -c, --contract=contract    (required) Path to a TypeScript Contract definition\n  -g, --generator=generator  Generator to run\n  -h, --help                 show CLI help\n  -l, --language=language    Language to generate\n  -o, --out=out              Directory in which to output generated files\n\nEXAMPLE\n  $ spot generate --contract api.ts --language yaml --generator openapi3 --out output/\n```\n\n## `spot help [COMMAND]`\n\ndisplay help for spot\n\n```\nUSAGE\n  $ spot help [COMMAND]\n\nARGUMENTS\n  COMMAND  command to show help for\n\nOPTIONS\n  --all  see all commands in CLI\n```\n\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.2/src/commands/help.ts)_\n\n## `spot init`\n\nGenerates the boilerplate for an API.\n\n```\nUSAGE\n  $ spot init\n\nOPTIONS\n  -h, --help  show CLI help\n\nEXAMPLE\n  $ spot init\n  Generated the following files:\n  - api.ts\n  - tsconfig.json\n  - package.json\n```\n\n## `spot lint SPOT_CONTRACT`\n\nLint a Spot contract\n\n```\nUSAGE\n  $ spot lint SPOT_CONTRACT\n\nARGUMENTS\n  SPOT_CONTRACT  path to Spot contract\n\nOPTIONS\n  -h, --help  show CLI help\n\nEXAMPLE\n  $ spot lint api.ts\n```\n\n## `spot mock SPOT_CONTRACT`\n\nRun a mock server based on a Spot contract\n\n```\nUSAGE\n  $ spot mock SPOT_CONTRACT\n\nARGUMENTS\n  SPOT_CONTRACT  path to Spot contract\n\nOPTIONS\n  -h, --help                   show CLI help\n  -p, --port=port              (required) [default: 3010] Port on which to run the mock server\n  --pathPrefix=pathPrefix      Prefix to prepend to each endpoint path\n\n  --proxyBaseUrl=proxyBaseUrl  If set, the server will act as a proxy and fetch data from the given remote server\n                               instead of mocking it\n\nEXAMPLE\n  $ spot mock api.ts\n```\n\n## `spot validate SPOT_CONTRACT`\n\nValidate a Spot contract\n\n```\nUSAGE\n  $ spot validate SPOT_CONTRACT\n\nARGUMENTS\n  SPOT_CONTRACT  path to Spot contract\n\nOPTIONS\n  -h, --help  show CLI help\n\nEXAMPLE\n  $ spot validate api.ts\n```\n\n## `spot validation-server SPOT_CONTRACT`\n\nStart the spot contract validation server\n\n```\nUSAGE\n  $ spot validation-server SPOT_CONTRACT\n\nARGUMENTS\n  SPOT_CONTRACT  path to Spot contract\n\nOPTIONS\n  -h, --help       show CLI help\n  -p, --port=port  [default: 5907] The port where application will be available\n\nEXAMPLE\n  $ spot validation-server api.ts\n```\n<!-- commandsstop -->\r\n* [`spot checksum SPOT_CONTRACT`](#spot-checksum-spot_contract)\r\n* [`spot docs SPOT_CONTRACT`](#spot-docs-spot_contract)\r\n* [`spot generate`](#spot-generate)\r\n* [`spot help [COMMAND]`](#spot-help-command)\r\n* [`spot init`](#spot-init)\r\n* [`spot lint SPOT_CONTRACT`](#spot-lint-spot_contract)\r\n* [`spot mock SPOT_CONTRACT`](#spot-mock-spot_contract)\r\n* [`spot validate SPOT_CONTRACT`](#spot-validate-spot_contract)\r\n* [`spot validation-server SPOT_CONTRACT`](#spot-validation-server-spot_contract)\r\n\r\n## `spot checksum SPOT_CONTRACT`\r\n\r\nGenerate a checksum for a Spot contract\r\n\r\n```\r\nUSAGE\r\n  $ spot checksum SPOT_CONTRACT\r\n\r\nARGUMENTS\r\n  SPOT_CONTRACT  path to Spot contract\r\n\r\nOPTIONS\r\n  -h, --help  show CLI help\r\n\r\nEXAMPLE\r\n  $ spot checksum api.ts\r\n```\r\n\r\n## `spot docs SPOT_CONTRACT`\r\n\r\nPreview Spot contract as OpenAPI3 documentation. The documentation server will start on http://localhost:8080.\r\n\r\n```\r\nUSAGE\r\n  $ spot docs SPOT_CONTRACT\r\n\r\nARGUMENTS\r\n  SPOT_CONTRACT  path to Spot contract\r\n\r\nOPTIONS\r\n  -h, --help       show CLI help\r\n  -p, --port=port  [default: 8080] Documentation server port\r\n\r\nEXAMPLE\r\n  $ spot docs api.ts\r\n```\r\n\r\n## `spot generate`\r\n\r\nRuns a generator on an API. Used to produce client libraries, server boilerplates and well-known API contract formats such as OpenAPI.\r\n\r\n```\r\nUSAGE\r\n  $ spot generate\r\n\r\nOPTIONS\r\n  -c, --contract=contract    (required) Path to a TypeScript Contract definition\r\n  -g, --generator=generator  Generator to run\r\n  -h, --help                 show CLI help\r\n  -l, --language=language    Language to generate\r\n  -o, --out=out              Directory in which to output generated files\r\n\r\nEXAMPLE\r\n  $ spot generate --contract api.ts --language yaml --generator openapi3 --out output/\r\n```\r\n\r\n## `spot help [COMMAND]`\r\n\r\ndisplay help for spot\r\n\r\n```\r\nUSAGE\r\n  $ spot help [COMMAND]\r\n\r\nARGUMENTS\r\n  COMMAND  command to show help for\r\n\r\nOPTIONS\r\n  --all  see all commands in CLI\r\n```\r\n\r\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.2/src/commands/help.ts)_\r\n\r\n## `spot init`\r\n\r\nGenerates the boilerplate for an API.\r\n\r\n```\r\nUSAGE\r\n  $ spot init\r\n\r\nOPTIONS\r\n  -h, --help  show CLI help\r\n\r\nEXAMPLE\r\n  $ spot init\r\n  Generated the following files:\r\n  - api.ts\r\n  - tsconfig.json\r\n  - package.json\r\n```\r\n\r\n## `spot lint SPOT_CONTRACT`\r\n\r\nLint a Spot contract\r\n\r\n```\r\nUSAGE\r\n  $ spot lint SPOT_CONTRACT\r\n\r\nARGUMENTS\r\n  SPOT_CONTRACT  path to Spot contract\r\n\r\nOPTIONS\r\n  -h, --help  show CLI help\r\n\r\nEXAMPLE\r\n  $ spot lint api.ts\r\n```\r\n\r\n## `spot mock SPOT_CONTRACT`\r\n\r\nRun a mock server based on a Spot contract\r\n\r\n```\r\nUSAGE\r\n  $ spot mock SPOT_CONTRACT\r\n\r\nARGUMENTS\r\n  SPOT_CONTRACT  path to Spot contract\r\n\r\nOPTIONS\r\n  -h, --help                   show CLI help\r\n  -p, --port=port              (required) [default: 3010] Port on which to run the mock server\r\n  --pathPrefix=pathPrefix      Prefix to prepend to each endpoint path\r\n\r\n  --proxyBaseUrl=proxyBaseUrl  If set, the server will act as a proxy and fetch data from the given remote server\r\n                               instead of mocking it\r\n\r\nEXAMPLE\r\n  $ spot mock api.ts\r\n```\r\n\r\n## `spot validate SPOT_CONTRACT`\r\n\r\nValidate a Spot contract\r\n\r\n```\r\nUSAGE\r\n  $ spot validate SPOT_CONTRACT\r\n\r\nARGUMENTS\r\n  SPOT_CONTRACT  path to Spot contract\r\n\r\nOPTIONS\r\n  -h, --help  show CLI help\r\n\r\nEXAMPLE\r\n  $ spot validate api.ts\r\n```\r\n\r\n## `spot validation-server SPOT_CONTRACT`\r\n\r\nStart the spot contract validation server\r\n\r\n```\r\nUSAGE\r\n  $ spot validation-server SPOT_CONTRACT\r\n\r\nARGUMENTS\r\n  SPOT_CONTRACT  path to Spot contract\r\n\r\nOPTIONS\r\n  -h, --help       show CLI help\r\n  -p, --port=port  [default: 5907] The port where application will be available\r\n\r\nEXAMPLE\r\n  $ spot validation-server api.ts\r\n```\r\n<!-- commandsstop -->\r\n* [`spot checksum SPOT_CONTRACT`](#spot-checksum-spot_contract)\r\n* [`spot docs SPOT_CONTRACT`](#spot-docs-spot_contract)\r\n* [`spot generate`](#spot-generate)\r\n* [`spot help [COMMAND]`](#spot-help-command)\r\n* [`spot init`](#spot-init)\r\n* [`spot lint SPOT_CONTRACT`](#spot-lint-spot_contract)\r\n* [`spot mock SPOT_CONTRACT`](#spot-mock-spot_contract)\r\n* [`spot validate SPOT_CONTRACT`](#spot-validate-spot_contract)\r\n* [`spot validation-server SPOT_CONTRACT`](#spot-validation-server-spot_contract)\r\n\r\n## `spot checksum SPOT_CONTRACT`\r\n\r\nGenerate a checksum for a Spot contract\r\n\r\n```\r\nUSAGE\r\n  $ spot checksum SPOT_CONTRACT\r\n\r\nARGUMENTS\r\n  SPOT_CONTRACT  path to Spot contract\r\n\r\nOPTIONS\r\n  -h, --help  show CLI help\r\n\r\nEXAMPLE\r\n  $ spot checksum api.ts\r\n```\r\n\r\n## `spot docs SPOT_CONTRACT`\r\n\r\nPreview Spot contract as OpenAPI3 documentation. The documentation server will start on http://localhost:8080.\r\n\r\n```\r\nUSAGE\r\n  $ spot docs SPOT_CONTRACT\r\n\r\nARGUMENTS\r\n  SPOT_CONTRACT  path to Spot contract\r\n\r\nOPTIONS\r\n  -h, --help       show CLI help\r\n  -p, --port=port  [default: 8080] Documentation server port\r\n\r\nEXAMPLE\r\n  $ spot docs api.ts\r\n```\r\n\r\n## `spot generate`\r\n\r\nRuns a generator on an API. Used to produce client libraries, server boilerplates and well-known API contract formats such as OpenAPI.\r\n\r\n```\r\nUSAGE\r\n  $ spot generate\r\n\r\nOPTIONS\r\n  -c, --contract=contract    (required) Path to a TypeScript Contract definition\r\n  -g, --generator=generator  Generator to run\r\n  -h, --help                 show CLI help\r\n  -l, --language=language    Language to generate\r\n  -o, --out=out              Directory in which to output generated files\r\n\r\nEXAMPLE\r\n  $ spot generate --contract api.ts --language yaml --generator openapi3 --out output/\r\n```\r\n\r\n## `spot help [COMMAND]`\r\n\r\ndisplay help for spot\r\n\r\n```\r\nUSAGE\r\n  $ spot help [COMMAND]\r\n\r\nARGUMENTS\r\n  COMMAND  command to show help for\r\n\r\nOPTIONS\r\n  --all  see all commands in CLI\r\n```\r\n\r\n_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.2.1/src/commands/help.ts)_\r\n\r\n## `spot init`\r\n\r\nGenerates the boilerplate for an API.\r\n\r\n```\r\nUSAGE\r\n  $ spot init\r\n\r\nOPTIONS\r\n  -h, --help  show CLI help\r\n\r\nEXAMPLE\r\n  $ spot init\r\n  Generated the following files:\r\n  - api.ts\r\n  - tsconfig.json\r\n  - package.json\r\n```\r\n\r\n## `spot lint SPOT_CONTRACT`\r\n\r\nLint a Spot contract\r\n\r\n```\r\nUSAGE\r\n  $ spot lint SPOT_CONTRACT\r\n\r\nARGUMENTS\r\n  SPOT_CONTRACT  path to Spot contract\r\n\r\nOPTIONS\r\n  -h, --help  show CLI help\r\n\r\nEXAMPLE\r\n  $ spot lint api.ts\r\n```\r\n\r\n## `spot mock SPOT_CONTRACT`\r\n\r\nRun a mock server based on a Spot contract\r\n\r\n```\r\nUSAGE\r\n  $ spot mock SPOT_CONTRACT\r\n\r\nARGUMENTS\r\n  SPOT_CONTRACT  path to Spot contract\r\n\r\nOPTIONS\r\n  -h, --help                   show CLI help\r\n  -p, --port=port              (required) [default: 3010] Port on which to run the mock server\r\n  --pathPrefix=pathPrefix      Prefix to prepend to each endpoint path\r\n\r\n  --proxyBaseUrl=proxyBaseUrl  If set, the server will act as a proxy and fetch data from the given remote server\r\n                               instead of mocking it\r\n\r\nEXAMPLE\r\n  $ spot mock api.ts\r\n```\r\n\r\n## `spot validate SPOT_CONTRACT`\r\n\r\nValidate a Spot contract\r\n\r\n```\r\nUSAGE\r\n  $ spot validate SPOT_CONTRACT\r\n\r\nARGUMENTS\r\n  SPOT_CONTRACT  path to Spot contract\r\n\r\nOPTIONS\r\n  -h, --help  show CLI help\r\n\r\nEXAMPLE\r\n  $ spot validate api.ts\r\n```\r\n\r\n## `spot validation-server SPOT_CONTRACT`\r\n\r\nStart the spot contract validation server\r\n\r\n```\r\nUSAGE\r\n  $ spot validation-server SPOT_CONTRACT\r\n\r\nARGUMENTS\r\n  SPOT_CONTRACT  path to Spot contract\r\n\r\nOPTIONS\r\n  -h, --help       show CLI help\r\n  -p, --port=port  [default: 5907] The port where application will be available\r\n\r\nEXAMPLE\r\n  $ spot validation-server api.ts\r\n```\r\n<!-- commandsstop -->\n","readmeFilename":"README.md"}