When you have a git branch relation like: master < feat-a < feat-b. If feat-a gets squash merged into master, and to get feat-b merged into master, run git rebase master -i to interactively drop squash commits and rebase. Note the commits will be recommitted, changing commit time.
6 April 2021
In bash, $() means execute and return a value; \ means execute only
5 April 2021
Babel is only a parser/transpiler, nothing fancy
3 April 2021
When reading the source of a software, remember that you're reading bleeding-edge code that may not be released yet.
30 March 2021
VSCode has a search editor that places the search result directly in code view.
29 March 2021
Sentry release version needs to match the SDK's release name.
Facebook created Origami Design that has much better and programmable prototyping functionality.
@vue/compiler-sfc splits Vue SFCs into 3 virtual imports for template, script, and style. These virtual import paths are appended query strings to denote additional metadata. Flexible enough to allow integration for Vite, Rollup, and Webpack.
@vue/compiler-sfc uses @babel/parser to parse JS, TS, and other superset syntax via the plugins options, allowing it to support many syntax out-of-the-box.
Vue SFC and Svelte supports superset languages like TypeScript and Postcss by implementing a preprocess API, but this API is bound by the respective parser/compiler rather than the bundler, resulting in duplicated preprocessing configuration. @sveltejs/vite-plugin-svelte is leveraging bundler preprocess with useVitePreprocess option.
26 March 2021
TypeScript uses a neat trick to check if the filesystem is case-sensitive. Given a valid file path, if we invert the casings and it still exists, that means it's case-insenstive.