-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.20.0 release branch (ESM migration) #815
Conversation
Cool, so testing for additional use cases is also working
|
* WIP * init upgrade graphql plugin to ESM * fix linting * got develop command working for the website * build command WIP * migrate node module utils to async and refactor require to import.meta * pass linter * remove comment * www/ greenwood build command working * PostCSS working for both develop and build * PostCSS working for both develop and build * async prodServer support * fix serve task not resolving standard web assets * restore plugin analyzer * restore plugin analyzer * restore unified markdown functionality * fix missed merge conflict * restore include HTML plugin * restore polyfills plugin * PostCSS 8 deps upgrades * CLI build default spec passing via ESM * migrtate all CLI specs to ESM and enable eject * fix spec * migrate init package specs to ESM * migrate google and polyfills plugins and specs to ESM * migrate plugin-include-html to ESM * migrate plugin import CSS, JSON, and CommonJS and their specs to ESM * migrate plugin GraphQL and test cases to ESM * migrate plugin GraphQL and unit tests to ESM * migrate plugin typescript and specs to ESM * migrate plugin postcss specs to ESM * migrate plugin babel and default spec case to ESM * update package READMEs for ESM * update docs to demonstrate ESM usage * fix linting * handle path seperator to fix failing spec * bug/issue 532 esm upgrade with fix for windows (#814) * fix greenwood compilation for windows * serve and devekop commands working * default spec passing * proper URL to path handling for cross platform support * all specs passing wiht initial URL refactoring * refactor all specs to new standard URL usage * update docs * fix develop command * wip passing all specs on windows * all commands and tests passing on windows * update theme pack docs
* align nodejs versions * update version * update and rebase with release branch
* have init lock step initial version to current Greenwood version * set minimum version as formality in template package.json * grammar
* switch to c8 for ESM code coverage * set new thresholds
b8fb24f
to
294631a
Compare
* draft a v0.20.0 blog post * grammar tweaks
Related Issue
resolves #532 (continuation of #707)
Summary of Changes
Alpha Release Test Plan
I think given the impact of this change, it would be wise for us to cut from a release branch instead of merging right into main so that
The plan would be to test against the following projects / workflows as alpha releases are iterated upon:
npx
- 0.20.0 release branch (ESM migration) #815 (comment)npx @greenwood/init
- 0.20.0 release branch (ESM migration) #815 (comment)TODOs
init
package.json to start from 0.20.0 - have init lock step initial version to current Greenwood version #816init
command in sync with latest stable Greenwood CLI version when scaffolding package.json #781 / init command is not self upgrading to latest (sem) version of Greenwood #809alpha.1
alpha.2
?path
=>new URL
, more of a chore, and could be done post - ESM Configuration Tracking #824async
] - make Greenwood CLI and pluginsasync
through and through #823fs
methods can take an instance ofURL
natively, so we wouldn't have to usepathToFileURL
. Also,await
will automatically wrap return values inPromise
, so in that wayasync
is backwards compatible, unlike a sync version. Also we should probably use morefor ... in
and lessreduce
😵import.meta
import
json support in NodesJS in cli/src/index.js for reading package.jsonmjs
extensions out of box cosmiconfig/cosmiconfig#224require
forrequire.resolve.paths
, does there exist a similar convention for ESM, e.g.import.meta.resolve.paths
- ESM Configuration Tracking #824