-
Notifications
You must be signed in to change notification settings - Fork 521
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
merge master into minor for pre-release #1523
Merged
Merged
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
This makes it so that we can detect ES modules in AMD bundles and properly set the `__esModule` flag, so that when the Babel require is called it properly detects the dependency as an ES module and circular deps work. Fixes stealjs/steal-tools#957
Detect circular ES modules in AMD bundles
The base_test.js tests will not have access to it.
Improve error messages on parse errors
When a dependent module throws during module initiation we should see that there is an `originalErr` and use its stack trace rather than creating a new Error without the original stack trace as part of it.
Prevent removing stack trace when a dependent module throws.
This prevents buildConfig from accidentally being applied during development. Also refactors npm-convert just a little bit. Closes #1373
Prevent buildConfig from being applied in development
"Late" config is config that is set not part of the loading process but stuff that is set later (like internally within steal-tools). This should not be resaved because it is not part of a package's own configuration and should not be reflected in production.
Don't save the package.json of config set "late"
When a `load` is part of an npm package and that npm package contains `babelOptions`, use those to derive the final configuration. Otherwise use the global `steal.loader.babelOptions` values. Fixes #1372
Derive babelOptions from the pkg when available
This fixes the case where a SyntaxError occurs in the non-root module. Unfortunately the error message doesn't contain line/column information, so the best we can do is insert the URL into the stack trace so that it's the first thing devs see when they look. This also prevents the parent module's codeframe from appearing. We don't show a codeframe at all because we don't know the actual location of the syntax error. Closes #1378
Makes SyntaxErrors in child modules work
This adds a new internal extension to steal that handles tree shaking. The algorithm roughly goes: * During babel transpilation we determine if a module only contains re-exports. * If so, the module is marked as tree shakable. * We determine which exports are used by parent modules and remove any exports that are not. * Any time a module imports a child marked as tree shakable we check if it has new used exports. * If so we delete it from the registry and redo the instantiate, transpile, execute steps. This change requires no special configuration if any kind. Closes #1381
The tests are failing with "The environment you requested was unavailable". In the past this was related to the appium version. The parameters in this commit came from the saucelabs configurator, I tried to introduce as little changes as possible, but some of the old parameters were not available anymore (like the iOS version)
The iOS version the tests targeted initially is no longer available on Saucelabs. Newer versions change the Safari Stack Trace, breaking the test. We'll have to figure out how to get this functionality working again later.
Use a stricter RegExp to detect System.register modules
With this version we prevent eslint to read files it cannot parse
Fix security vulnerability introduced by eslint<4.18.2
Include filename in duplicate import error message
Migrate to use Xenial in Travis
Support the forward slash behavior in pkg.main
This brings ES module detection more in line with how CJS detection works. Ideally we would unify the 3 module format detections. This would take more work than what this PR does, this is a quick fix. The AMD detection is the most robust but is part of looking for `require()` deps. It would take some major refactoring to make it work for our other use-cases. So this works for now. Closes #1510
ES module detection, remove strings before removing comments
Import rewrites before npm normalization
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.
No description provided.