Hi there 👋, I'm CyanSalt. Glad to see you here! I am a front-end engineer currently working at Bytedance, but I also run a lot of open source projects of my own.
Here are my works:
Cross-platform Apps
Project | Information | Description |
---|---|---|
commas | ![]() |
A hackable, pluggable terminal, and also a command runner |
cyansalt/cask | My homebrew cask tap | |
lyrically | ![]() |
Music player inspired by Lyric Speaker |
強風オールバック | ![]() |
Cross-platform remaster of PowerfulWindSlickedBackHair |
Vue Ecosystem
Project | Information | Description |
---|---|---|
@legacy-vue/compiler-sfc | A drop-in replacement for @vue/compiler-sfc for Vue legacy versions (2.7.x) | |
@legacy-vue/vite-plugin-vue2 | A drop-in replacement for @vitejs/plugin-vue2 for Vue legacy versions (2.7.x) | |
@legacy-vue/vue-loader | A drop-in replacement for vue-loader for Vue legacy versions (2.7.x) | |
roughness | A Vue component library with hand-drawn appearance | |
vue-spinach | Transform Vue SFC between Option API and Composition API |
Vite Ecosystem
Project | Information | Description |
---|---|---|
vite-plugin-auto-preload | Vite plugin for adding preload resource hints in HTML | |
vite-plugin-html-sort-tags | Vite plugin for sorting head tags in HTML | |
vite-plugin-legacy-swc | Provides legacy browsers support for the production build with SWC | |
vite-plugin-prefetch-chunk | Vite plugin for adding prefetch resource hints in HTML | |
vite-plugin-template-html | Plugin for vite to inject data into html and request proxy | |
vite-plugin-unused-code | Vite/Rollup plugin to detect unused files and unused exports in used files |
Webpack Ecosystem
Project | Information | Description |
---|---|---|
module-federation-plugin | Module federation for webpack@4 | |
parallelize-webpack-unplugin | Use unplugin with thread-loader in webpack |
Toolchain
Project | Information | Description |
---|---|---|
@cyansalt/eslint-config | My ESLint configuration preset | |
@cyansalt/stylelint-config | My Stylelint configuration preset | |
@cyansalt/tsconfig | My TypeScript configuration. | |
eslint-plugin-galaxy | Various ESLint rules in one plugin. | |
stylelint-plugin-aurora | Various Stylelint rules in one plugin. | |
stylelint-test-rule-vitest | A Stylelint rule tester using Vitest |
Others
Project | Information | Description |
---|---|---|
babel-preset-omit-plugins | Omit certain plugins from a Babel preset | |
corner-smoothie | Create elements with Figma corner smoothing | |
croonjs | A toolkit for parsing and playing numbered musical notation | |
es-interop | Load modules dynamically from ESM, CJS, TS, JSON, etc. | |
font-cloak | Encrypt your data with random fonts | |
git9 | Utilities for Git | |
parseport | Get static value from a JavaScript or TypeScript file | |
postcss-transform-decl | Transform any declarations with custom rules | |
typescript-transform-aliases | Transform aliases in TypeScript files | |
whistle.try | Provide fallback functionality for local rules of whistle |