Skip to content

Conversation

@metatoaster
Copy link
Member

No description provided.

metatoaster and others added 10 commits June 27, 2017 12:12
- 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.
@metatoaster metatoaster force-pushed the calmjs3 branch 3 times, most recently from ad5bb91 to 2487e9b Compare December 14, 2017 02:58
@calmjs calmjs deleted a comment from coveralls Dec 14, 2017
@calmjs calmjs deleted a comment from coveralls Dec 14, 2017
@calmjs calmjs deleted a comment from coveralls Dec 14, 2017
- 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.
@metatoaster metatoaster force-pushed the calmjs3 branch 2 times, most recently from 14fe0c4 to 5aaa2fa Compare January 9, 2018 09:36
- 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.
@metatoaster metatoaster merged commit 4971d3d into calmjs:master Jan 12, 2018
@metatoaster metatoaster deleted the calmjs3 branch August 20, 2018 23:38
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.

1 participant