{"_id":"@skyscanner/detox-generation","_rev":"35-aa1ab5ac3e682fc3e7d6142e828c8148","name":"@skyscanner/detox-generation","dist-tags":{"latest":"11.0.2-skyscanner"},"versions":{"9.0.8-skyscanner":{"name":"@skyscanner/detox-generation","version":"9.0.8-skyscanner","author":{"name":"DanielMSchmidt","email":"danielmschmidt92@gmail.com"},"license":"MIT","_id":"@skyscanner/detox-generation@9.0.8-skyscanner","maintainers":[{"name":"amolgupta","email":"amolgupta1989@gmail.com"},{"name":"georgegillams","email":"g@georgegillams.co.uk"},{"name":"jamesferguson","email":"james.ferguson@skyscanner.net"},{"name":"k0nserv","email":"h@tunius.se"},{"name":"mattface","email":"matthew.davidson@skyscanner.net"},{"name":"mhdev","email":"info@matteohertel.com"},{"name":"shaundon","email":"shaundonnelly@gmail.com"},{"name":"tiagohngl","email":"tiagohngl@gmail.com"}],"dist":{"shasum":"6e7116c5b8f42df6ea712322eb4a88544061cd0c","tarball":"https://registry.npmjs.org/@skyscanner/detox-generation/-/detox-generation-9.0.8-skyscanner.tgz","fileCount":25,"integrity":"sha512-M3dOxnRYPNna6ei5nHbgKDEPJJuDNcVt8nibvQ55UlbpsHCbSqPSPIlNP59c9q6HEUCy4YmRaHZ8P2gAKCSu0A==","signatures":[{"sig":"MEQCIGXu/7Gm7+Cd0zLmLBOUtY2IwXb/byGsf2z6LM6P2GEBAiAuWPio2Zy492mR0JIG8IGu+6S4WD+4u+evq8AvBhgl4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68437,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb7tGYCRA9TVsSAnZWagAAURIP/AplmzOUF78mh/CIBHHf\njbfcWHhKvDNSh1qv2PG2IhXE9ivweO7b4lKHrneycp2QbGZAGENB0JAsP2/m\nRb0hqkxaEGPJZhAQCYmsmWilHQLKynU2azeRk2sQxfVhHUOC8sCmucu1EtYy\nT1oV2/F0nrc8SLzNkiiCxveQQH2dreYKRaB840rgIB553skkjbt04D+U3k/z\nTZY7RzVKsQ7ARI6Nf11DZ7UyQT43LL+a7+TJRMquRTCAezITAMj2iA+i4n+6\nK3PPyZZ8gbfAvhHeqVlZVgf3QEjVHE+j6IGt6dhV8ZBT0tJuZK40ezWbkTpi\n9xpbku21dPNczcCf/lxM7Oe4B7x9F8CX+XbNSlLd21c5AS88xcSdiQ+QEhyH\no/LYnaxuiIUQhqwGXoH9NSenWKzOST+b7wXRtzuqBx3NT2W7/PCPwXJkv6pj\n8FOWstVjLiGkU+MeFLLUXFqjaYaqfWab5At4MypF9X5A/KYIDpa4N0MXfw7g\nJcS0rmZC7M56bx+fmAQi211Yeoqpg+9RD3M8+xvJjuZS5QujJpLE51Vj5zyj\nsd4jKm9bKqZHPVN9fGvgpJ9EMpPVRFtp2l/mo12J4AKi8t77lt1gN7JQX50M\nRBfmYi8dHIr6f4HLFNJbHdnmW1LSN1j96QdcL0oCrQ4ONiXVP46/2Rw9nScS\n4ym4\r\n=shV4\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"resetMocks":true,"resetModules":true,"coverageThreshold":{"global":{"lines":100,"branches":100,"functions":100,"statements":100}},"coveragePathIgnorePatterns":["<rootDir>/index.js"]},"main":"index.js","_from":"file:skyscanner-detox-generation-9.0.8-skyscanner.tgz","gitHead":"693829f6096495421584af54ae582ccb5e692046","scripts":{"test":"jest","build":"./index.js","format":"prettier ./**/*.{js,json,css,md} --write","pretest":"./check-for-git-changes.sh","precommit":"lint-staged"},"_npmUser":{"name":"shaundon","email":"shaundonnelly@gmail.com"},"_resolved":"","_integrity":"","_npmVersion":"6.4.1","description":"Generate wrapper code for native dependencies","directories":{},"lint-staged":{"*.{js,json,css,md}":["prettier --write","git add"]},"_nodeVersion":"8.12.0","dependencies":{"uuid":"^3.2.1","remove":"0.1.5","@babel/types":"7.0.0-beta.49","@babel/template":"7.0.0-beta.49","@babel/generator":"7.0.0-beta.49","download-file-sync":"1.0.4","java-method-parser":"0.4.7","objective-c-parser":"1.2.4","babel-generate-guard-clauses":"3.0.0-1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^20.0.4","prettier":"^1.8.2","lint-staged":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/detox-generation_9.0.8-skyscanner_1542377879663_0.6822131039835957","host":"s3://npm-registry-packages"}},"11.0.2-skyscanner":{"name":"@skyscanner/detox-generation","version":"11.0.2-skyscanner","author":{"name":"DanielMSchmidt","email":"danielmschmidt92@gmail.com"},"license":"MIT","_id":"@skyscanner/detox-generation@11.0.2-skyscanner","maintainers":[{"name":"amolgupta","email":"amolgupta1989@gmail.com"},{"name":"geekykaran","email":"karanjthakkar@gmail.com"},{"name":"georgegillams","email":"g@georgegillams.co.uk"},{"name":"jiri.mikulka","email":"jiri.mikulka@skyscanner.net"},{"name":"k0nserv","email":"h@tunius.se"},{"name":"leanmazzu","email":"leanmazzu@gmail.com"},{"name":"mattface","email":"matthew.davidson@skyscanner.net"},{"name":"paolo.chiabrera","email":"paolo.chiabrera@gmail.com"},{"name":"shaundon","email":"shaundonnelly@gmail.com"},{"name":"tiagohngl","email":"tiagohngl@gmail.com"}],"dist":{"shasum":"adddb33b3cbfc1759d8f8bf1f65bd28a2534e352","tarball":"https://registry.npmjs.org/@skyscanner/detox-generation/-/detox-generation-11.0.2-skyscanner.tgz","fileCount":25,"integrity":"sha512-IdpQNMCrBGfRmx0arva2GlXQuKVPQhdCYzHnpUbpApbSMnwt62g1tSUV660pctf++XscbbtVYVIpQ6GKP/T4hw==","signatures":[{"sig":"MEYCIQCr7UgUh7gv35m7rdh/Kns/m4/v4U9eemfmjZi1ohy/ygIhAITrMSVPTzpWCAUVnov6owbltlWpdmaNxsvXwCkJqpPr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmPdWCRA9TVsSAnZWagAAPe8P/AnVfgubmg7gJsuxpLYn\no4bq4w74TLA5uAvVJC9Ty1pxDpuW/RxS/lst2Wv0OFdQpo3I8df2vi+JB1S/\nUcYuOi9xClIvpxLiWDu59Rq03wA2cB19fte/6V2xbR+qPbxbQOWyjnQzrqld\nT7UM4xctBjpxE62GPqCKvQG6HKrqRJyC6SLBecmYdn1ebyHnHjEgUb3NOYWo\nBFe67jmJmtATZufPtL39eUZNQ5ELqgO2yjUhIzW5nDzpaKcRhl61FvRaCm9O\no/NRLmRVWLLlm/NLYlQ26RdfL6xDXR8jOQ7+g6vIrLapxemkDzw9SFYlU+/Z\nKG6F+9oHC09TICTmgYOoTR6gfp0dkIgdxUEkBgkvfsQ+VyBmwNkBhLXTzjMp\naglW9RdfDhuWP4bnrRRW5k0WgSzlsJ+9cWnKxp7lRVphPMHzB6BtEBk1NSAw\nCdCMBg56Gzt6cdfSprMJqeuPB2152GXXwlQfywnfLcEQWxrqWrHpW3736tjG\nO/GVZ6nukSD7NYYaDsdy2EbelhHfpSlirRspG6E/7nTkixdhwyp04MXo8gUq\nqhXPcn/T8ntpoTDZY+lGU3a3RX3MwQYQLjPI36wV4p4k1CI39ToIXyP5qerW\n/xdKQFw/KyWULVQK1MxlqaRfY7oQqeStLuXXyI1YE1BKaOTPyG3UTgy2PurE\nkTZS\r\n=Be7I\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"resetMocks":true,"resetModules":true,"coverageThreshold":{"global":{"lines":100,"branches":100,"functions":100,"statements":100}},"coveragePathIgnorePatterns":["<rootDir>/index.js"]},"main":"index.js","gitHead":"d82a99bdfe060d71fd2b164755b1eaf85572e2a3","scripts":{"test":"jest","build":"./index.js","format":"prettier ./**/*.{js,json,css,md} --write","pretest":"./check-for-git-changes.sh","precommit":"lint-staged"},"_npmUser":{"name":"leanmazzu","email":"leanmazzu@gmail.com"},"_npmVersion":"lerna/3.13.1/node@v10.15.3+x64 (darwin)","description":"Generate wrapper code for native dependencies","directories":{},"lint-staged":{"*.{js,json,css,md}":["prettier --write","git add"]},"_nodeVersion":"10.15.3","dependencies":{"uuid":"^3.2.1","remove":"0.1.5","@babel/types":"7.0.0-beta.49","@babel/template":"7.0.0-beta.49","@babel/generator":"7.0.0-beta.49","download-file-sync":"1.0.4","java-method-parser":"0.4.7","objective-c-parser":"1.2.4","babel-generate-guard-clauses":"3.0.0-1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^20.0.4","prettier":"^1.8.2","lint-staged":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/detox-generation_11.0.2-skyscanner_1553528661758_0.38281447748448594","host":"s3://npm-registry-packages"}}},"time":{"created":"2018-11-16T14:17:59.524Z","modified":"2025-10-09T08:53:23.333Z","9.0.8-skyscanner":"2018-11-16T14:17:59.840Z","11.0.2-skyscanner":"2019-03-25T15:44:21.888Z"},"author":{"name":"DanielMSchmidt","email":"danielmschmidt92@gmail.com"},"license":"MIT","description":"Generate wrapper code for native dependencies","maintainers":[{"email":"backpack@skyscanner.net","name":"skyscanner-koalasquad"},{"email":"oliver.curtis@skyscanner.net","name":"ojcurt"},{"email":"weavershared@skyscanner.net","name":"skyscanner-webenablement"}],"readme":"# Generation\n\nThis part of the repository aims to automate the adaption of the underlying testing frameworks.\nFor now, it only covers `EarlGrey`'s `GREYActions`.\n\nWe chose to check the generated files into version control to have them available as documentation.\n\nTo correlate changes to the generation with changes in the generated code, please make sure to run the build before every commit.\n\n## Development\n\n- `npm install`\n- `npm run build` builds every file specified in the `index.js`\n- `npm test`\n\n## Testing\n\n- We test with integration level tests by having a fixture Objective-C file which we generate and import before the tests.\n- We only add unit tests for code that is used in production, e.g. helper functions.\n- We then test against this file to ensure that the code generation result works with the specified interface.\n- We decided to base our tests around snapshot tests with the goal to spot mistakes in the return values of the functions without over-specification.\n- If you add functionality that affects the API surface of detox, please also make sure to include [End to End tests for it](../detox/test/e2e).\n\n## Resources\n\nParsing, ASTs, and code generation are hard topics but don't worry; we got your back.\nHere are some resources that might come in handy:\n\n- [astexplorer](https://astexplorer.net): Allows you to understand Abstract Syntax Trees by showing you code and the resulting AST side-by-side.\n- [Babel Handbook](https://github.com/thejameskyle/babel-handbook):\n- [babel-types](https://github.com/babel/babel/tree/master/packages/babel-types): A builder library for ASTs.\n- [babel-template](https://github.com/babel/babel/tree/master/packages/babel-template): A useful tool we do not use yet for generating bigger ASTs with less code by the usage of string interpolation.\n- [regex101](https://regex101.com): You might need to extract parts of a string; This tool helps you to quickly build the right Regular Expression for the job.\n","readmeFilename":"README.md"}