{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":105677687,"defaultBranch":"main","name":"sucrase","ownerLogin":"alangpierce","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-10-03T16:54:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/211605?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1703207775.0","currentOid":""},"activityList":{"items":[{"before":"ab642fe2ec4cdd8e174cc310545152b4767437bb","after":"61c05e1e6f29c906c432da57c91ab44660196c8d","ref":"refs/heads/main","pushedAt":"2023-12-22T01:36:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"v3.35.0","shortMessageHtmlLink":"v3.35.0"}},{"before":"a6305b064b78b80902175f7549860a6f7ed242f9","after":"e76755b39977cf48124cb7c43a20f538e92437e7","ref":"refs/heads/gh-pages","pushedAt":"2023-12-22T01:36:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Update website","shortMessageHtmlLink":"Update website"}},{"before":"4e92c34017087a08fef66deb6aacdc149c75bf11","after":null,"ref":"refs/heads/add-cli-tsconfig-test","pushedAt":"2023-12-22T01:16:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"}},{"before":"05bda346d60b52816df0bd66be9c478b6b5f395d","after":"ab642fe2ec4cdd8e174cc310545152b4767437bb","ref":"refs/heads/main","pushedAt":"2023-12-22T01:16:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Add test for CLI tsconfig support (#823)\n\nThis helps confirm that the code change from #822 is safe, which it seems to be.\r\nPreviously, this code path was untested, but now that there are CLI integration\r\ntests, it's not so bad to write a new one for this case.","shortMessageHtmlLink":"Add test for CLI tsconfig support (#823)"}},{"before":null,"after":"4e92c34017087a08fef66deb6aacdc149c75bf11","ref":"refs/heads/add-cli-tsconfig-test","pushedAt":"2023-12-22T01:08:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Add test for CLI tsconfig support\n\nThis helps confirm that the code change from #822 is safe, which it seems to be.\nPreviously, this code path was untested, but now that there are CLI integration\ntests, it's not so bad to write a new one for this case.","shortMessageHtmlLink":"Add test for CLI tsconfig support"}},{"before":"b9e563f0fc869b6085ced4df5459b80be8cdab7f","after":"05bda346d60b52816df0bd66be9c478b6b5f395d","ref":"refs/heads/main","pushedAt":"2023-12-22T00:37:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Bump glob to 10.3.10 (latest). (#822)\n\nThe dependency glob was pinned to version 7.1.6, which depended on a\r\npackage called inflight. inflight is unmainted, and currently has a\r\nmemory leak vulnerability, classified high severity.\r\n\r\nNew major releases of glob do not rely on this vulnerable dependency.\r\n\r\nCo-authored-by: Patrick Nappa ","shortMessageHtmlLink":"Bump glob to 10.3.10 (latest). (#822)"}},{"before":"7cb4ed40262592d8b2be0508857719d71bfb9467","after":null,"ref":"refs/heads/use-function-components-for-website","pushedAt":"2023-07-25T20:20:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"}},{"before":"4caa80c6c5118a154c890a35ef1af333f9195e45","after":"b9e563f0fc869b6085ced4df5459b80be8cdab7f","ref":"refs/heads/main","pushedAt":"2023-07-25T20:20:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Update website to use function components everywhere (#814)\n\nThere were a few large class components still in the website code, and this\r\nmoves them to function components. This will be useful for dogfooding the\r\nhopefully-upcoming React Fast Refresh transform.\r\n\r\nAlso upgrade React to latest.","shortMessageHtmlLink":"Update website to use function components everywhere (#814)"}},{"before":"fcfde4b294abf043a8fb2d72bf437689077c73b7","after":"7cb4ed40262592d8b2be0508857719d71bfb9467","ref":"refs/heads/use-function-components-for-website","pushedAt":"2023-07-25T20:07:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Update website to use function components everywhere\n\nThere were a few large class components still in the website code, and this\nmoves them to function components. This will be useful for dogfooding the\nhopefully-upcoming React Fast Refresh transform.","shortMessageHtmlLink":"Update website to use function components everywhere"}},{"before":null,"after":"fcfde4b294abf043a8fb2d72bf437689077c73b7","ref":"refs/heads/use-function-components-for-website","pushedAt":"2023-07-25T19:50:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Update website to use function components everywhere\n\nThere were a few large class components still in the website code, and this\nmoves them to function components. This will be useful for dogfooding the\nhopefully-upcoming React Fast Refresh transform.","shortMessageHtmlLink":"Update website to use function components everywhere"}},{"before":"4bd800b513a04a0de20c9c246c72936f889c348f","after":"4caa80c6c5118a154c890a35ef1af333f9195e45","ref":"refs/heads/main","pushedAt":"2023-07-19T19:50:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"v3.34.0","shortMessageHtmlLink":"v3.34.0"}},{"before":"a87befd7151a37b6b7ff5bcfcc7b7cae0c0168d6","after":"a6305b064b78b80902175f7549860a6f7ed242f9","ref":"refs/heads/gh-pages","pushedAt":"2023-07-19T19:48:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Update website","shortMessageHtmlLink":"Update website"}},{"before":"1553ce522a3453f51a9e0da6b27439e705e03fb1","after":null,"ref":"refs/heads/add-register-options","pushedAt":"2023-07-19T18:01:16.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"}},{"before":"d6173683c6fc7a969bdca027cf67f0c3e4f2ecc8","after":"4bd800b513a04a0de20c9c246c72936f889c348f","ref":"refs/heads/main","pushedAt":"2023-07-19T18:01:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Allow specifying options with sucrase/register and related tools (#813)\n\nFixes #792\r\n\r\nThis PR adds a new environment variable SUCRASE_OPTIONS that works with the\r\nrequire hook and other tools that are based on the require hook (`sucrase-node`\r\nand programmatically registering a hook). Its format is simply a JSON string\r\nthat is parsed and merged with the usual options. Hopefully this will be rare,\r\nespecially after a semver-major change to better defaults, but it's important\r\nfor some cases.","shortMessageHtmlLink":"Allow specifying options with sucrase/register and related tools (#813)"}},{"before":null,"after":"1553ce522a3453f51a9e0da6b27439e705e03fb1","ref":"refs/heads/add-register-options","pushedAt":"2023-07-18T23:00:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Allow specifying options with sucrase/register and related tools\n\nFixes #792\n\nThis PR adds a new environment variable SUCRASE_OPTIONS that works with the\nrequire hook and other tools that are based on the require hook (`sucrase-node`\nand programmatically registering a hook). Its format is simply a JSON string\nthat is parsed and merged with the usual options. Hopefully this will be rare,\nespecially after a semver-major change to better defaults, but it's important\nfor some cases.","shortMessageHtmlLink":"Allow specifying options with sucrase/register and related tools"}},{"before":"b2fdb7da5ef51f01b06848be789750c189039df6","after":null,"ref":"refs/heads/add-missing-cli-flags","pushedAt":"2023-07-18T22:20:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"}},{"before":"7c8f270c162edf493d325cb400d71823d52dfa24","after":"d6173683c6fc7a969bdca027cf67f0c3e4f2ecc8","ref":"refs/heads/main","pushedAt":"2023-07-18T22:19:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Add CLI flags for all Sucrase options (#812)\n\nSupersedes #670\r\nProgress toward #792\r\n\r\nThis PR adds to the CLI a number of options that had been added. The CLI could\r\nstill use some work in terms of error reporting and behavior, but this should\r\nhopefully get it closer to parity with other use cases.\r\n\r\nThe CLI previously had no tests, so this also adds an integration test suite\r\nexercising each new and existing Sucrase option (though it's not yet at full\r\ncoverage).","shortMessageHtmlLink":"Add CLI flags for all Sucrase options (#812)"}},{"before":"3ba92f057e7b2adeef3e7dc9e8a4baaba35b15a1","after":"b2fdb7da5ef51f01b06848be789750c189039df6","ref":"refs/heads/add-missing-cli-flags","pushedAt":"2023-07-18T22:08:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Fix test, fix small grammar issue","shortMessageHtmlLink":"Fix test, fix small grammar issue"}},{"before":null,"after":"3ba92f057e7b2adeef3e7dc9e8a4baaba35b15a1","ref":"refs/heads/add-missing-cli-flags","pushedAt":"2023-07-18T18:17:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Add CLI flags for all Sucrase options\n\nSupersedes #670\nProgress toward #792\n\nThis PR adds to the CLI a number of options that had been added. The CLI could\nstill use some work in terms of error reporting and behavior, but this should\nhopefully get it closer to parity with other use cases.\n\nThe CLI previously had no tests, so this also adds an integration test suite\nexercising each new and existing Sucrase option (though it's not yet at full\ncoverage).","shortMessageHtmlLink":"Add CLI flags for all Sucrase options"}},{"before":"ceeb203185005b410a2e770a06a08ce877c33a9a","after":"7c8f270c162edf493d325cb400d71823d52dfa24","ref":"refs/heads/main","pushedAt":"2023-07-14T23:13:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"v3.33.0","shortMessageHtmlLink":"v3.33.0"}},{"before":"4f58b217c709381a1feb1318bca0d2bd18cdf8e1","after":"a87befd7151a37b6b7ff5bcfcc7b7cae0c0168d6","ref":"refs/heads/gh-pages","pushedAt":"2023-07-14T23:09:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Update website","shortMessageHtmlLink":"Update website"}},{"before":"0b6e699d9f8883c591bec8e75c0408a24823ff2d","after":null,"ref":"refs/heads/add-keep-unused-imports-option","pushedAt":"2023-07-14T21:46:35.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"}},{"before":"a924d84d606c43cd900c3ffd793c25bd9f44ce7f","after":"ceeb203185005b410a2e770a06a08ce877c33a9a","ref":"refs/heads/main","pushedAt":"2023-07-14T21:46:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Add keepUnusedImports option (#811)\n\nSupersedes #615\r\nFixes #791\r\n\r\nThis PR builds off of #615 with a number of additional tests and cases. High-level, it introduces a new option `keepUnusedImports` that disables all automatic import and export elision done by TypeScript, somewhat analogous to the `verbatimModuleSyntax` TS option. For the most part, this is just a matter of flagging off the name tracking and elision code\r\nfor both imports and exports in the various places that they happen.\r\n\r\nWhen this mode is enabled, some of the preprocessing steps can be skipped, and scope handling can be fully skipped with\r\nthe imports transform also disabled. Performance numbers measured by `yarn benchmark jest-dev`:\r\n* With `imports` and `typescript` transforms: 855k -> 910k lines per second (6% faster)\r\n* With only `typescript` transform: 935k -> 1110k lines per second (19% faster)\r\n\r\nSome additional details:\r\n* While this feature is intended to be used with TypeScript, I decided to also implement the behavior for Flow as well. Flow's implementation in Babel will remove an import statement if all individual names are removed, but `flow-remove-types` won't do this, so Sucrase `keepUnusedImports` matches the behavior of `flow-remove-types`.\r\n* Babel doesn't currently implement this option, so for the playground I mapped it to `onlyRemoveTypeImports`, which\r\n seems to have the closest behavior.","shortMessageHtmlLink":"Add keepUnusedImports option (#811)"}},{"before":"9920a582a8c50cb56b9a442b2b554ff7616fdd4a","after":"0b6e699d9f8883c591bec8e75c0408a24823ff2d","ref":"refs/heads/add-keep-unused-imports-option","pushedAt":"2023-07-14T21:03:03.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Add option to ts-node integration","shortMessageHtmlLink":"Add option to ts-node integration"}},{"before":null,"after":"9920a582a8c50cb56b9a442b2b554ff7616fdd4a","ref":"refs/heads/add-keep-unused-imports-option","pushedAt":"2023-07-14T00:13:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Add keepUnusedImports option\n\nSupersedes #615\nFixes #791\n\nThis PR builds off of #615 with a number of additional tests and cases.\nHigh-level, it introduces a new option `keepUnusedImports` that disables all\nautomatic import and export elision done by TypeScript, somewhat analogous to\nthe `verbatimModuleSyntax` TS option.","shortMessageHtmlLink":"Add keepUnusedImports option"}},{"before":"7cf2dfbd49e648c407c7489224c5f21a23c7f308","after":null,"ref":"refs/heads/fix-import-export-empty","pushedAt":"2023-07-13T21:36:09.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"}},{"before":"7bd7ca3650f67af45a2451b6fb2446b203f206c7","after":"a924d84d606c43cd900c3ffd793c25bd9f44ce7f","ref":"refs/heads/main","pushedAt":"2023-07-13T21:36:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Properly elide or preserve empty imports/exports (#810)\n\nFixes #801\r\n\r\nSucrase previously had a somewhat unified approach to import/export elision, but\r\nthis caused an issue with `import {}` statements, which should be removed in\r\nTypeScript, but not in Flow or with neither transform enabled. Now, we plumb the\r\nfull configuration to both transforms and use the configuration to decide which\r\nstrategy is relevant.","shortMessageHtmlLink":"Properly elide or preserve empty imports/exports (#810)"}},{"before":null,"after":"7cf2dfbd49e648c407c7489224c5f21a23c7f308","ref":"refs/heads/fix-import-export-empty","pushedAt":"2023-07-13T20:25:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Properly elide or preserve empty imports/exports\n\nFixes #801\n\nSucrase previously had a somewhat unified approach to import/export elision, but\nthis caused an issue with `import {}` statements, which should be removed in\nTypeScript, but not in Flow or with neither transform enabled. Now, we plumb the\nfull configuration to both transforms and use the configuration to decide which\nstrategy is relevant.","shortMessageHtmlLink":"Properly elide or preserve empty imports/exports"}},{"before":"82ac6a85fd32d026e82b1cec89d15d7db8d4ed21","after":null,"ref":"refs/heads/fix-shadowed-globals-with-ts-function-types","pushedAt":"2023-07-13T19:34:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"}},{"before":"58eac08d06fba814949ad169262db015f3958ee8","after":"7bd7ca3650f67af45a2451b6fb2446b203f206c7","ref":"refs/heads/main","pushedAt":"2023-07-13T19:34:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alangpierce","name":"Alan Pierce","path":"/alangpierce","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/211605?s=80&v=4"},"commit":{"message":"Fix shadowed global detection to ignore declarations in type tokens (#809)\n\nFixes #808\r\n\r\nAll identifier tokens, including type tokens, have a role assigned by the parser\r\nthat indicates whether they're a declaration, usage, etc, and even for type\r\ntokens this is important for TS automatic export elision. When identifying\r\nshadowed globals, though, only non-type declarations should be considered. This\r\nfixes an issue where parameters within TS function types were inadvertently\r\nbeing treated as declarations.","shortMessageHtmlLink":"Fix shadowed global detection to ignore declarations in type tokens (#…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD0AOsSQA","startCursor":null,"endCursor":null}},"title":"Activity · alangpierce/sucrase"}