-
Notifications
You must be signed in to change notification settings - Fork 2
Completing the initial release #1
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
Merged
Merged
Conversation
This file contains hidden or 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
- Make use of the standardized __calmjs__.modules location and provide a way to generate the mapping of externals for the webpack configuration file. - Also a minor rename of _list to _map to match the actual data type.
- This only defines the first generated __calmjs__ module; still need to determine a way in the generated module that will extend the map with subsequently defined/included modules.
- Ensure that all the names are properly accounted for so they can be explicitly excluded using externals.
- Remove the confusing source map term from discussion of mapping of module sources to their paths.
- This will allow the generation of standalone artifacts containing only modules from specific packages, without webpack complaining about missing modules and failing and letting it know where to look for them in the root environment.
- Ensure that this really works; this was created a while ago, however delayed the addition due to various finalizing work done involving externals.
- Have the spec generation build the expected configuration bits first.
- Change how the bootstrap loader module gets loaded/passed through, in an attempt to allow chaining of separate webpack artifacts for the calmjs named module loading to work. - This at least get it to a point where chaining of defined modules can sort of work, but if and only if the initial module doesn't have any dynamic imports. - The settings for whether or not and which bootstrap module gets generated is fully determined by the respective mappings - the conditions are documented as logging messages. - The changed APIs completely breaks all the integration tests - fix in a subsequent (probably squashed to this) commit.
ad5bb91 to
2487e9b
Compare
- The final step required to get around the lack of circular imports of an external module which may or may not exist; if the external calmjs loader module does not already exist in the root object, reference to it will not be available for the first webpack thus breaking whatever dynamic import that it may need. - The fix is to move this to a separate loader module, and modify all imports to that instead; the module loader will also try to load from the external version as a fallback, so that both the internally declared modulenames and ones available already will both be loadable from within a webpack. A separate entry point will load from both of these and export the resulting mess. - Provide all the test cases for all the things that were changed for this to work, and tested various combination of usage, including the chaining of multiple calmjs module loader webpack artifacts.
- Using the artifact through CommonJS require/loader will also require the global module from npm, and the result loaded to __calmjs__. This feature is not supported, but implemented for completion. - Mostly stopping webpack 3+ from (correctly) aborting the build due to the incompleteness of the configuration file.
- Make it easier to produce these uglified artifact bundles.
- Ensure that the updated module layout is added back to interrogation module. - Also test that the output generated by the framework is also wrap back into the thing. - Updated the artifacts in the examples for the testing to work.
- So that it would be quicker and easier to pick out any breaking changes that may have happened with any differences when an unexpected webpack version is encountered in the local environment. - Broke the setup out into the testing.utils submodule.
- If we use an explicit path to some webpack binary without being in a current working directory (or the loaded module.paths does not lead to an actual webpack module/package), Node.js will not be able to import webpack for the config thus the compilation will fail. The fix was already done previously, but this was not properly tested. - Also, in calmjs>=3.0.0 there will be this method that will help do the locating of node_modules through the BaseDriver instance, so that bit of now duplicated code can be removed.
- Provide the invocation of the test runner through the 'calmjs karma' runtime.
- The probe function renamed to better reflect what it does.
- Visitors are now walkers, so follow suite. - Update the various API calls to calmjs.parse
- Make use of the hook - Should really use the Unparser directly, however the hook argument is not passed correctly by the es5 unparser.
- Ensure that any imports that are not aliased will be warned about before webpack either fails or somehow succeeds (because it found it in node_modules automatically, but this isn't exactly portable),
- Also show why this is a good idea (due to other sources not being parsed, which while correct, may not be what user wanted to be forced to keep using).
- As the code need to be applied _inside_ the webpack, the relevant loader must be used. - Using a fork of the loader because it can generate html reports without dying in a fire like the official one. - karma-runner/karma-coverage#123 - karma-runner/karma-coverage#278
- Retain that warning message.
- These are now "transpiled" on demand. - Also rearranged how the spec is processed internally here. - Also note that not using a single bundle is no longer supported, but still remaining available internally through the low level setup API.
- This is mostly to allow reuse by other implementations if required, but it must be done through partials.
- Tests now have full access to loader module integration, however it does require the full loader plugin workflow through the toolchain and so this is done in a manual invocation in an out of band manner.
- nose compatibility fixes (even though it should no longer be used). - ensure that the required packages also set up for the karma integration tests.
- Restrict coverage report on appveyor - Bump Node.js versions to ensure LTS is tested.
- Correct the generation of the file names such that they are normalized for the platform they are for.
- Matching test output to them.
14fe0c4 to
5aaa2fa
Compare
- Define the relevant base functions to return the expected results for the respective artifact registries. - Only the generation of a complete artifact is supported at this time, however the definitions here serve as the starting point for dependents that may require more specific generation methods. - Also corrected a deprecated flag.
- Also dropping explicit installation of calmjs.parse as that is part of dependency of calmjs now. - Switch back to using pypy3 as support for 3.5 is default on Travis
- The testing was not completed such that the incorrect assignment of this key into the spec was done. Verify that this value is set as documented and the log message, i.e. only applicable if calmjs_compat mode was explicitly disabled.
- Provide the interface to these flags as advance optional arguments as they both have rather specific and lower level use case that may result in incompatibility. However as these can be useful features for building standalone artifacts, they should be exposed. - Improved the process of setting the entry point from the alias in the toolchain assemble method so that a clear abort is triggered with the nature of the error logged. - Naturally, include the various required integration tests to show that the introduced flags work as expected. - Includes other minor toolchain runtime text improvements/corrections.
- Verify that all the feature set works in one go - Fixes the lack of dynamic imports, ensure that it is loaded. - Fixes the lack of loader registry for proper aliasing.
- Provide a more complete list of use cases and rough guide on how this all works in preparation of the release. - Updated changelog. - Updated trove classifiers.
- Adapted and merged in related documentation from calmjs.rjs. - Corrected legacy wording in some logging output.
- Ensure that calmjs.dev is not imported at the wrong level, which will fix this issue - Clean up the test harnesses a bit better.
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.