Skip to content
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 1,300 commits into from
Apr 28, 2021
Merged

merge master into minor for pre-release #1523

merged 1,300 commits into from
Apr 28, 2021

Conversation

bmomberger-bitovi
Copy link
Contributor

No description provided.

matthewp added 30 commits March 19, 2018 14:44
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
This commit improves error messaging when a parse error is encountered
in ES and CommonJS modules. Closes #1337 and #1335
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
cherifGsoul and others added 29 commits July 3, 2019 19:16
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
@bmomberger-bitovi bmomberger-bitovi merged commit cd7e9d5 into minor Apr 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants