Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Unify modular test command interface #2259

Merged
merged 14 commits into from
Jan 19, 2023

Conversation

cristiano-belloni
Copy link
Contributor

@cristiano-belloni cristiano-belloni commented Jan 16, 2023

  • modular test now accepts package names as arguments, and regexes behind the --regex option flag

  • modular test now accepts any combination of [packages...], --regex, --changed, --ancestors, --descendants

  • modular build builds all packages when invoked without selective arguments / options

  • Remove --package and accept it as an argument

  • Create --regex and accept it as a variadic option

  • Use selectWorkspaces to unify interface

  • Merge regexes discovered with packages

  • yarn build with no args builds all packages

    • Tests for build
    • Docs for build
  • yarn test verbose log

  • Check that yarn test without selective args has the same behaviour of Modular 3

  • Write docs

  • Improve test.test.ts

@changeset-bot
Copy link

changeset-bot bot commented Jan 16, 2023

🦋 Changeset detected

Latest commit: 91851c9

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
modular-scripts Major

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@cristiano-belloni cristiano-belloni changed the base branch from main to feature/v4 January 16, 2023 15:55
@coveralls
Copy link
Collaborator

coveralls commented Jan 16, 2023

Coverage Status

Coverage: 25.952% (+0.4%) from 25.524% when pulling 91851c9 on feature/unify-test-interface into 8c2c6f3 on feature/v4.

@cristiano-belloni cristiano-belloni changed the title Unify "test" command interface Unify modular test command interface Jan 18, 2023
@cristiano-belloni cristiano-belloni marked this pull request as ready for review January 19, 2023 10:15
Copy link
Contributor

@AlbertoBrusa AlbertoBrusa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just a couple of comments

