-
Notifications
You must be signed in to change notification settings - Fork 142
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
Simplify build #342
Merged
Merged
Simplify build #342
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Up to now, we've always run our regression suite first under Node and then under Phantom (and now Chrome). In 3 years this has cost me about 20 hours in build configuration headache and has caught maybe one bug. As we look ahead to simplifying the overall build, I'm eliminating this again. Once we're done cleaning house, I'd be open to reintroducing this and suspect it'd take a different form
I absolutely love power-assert, but b/c it's tied up with babel, I'm going to remove it for now until I figure out our next compiler
Change all coffee to JS while we're at it
The reason for this is it's not a great idea to have the safe/ tests assign `td` to the current version and the unit/ tests to rely on the previous release version. Way too confusing/error-prone IMO
If you move off of browserify, you may also be able to eliminate the need to preemptively create the generated and dist directories. (Only browserify fails to create the necessary directory structure. babel, rollup and webpack all create any necessary directories themselves.) Assuming typescript is also that way, you can eliminate the postclean script, and thus also the mkdirp dep. |
More accurate / less variety. Can shorten up the name later.
This doesn't "just work" with ES classes
this caught a => {} bug in td.explain too
Wrote a teenytest plugin to basically filter each test into "unit" vs not. If the test lives in test/unit/…, then `td` is set to the npm release so they can use a known good version of the lib for mocking. If the test lives in test/safe then `td` is set to `src/index` so the working copy can be tested. This lets us run a single combined `npm test` and also simplifies our code coverage report into one combined one
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Interested in experimenting with moving away from babel+browserify to typescript+rollup, but our build & devDeps are so absurdly complex that I threw in the towel last time. The goal of this PR is to significantly slim down our exposure to various devDeps and build steps by consolidating and eliminating stuff that the tdjs build is doing.
test/unit
andtest/safe
tests, so that it's clear whethertd
means "known version of tdjs you can use to mock things" or "the current working copy being tested", respectivelyregression/
's test fixtures totest/safe
regression/typescript
totest/typescript
regression/src
totest/safe
. This is a hugely manual pain in the ass, as one might expect.