Welcome to my Weekly Digest #14 π±
This weekly digest contains a lot of interesting and inspiring articles, videos, tweets, podcasts, and designs I consumed during this week.
Interesting articles to read
Top-level await is available in Node.js modules
Node.js' top-level is available in ES modules. Find out about three ways to enable it and untangle your code.
Top-level await is available in Node.js modules
From Express to Fastify in Node.js
It has been almost two years since Express has been updated, and a lot of new great tools came around since then. I recently tried Fastify for the first time, and it took me no longer than a few minutes to decide to make a switch. Let me share with you a few main reasons.
Sass Guidelines improvements
Kitty Giraudel recently came back to Sass Guidelines. Not to update the content, but to work on the site itself. It turns out they learned a lot in the last few years and found many improvements worth doing. They thought it would be interesting to discuss them in this post. Here are the different topics weβll go through.
Dark mode in 5 minutes, with inverted lightness variables
By now, you probably know that you can use custom properties for individual color components, to avoid repeating the same color coordinates multiple times throughout your theme. You may even know that you can use the same variable for multiple components, e.g. HSL hue and lightness
Dark mode in 5 minutes, with inverted lightness variables
Top React toast libraries compared
The top React toast libraries for when it's more trouble than it's worth to create your own custom toast components.
Top React toast libraries compared - LogRocket Blog
Some great videos I watched this week
Fix Your Mistakes, Don't Commit Them! Pre-Commit Git Hook Checks with Husky and Lint Staged.
It's time to stop committing broken tests, ugly code, type errors and lint errors to your git repository. With Husky, we can hook into git's pre-commit hook to only allow code into our git repository that passes all of those above checks. Using lint-staged we can make it more efficient to focus our energy on the changed files.
5 Quick Tips about TypeScript
In this lesson we look at 5 simple ways TypeScript can describe your JavaScript code.
The examples are taken from https://typescript-exercises.github.io/ and you can use this website to play around with the code yourself
by Basarat Ali
Responsible JavaScript
While the performance of JavaScript engines in browsers have seen continued improvement, the amount of JavaScript we serve increases unabated. We need to use JavaScript more responsibly, which means we must rely on native browser features where prudent, use HTML and CSS when appropriate, and know when too much JavaScript is just that: Too much.
10 CSS Pro Tips - Code this, NOT that!
Top 10 CSS Pro Tips to make your life as a web developer more productive. Some of the best programmers say CSS is too hard⦠but you might be surprised at how modern techniques can dramatically improve your code.
by Fireship
Chrome 90 - Whatβs New in DevTools
Debugging support for CSS Flexbox, performance heads-up display on page, issues tab updates and more.
Useful GitHub repositories
forgit
π€ A utility tool powered by fzf for using git interactively.
π€ forgit
Utility tool for using git interactively. Powered by junegunn/fzf.
This tool is designed to help you use git more efficiently It's lightweight and easy to use.
π₯ Installation
Make sure you have fzf
installed.
# for zplug
zplug 'wfxr/forgit'
# for zgen
zgen load 'wfxr/forgit'
# for antigen
antigen bundle 'wfxr/forgit'
# for fisher (requires fisher v4.4.3 or higher)
fisher install wfxr/forgit
# for omf
omf install https://github.com/wfxr/forgit
# for zinit
zinit load wfxr/forgit
# for oh-my-zsh
git clone https://github.com/wfxr/forgit.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/forgit
# manually
# Clone the repository and source it in your shell's rc file or put bin/git-forgit into your $PATH
Homebrew
To install using brew
brew install forgit
Then add the following to your shell's config file:
# Fish:
# ~/.config/fish/config.fish:
[ -f $HOMEBREW_PREFIX/share/forgit/forgit.plugin.fish ]; and source $HOMEBREW_PREFIX/share/forgit/forgit.plugin.fish
#
β¦Vite
Vite is a new breed of frontend build tool that significantly improves the frontend development experience.
Vite β‘
Next Generation Frontend Tooling
- π‘ Instant Server Start
- β‘οΈ Lightning Fast HMR
- π οΈ Rich Features
- π¦ Optimized Build
- π© Universal Plugin Interface
- π Fully Typed APIs
Vite (French word for "quick", pronounced /vit/
, like "veet") is a new breed of frontend build tooling that significantly improves the frontend development experience. It consists of two major parts:
-
A dev server that serves your source files over native ES modules, with rich built-in features and astonishingly fast Hot Module Replacement (HMR).
-
A build command that bundles your code with Rollup, pre-configured to output highly optimized static assets for production.
In addition, Vite is highly extensible via its Plugin API and JavaScript API with full typing support.
Packages
Package
Version (click for changelogs)
vite
@vitejs/plugin-legacy
create-vite
Contribution
See Contributing Guide.
License
MIT.
Sponsors
Photopea
Photopea.com is a free online tool for editing raster and vector graphics with support for PSD, AI, and Sketch files.
Photopea.com is a free online tool for editing raster and vector graphics with support for PSD, AI, and Sketch files.
Since Photopea is not fully open-source, this repository serves as a place for bug reports, feature requests, and general discussion.
Supported Formats
- Complex: PSD, AI, INDD, XCF, Sketch, XD, FIG, KRI, CLIP, PXD, PXZ, CDR, UFO, Fireworks PNG, AFPHOTO, SVG, EPS, PDF, PDN, WMF, EMF.
- Raster: PNG (APNG), JPG, GIF, WebP, ICO, ICNS, BMP, AVIF, HEIC, JXL, PPM/PGM/PBM, TIFF, DDS, IFF, ANIM, TGA.
- Raw: DNG, NEF, CR2, CR3, ARW, RW2, RAF, ORF, GPR, 3FR, FFF.
- Animated: GIF, APNG, MP4, WEBM, MKV (each frame becomes a layer, can be exported back to GIF or MP4).
Where You Can Find Us
- βοΈ support@photopea.com
- π facebook.com/photopea
- π¦ twitter.com/photopeacom
- π reddit.com/r/photopea
- π photopea.com
Other
- API, Blog, Learn, Translations
You Don't Need GUI
Graphical user interfaces are super friendly to computer users. They were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs).
you-dont-need / You-Dont-Need-GUI
Stop relying on GUI; CLI **ROCKS**
You Don't Need GUI
Graphical user interfaces are super friendly to computer users. They were introduced in reaction to the perceived steep learning curve of command-line interfaces (CLIs).
However, they often require more resources, are less powerful and hard to automate via scripting.
As a computer expert, we want to be more efficient and do our jobs better. We know that command words may not be easily discoverable or mnemonic, so we try to list some common tasks that you might be tempted to do in GUI.
Quick links
- copy a file
- duplicate a file
- copy a directory
- duplicate a directory
- move a file
- rename a file
- move a directory
- rename a directory
- merge directories
- create a new file
- create a new directory
- show file/directory size
- show file/directory info
- open a file with the default program
- open a file in any application
- zip a directory
- β¦
dribbble shots
Campus - Meetup App
by Jabel
Dompet - Wallet app design
by voxy St
Job Finder App
Ven.
Tweets
Picked Pens
Smash to submit button
by Aaron Iker
Cool Text
by Christine Banlawi
Podcasts worth listening
Hasty Treat - VSCode Extensions and Tips
In this Hasty Treat, Scott and Wes talk about their favorite VSCode extensions, tips, and workflows!
Cursors and Pointers
What do mouse pointers, potatoes, and your fingers have in common? They can all interact with a screen! With CSS we can define how active our web boxes are, which areas are interactive, and what style the cursor should be. Maybe that means your mouse arrow becomes an animated magic wand, or maybe not.
Front-End Monorepo
We talked about our transition to a monorepo back in episode 305. This move has all sorts of advantages for us, like the simplicity of having a single repo to pull and be up to date with and linting/formatting code in a consistent way across the entire code base of CodePen.
Thank you for reading, talk to you next week, and stay safe! π
Top comments (0)