@cristiano-belloni cristiano-belloni merged commit 29e71cf into feature/v4 Jan 19, 2023
@cristiano-belloni cristiano-belloni deleted the feature/unify-test-interface branch January 19, 2023 13:27
cristiano-belloni added a commit that referenced this pull request Jan 23, 2023
* Node 18 & Jest 29 (#2210)

* Add Node 18 to tests

* Add Node 18 to supported engines

* Pinned rollup-plugin-esbuild to 4.10.1 as newer versions drop support for node 14.17 and below

* Updated yarn.lock

* Update build.test snapshot

* Update modular-scripts snapshot

* Change rollup-plugin-eslint to latest compatible version

* Added changeset

* Update lockfile

* Resolve to source-map ^0.7.0 to try and fix mozilla/source-map#432

* Try to resolve v8-to-istanbul to fix mozilla/source-map#432

* Dropped support for Node 14.17.0 (14.18.0 and greater) to allow upgrate to rollup-plugin-eslint 5

* Update tests to use Node 14.18.0

* Make tests use Node 14.18.0

* update jest to 29

* change Node 16 supported version to 16.10+ as that's what Jest supports

* Upgrade to Jest 29 and fix problems caused by the upgrade

* Update changelog

* Update snapshots (default no longer includes escape characters etc)

* Update snapshots not to include espace caracters

* More snapshots updates

* Change env for port tests to Node

* Update snapshots and switch default test env to Node (while setting it to JSDOM for specific tests)

* Update more snapshots

* Remove broken Rename test (Rename functionality to be removed with Modular 4)

* Fix tests (test.test wasn't closing after running with the --watchAll flag, and adding __fixtures__ to the lint exception list made tests fail)

* Try to fix tests on Windows

* DEBUG windows tests

* Fix windows tests

* Try more things to fix tests

* More attempts to fix windows tests

* More desperate attempts to fix windows tests

* Clean up windows fix

* Cleanup

* Update changeset

* Set Jest watchAll default to false regardless of if CI or not

* Added ESLint ignore comments to svgr.ts for new TS complaints

* Documentation

* Update docs

* Add feature/v4 to branches to run CI Tests on (Needs to be reverted before merging to main)

* Small fixes

* Refactor out generateJestConfig flag logic to reduce duplication

* Update to ESLint 8 & Supported TypeScript to >4.5.3 (#2216)

* Update ESLint to ^8.0.0, minimum Typescript to 4.5.3 & update dependencies

* Update changeset

* Fix warnings generated by updated ESLint

* Remove commands and update documentation (#2220)

* Remove commands and update documentation

* Update Readme & Changeset

* Merge main (#2225)

Merge changes to modular 3.x from main since feature/v4 was split out

* Use Config file instead of Environment Variables  (#2227)

* Use cosmiconfig to read modular configuration, while allowing Env variables to override it 

* Add configuration tests

* Change the default CDN to esm.sh

* Update documentation to reflect new configuration approach

* Use INTERNAL_ env variables to read configuration in JS files that can't call the config function

* Refactor config() logic 
Co-authored-by: Steve King <steve@mydev.co>

* Add jsx to test glob pattern (#2234)

* Add jsx to test glob pattern

* Merge main into Modular 4 (#2237)

* Merge main into Modular 34

* Sunset modular-site

* Revert "Sunset modular-site"

This reverts commit a27388b.

* Sunset modular-site  (#2238)

* Sunset modular-site & update test snapshot

* Remove requirement for Apps to be private in modualr check (#2241)

* Update lockfile

* Docs/support (#2248)

* Initial cleanup

* Add compatibility page, remove recipes/yarn

* Better markdown section depth

* update nav order

* Document package types (#2246)

* Start documenting package types

* Describe App and ESM View types

* Packages

* Views, sources and templates

* Link add command page

* Link package types in index

* Update docs/commands/add.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Update docs/concepts/package-types.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Update docs/concepts/package-types.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Link esm-views section in add page

* Update docs/commands/add.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Link app section for more info

* Update docs/concepts/package-types.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Clarify manifest -> package.json + fix incorrect description

* Add reasons why we don't support things

* Disambiguate words

* Phrase 'default export' concept better

* Update docs/concepts/package-types.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Update docs/concepts/package-types.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Update docs/commands/add.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Reword tricky sentence

* Update docs/commands/add.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Update docs/concepts/package-types.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Split long sentence

* Add all package types to configuration docs

* Various typos

* Split packge types and move template page

* Fix links to package types and fix table layout

* Slim down table

* build/start/entrypoint/template sections

* Fix configuration

* Remove list of types in documentation

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Generate nicer READMEs inside new projects / apps / views / packages (#2253)

* Start documenting package types

* Describe App and ESM View types

* Packages

* Views, sources and templates

* Link add command page

* Link package types in index

* Update docs/commands/add.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Update docs/concepts/package-types.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Update docs/concepts/package-types.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Link esm-views section in add page

* Update docs/commands/add.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Link app section for more info

* Update docs/concepts/package-types.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Clarify manifest -> package.json + fix incorrect description

* Add reasons why we don't support things

* Disambiguate words

* Phrase 'default export' concept better

* Update docs/concepts/package-types.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Update docs/concepts/package-types.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Update docs/commands/add.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Reword tricky sentence

* Update docs/commands/add.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Update docs/concepts/package-types.md

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>

* Split long sentence

* Add all package types to configuration docs

* Various typos

* Split packge types and move template page

* Fix links to package types and fix table layout

* Slim down table

* build/start/entrypoint/template sections

* Add root project README

* Add per-package READMEs + fix docs

* Lint view documentation

* Update snapshots

* Upddate app snapshots

* Update snapshots in index test

* Update app.esbuild.test snapshots

* update cmra tests

* Correct snapshots for cmra

* Update snapshots for cli.test.ts

* Remove packages README + fix all READMEs

* Add README to fixtures + update snapshots

* Update various snapshots

* Update app.esbuild.test snapshots

* Add default workspace README

* Update index snapshots

* Create odd-bees-speak.md

* Update fixture READMEs

Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>
Co-authored-by: Alberto Brusa <alberto.brusa@live.com>

* Sunset philosophy / views, write intro, fix web workers, correct templates (#2254)

* Sunset philopsophy / views, move web workers, correct templates

* Better front page

* Fix command format

* Add web workers docs

* Enhance modular-scripts Tests (#2240)

* Update tests in modular-scripts to use tmp directories instead of changing things within the repo

* Consolidate all execa calls to yarn modular under one standardised function

* Change calls to modular during tests to not run checks 

* Refactor tests for brevity, code reuse and raedability 

* Remove unnecessary build snapshots from esmVies.test

* Modify getConfig to get workspace specific configuration (#2258)

* Modify getConfig to get workspace specific configuration

* Update config docs to reflect per workspace configuration

* Document supported CRA features (#2255)

* Rename limitations + start CRA page

* Add CRA supported features

* Fix typo

* Fixes in CRA page

* Test default template tests work (#2260)

* Unify modular test command interface (#2259)

* regex -> option, package -> argument

* Windows test use --package

* Remove space that fails test

* Add debug statement

* Implement selective testing and merging with user regexes

* Update docs

* Better wording

* Fix typo

* Test selective options combinations

* modular build builds all packages

* Test selective builds

* Document behaviour of modular build

* Create green-shrimps-build.md

* Fix test docs

* various docs fixes (#2262)

* Small fixes (#2261)

* Remove unnecessary error log

* Move jest-environment-jsdom to correct package.json

* Update typescript set by CMRA

* More small fixes (#2263)

* Remove unnecessary error log

* Move jest-environment-jsdom to correct package.json

* Remove jest-environment-jsdom from root package.json

* reorder dependencies

* v4.0.2

* v1.1.1

* v4.0.0

* Update typescript set by CMRA

* Revert accidentally changed versions and bump CMRA version by major due to update TS version

* Remove feature/v4 from GitHub Action tests & introduce forgotten CMRA changeset

* Update 4.0.x release notes

* Slight changes to release notes

* Additions to release doc

Co-authored-by: Cristiano Belloni <cristiano.belloni@jpmorgan.com>
Co-authored-by: Cristiano Belloni <cristiano-belloni@users.noreply.github.com>
Co-authored-by: Sam Brown <sam.brown@jpmorgan.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants