DynamicProto-JS

Generates dynamic prototype methods for JavaScript objects (classes) by supporting method definition within their "class" constructor (like an instance version), this removes the need to expose internal properties on the instance (this) which results in better code minfication and therefore improved load times for your users.

MIT License

Downloads
2.4M
Stars
23
Committers
5

Bot releases are hidden (Show)

DynamicProto-JS - 1.1.11 Latest Release

Published by MSNev 9 months ago

Changes

  • #85 [BUG] v1.1.10 packaging is incorrect
    • The v1.1.10 packaging was incorrect, this release fixes the packaging issue.
    • The v1.1.10 release was missing the tools/rollup folder, which is required for the rollup packaging process.

What's Changed

Full Changelog: https://github.com/microsoft/DynamicProto-JS/compare/1.1.10...1.1.11

DynamicProto-JS - 2.0.3

Published by MSNev 9 months ago

Blocks a medium level prototype pollution vulnerability.

Changes

  • #81 [Main] Task 26377610: [DynamicProto] Investigate possible security issue with prototype pollution
    • This removes the identified methods for polluting the prototype chain by
      • adding additional checks to the _isDynamicCandidate() and _populateProtype() functions.
      • Using Object.create(null) for internal objects to avoid prototype pollution.

What's Changed

Full Changelog: https://github.com/microsoft/DynamicProto-JS/compare/2.0.2...2.0.3

DynamicProto-JS - 1.1.10

Published by MSNev 9 months ago

Blocks a medium level prototype pollution vulnerability.

Changes

  • #82 [Main] Task 26377610: [DynamicProto] Investigate possible security issue with prototype pollution
    • This removes the identified methods for polluting the prototype chain by
      • adding additional checks to the _isDynamicCandidate() and _populateProtype() functions.
      • Using Object.create(null) for internal objects to avoid prototype pollution.

What's Changed

Full Changelog: https://github.com/microsoft/DynamicProto-JS/compare/1.1.9...1.1.10

DynamicProto-JS - 2.0.2

Published by MSNev over 1 year ago

Changes

  • #78 [Packaging] 2.0.1 does not include the removeDynamic.ts script

What's Changed

Full Changelog: https://github.com/microsoft/DynamicProto-JS/compare/2.0.1...2.0.2

DynamicProto-JS - 2.0.1

Published by MSNev over 1 year ago

Changes

  • #73 [Main] Fix npm pack and publish issues

What's Changed

Full Changelog: https://github.com/microsoft/DynamicProto-JS/compare/2.0.0...2.0.1

DynamicProto-JS - 1.1.9

Published by MSNev over 1 year ago

Changelog

  • #75 [Master] Fix npm pack and publish issues
    • Additional fixes for #61 Exclude files from published package

What's Changed

Full Changelog: https://github.com/microsoft/DynamicProto-JS/compare/1.1.8...1.1.9

DynamicProto-JS - 2.0.0

Published by MSNev over 1 year ago

Breaking Changes from Version 1.x

  • Removed ES3 / IE8 support
  • ES5 Object.defineProperty() is required during runtime.

Changes

  • Version 2.x development moved to main branch which is now the default branch, Version 1.x is still maintained from the master branch
  • Removed private internal getGlobal() and hasOwnProperty() functions to provide better minification when bundled with other packages that also implement these functions by using @nevware21/ts-utils as the dependency.

What's Changed

Full Changelog: https://github.com/microsoft/DynamicProto-JS/compare/1.1.8...2.0.0

DynamicProto-JS - 1.1.8

Published by MSNev over 1 year ago

1.1.8 (Feb 27th, 2023)

  • #61 Exclude files from published package
  • #65 Bump external library Sinon.JS to newer version which does not use eval
  • #64 Internal Task 17133116: Add Policheck exclusion file
  • #62 Add --no-sandbox to test runs

What's Changed

Full Changelog: https://github.com/microsoft/DynamicProto-JS/compare/1.1.7...1.1.8

DynamicProto-JS - 1.1.7

Published by MSNev about 2 years ago

Changelog

  • #55 Update and add legal compliance notices and license terms
  • #56 Semmle warning help
  • #57 [Bug] Corner case issue when extending the same "Class" name from different components

What's Changed

Full Changelog: https://github.com/microsoft/DynamicProto-JS/compare/1.1.6...1.1.7

DynamicProto-JS - 1.1.6

Published by MSNev over 2 years ago

Changelog

  • #50 [IE8] Fix in 1.1.5 only handles 2 levels of dynamically nested classes

Provides an additional more comprehensive fix for IE8 (ES3) compatibility, So that nested dynamicProto() classes will now work.

Note: When running in IE8 ALL of the base classes MUST also use dynamicProto() or be defined so that the prototypes of the base classes can be looked up.

What's Changed

Full Changelog: https://github.com/microsoft/DynamicProto-JS/compare/1.1.5...1.1.6

DynamicProto-JS - 1.1.5

Published by MSNev over 2 years ago

Changelog

  • #47 [IE8] The _checkPrototype always fails on IE in IE8 mode

This restores IE8 (ES3) compatibility, which was broken in a previous version.

IE9+ was unaffected by the break.

DynamicProto-JS - 1.1.4

Published by MSNev over 3 years ago

Changelog

  • #36 v1.1.3 postinstall requires rush to be installed

1.1.3 Changelog

There are no functional (code) differences between v1.1.2 and v1.1.3, both issues below are related to the build and packaging pipelines only.

  • #33 Version 1.1.2 has extraneous dependencies such as findup-sync (Build Only)
  • #34 Task 9901543: Remediate security vulnerabilities (Build only)
DynamicProto-JS - 1.1.2

Published by MSNev over 3 years ago

Changelog

  • #31 [BUG] _checkPrototype function loops indefinitely when calling Invoke-WebRequest cmdlet against a docs.microsoft.com webpage
DynamicProto-JS - 1.1.1

Published by MSNev over 3 years ago

Changelog

  • #28 [ES6] TypeError: xxx is not a function or TypeError: DynamicProto [XXXX] is not in class heirarchy of [Object]
  • Added RELEASES.md file
DynamicProto-JS - 1.1.0

Published by MSNev about 4 years ago

  • [Feature Request] Performance optimization - ability to keep/set instance level function to avoid dynamic proxy lookup #24
DynamicProto-JS - 1.0.1

Published by MSNev about 4 years ago

  • Add sideEffects field to package.json #22
DynamicProto-JS - 1.0.0

Published by MSNev over 4 years ago

  • Update version to major release based on stability
  • Remove unused peerDependency for tslib

NPM version 0.5.3 is the same code as v 1,0.0

DynamicProto-JS - Fix issue causing long running script error on IE7/8

Published by MSNev over 4 years ago

Changelist

  • #19 getBaseFuncs() usage of _getObjProto() is causing a long running script (it's broken) when running Internet explorer in 7/8 mode.
  • #16 The dynamicRemove() rollup is not removing methods with default arguments or is using the spread operator
DynamicProto-JS - Add Rollup plugin to enable removal of Stub functions

Published by MSNev almost 5 years ago

Added rollup plugin to enable the removal of stub functions, required to enable declaration (*.d.ts) files to match the runtime resulting class definition.
By using the rollup plugin this will remove the tagged stub functions during packaging with rollup.

  • Fixup postinstall issue
DynamicProto-JS - Add Rollup plugin to enable removal of Stub functions

Published by MSNev almost 5 years ago

Added rollup plugin to enable the removal of stub functions, required to enable declaration (*.d.ts) files to match the runtime resulting class definition.
By using the rollup plugin this will remove the tagged stub functions during packaging with rollup.