1. 09 Oct, 2021 11 commits
  2. 23 May, 2019 5 commits
  3. 22 May, 2019 5 commits
  4. 21 May, 2019 2 commits
    • Tommy Yu's avatar
      Finalise changelog and readme. · 32ab4f77
      Tommy Yu authored
      32ab4f77
    • Tommy Yu's avatar
      Finishing the integration of advice apply registry · 30ee37fb
      Tommy Yu authored
      - Provide a new key to store the applied advice packages as a list of
        Requirement objects.
      - Provide significant increase in the edge case handling and the test to
        demonstrate the process.
      - The advice registry now provide a dedicated standard method for the
        application of the specified advice along with the ones found from the
        accompanied advice apply registry.
      - The advice apply registry naming standardised to accompany the main
        registry with the same name plus a '.apply' suffix.
      - This required changing of the type of the values being stored in the
        calmjs.toolchain.advice.apply registry to be of Requirement objects.
      - The toolchain advice registry may be overridden via the key
        calmjs_toolchain_advice_registry flag, which will activate both the
        specified registry and the accompanied apply registry, if any.  This
        feature is not current exposed via the default runtime, as this is
        meant as a feature for advanced low level usage, and to discourage
        incompatible sets of registries unless necessary (of course, wit the
        advice system being developed to this stage, the entire toolchain can
        be re-invoked almost through this system).
      - Made the advice setup to be invoked during the setup advice, much like
        how it was done when the set up was done via the Runtime class.
      30ee37fb
  5. 20 May, 2019 2 commits
    • Tommy Yu's avatar
      Ensure any failures in setup will clean up · fb25f2d2
      Tommy Yu authored
      - To be safe, move the setup into the try/finally block.
      fb25f2d2
    • Tommy Yu's avatar
      Implement the AdviceApplyRegistry and use case · ccf5a06d
      Tommy Yu authored
      - This provide a new registry for packages to declare which optional
        advice to apply whenever it is selected as a source package for use
        with a toolchain.
      - This new declaration should not change any existing classes, but users
        at the package level will benefit from not having to manually apply
        these optional advices through every different API but is now standard
        and reusable across a system.
      - Other packages can declare their use.
      - Document the AdviceRegistry and the intended use case.
      - The current implementation (will be changed) is to simply append the
        found entries from the registry to any present advice packages that
        have been specified in the spec.
      - What should happen is that these found entries should not be applied
        if they have been applied by the package name and under extras.  The
        current implementation does not already track what's been done, so a
        new method off the registry should be provided to manage this process
        in a more comprehensive manner.  A new spec key may be needed to track
        the actual extras that have been applied (which will be turned into a
        set based on the name of those requirements and then the default
        process will filter based on that).
      - The goal is to allow spec functions to be implemented in such a way
        that may be declared harmlessly, and only activate for a specific
        toolchain, yet also allowed to be disabled for another through
        additional extras which may be supplied by some argument.
      ccf5a06d
  6. 16 May, 2019 4 commits
    • Tommy Yu's avatar
      Correction to a misplaced method · 3d7c1a70
      Tommy Yu authored
      - Given that this method is now used in the base class, it really should
        be implemented there.
      - Correcting the defect introduced in 68e49cf1
      3d7c1a70
    • Tommy Yu's avatar
      Clean up wording in the debug log entries. · be6d71a1
      Tommy Yu authored
      - This is done so that the wording more reflect closer to the steps that
        are being taken in relation to the application of package level
        advices.
      be6d71a1
    • Tommy Yu's avatar
      Move advice package setup to Toolchain · 7a2e4e8a
      Tommy Yu authored
      - This previous set up was focused on the Runtime as this feature was
        originally done to enable the runtime chain.  There was consideration
        to provide a way to specify this for all packages, however if the
        setup and application of these rules were done at the Runtime class it
        would not have worked.
      - The fix is simply to move that code inside the Runtime class out and
        place that in the standard execution method.  Leave the assignment
        inside the runtime, remove the setup advice as that indirection is no
        longer necessary.
      7a2e4e8a
    • Tommy Yu's avatar
      Clarify some warning/error log messages. · 9ce17ee2
      Tommy Yu authored
      - The path is not so much found, but they are resolved through the
        package system and so they may or may not reflect what actually is on
        the system.  Have the message reflect this fact.
      9ce17ee2
  7. 14 Feb, 2019 3 commits
  8. 01 Feb, 2019 2 commits
    • Tommy Yu's avatar
      Changelog for #55 · e3ee39b5
      Tommy Yu authored
      e3ee39b5
    • Tommy Yu's avatar
      Means to enable/disable post_mortem for a Runtime · d0754a70
      Tommy Yu authored
      - Provide an assignable function/staticmethod to a defined attribute for
        toggling whether the post_mortem can be invoked.
      - This is now disabled as a default state - only the CalmJSRuntime has
        the enabled version defined.
      - Also ensure that args and kwargs are passed for the __init__ of the
        CalmJSRuntime class and the pdb_post_mortem.
      - All these changes address a potential security/usability issue for
        downstream users of these classes, where if arguments are not passed
        or handled correctly into the __call__ of a default Runtime instance,
        the debugger should not be inadvertently be invoked (even though the
        Runtime classes are intended as a high level, near-command line API,
        it shouldn't be written in a way that exclude lower level invocation
        use cases).
      d0754a70
  9. 19 Dec, 2018 6 commits