You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
According to the .nvmrc file in this project, javascript syntax must be limited to what is supported by Node 10.18.1. As I write this, Node LTS is currently at v.14.15.1. Since node 14 supports some nice features that this (and any) javascript project will benefit from, I would like to propose that we enable this project to take advantage of modern javascript syntax and all that it has to offer.
Specifically, I would appreciate being able to use the following features that are not natively supported by node 10:
motivation 1: While these features aren't specific to this resume-cli's purpose of creating a resume through the command line from a .json file, the clarity of this project's codebase can be significantly improved with the use of these features, thereby making it more accessible to future (and existing) contributors.
motivation 2: I forked resume-cli and addressed nearly every relevant outstanding issue (as of April 2020) and would like to begin posting PRs for review that that contain small pieces of code from my fork without having to downgrade the syntax so an older version of node can read it.
what to do
There are two ways we could go about using modern javascript in this project:
pass source in lib through babel on the prepare lifecycle npm event.
pros
project remains agnostic about which version of node is used to run it
most modern js projects use babel, so this is a proven strategy
allows quick adoption of future javascript features and syntax ahead of official support from node
cons
additional build step
more install dependencies for developers
requires a little extra configuration for integration with mocha (jest supports babel natively if we decide to use it in the future)
My recommendation - both
While both options presented address this issue, they are not mutually exclusive. We really should be using the latest node LTS version anyway, and it would be nice to always have the option to use the latest javscript syntax offered through babel without having to wait for it to be added to node LTS.
The text was updated successfully, but these errors were encountered:
I agree with using the latest Node.js LTS, although I'd prefer moving to TypeScript instead. Besides compiling to different targets, like Babel does, it brings many other benefits and might even be simpler to integrate (as long as we allowJs during the transition).
The Babel PR adds a build script and allows for using module syntax and optional chaining, which was my only objective.
Adding typescript would build upon the changes that the Babel PR introduces, so my recommendation is to merge the Babel PR first, then you can set up a PR for typescript.
the situation
According to the
.nvmrc
file in this project, javascript syntax must be limited to what is supported by Node 10.18.1. As I write this, Node LTS is currently at v.14.15.1. Since node 14 supports some nice features that this (and any) javascript project will benefit from, I would like to propose that we enable this project to take advantage of modern javascript syntax and all that it has to offer.Specifically, I would appreciate being able to use the following features that are not natively supported by node 10:
foo?.bar?.baz
import {foo} from "bar"
motivations
motivation 1: While these features aren't specific to this
resume-cli
's purpose of creating a resume through the command line from a .json file, the clarity of this project's codebase can be significantly improved with the use of these features, thereby making it more accessible to future (and existing) contributors.motivation 2: I forked resume-cli and addressed nearly every relevant outstanding issue (as of April 2020) and would like to begin posting PRs for review that that contain small pieces of code from my fork without having to downgrade the syntax so an older version of node can read it.
what to do
There are two ways we could go about using modern javascript in this project:
native support from node
package.json
require
/modules.exports
toimport
/export
nvm install
before running the coderesume-cli
has 11 dependents at the moment.transpile down to an older version of node
prepare
lifecycle npm event.My recommendation - both
While both options presented address this issue, they are not mutually exclusive. We really should be using the latest node LTS version anyway, and it would be nice to always have the option to use the latest javscript syntax offered through babel without having to wait for it to be added to node LTS.
The text was updated successfully, but these errors were encountered: