Skip to content
Snippets Groups Projects
Verified Commit b674da9b authored by Volker Schukai's avatar Volker Schukai :alien:
Browse files

chore: commit save point

parent ad0aae3b
No related branches found
No related tags found
No related merge requests found
Showing
with 1115 additions and 51 deletions
...@@ -48,7 +48,7 @@ include $(MAKEFILE_IMPORT_PATH)jsdoc-json.mk ...@@ -48,7 +48,7 @@ include $(MAKEFILE_IMPORT_PATH)jsdoc-json.mk
include $(MAKEFILE_IMPORT_PATH)gitignore.mk include $(MAKEFILE_IMPORT_PATH)gitignore.mk
include $(MAKEFILE_IMPORT_PATH)color.mk include $(MAKEFILE_IMPORT_PATH)color.mk
include $(MAKEFILE_IMPORT_PATH)version.mk include $(MAKEFILE_IMPORT_PATH)version.mk
include $(MAKEFILE_IMPORT_PATH)nodejs.mk include $(MAKEFILE_IMPORT_PATH)node.mk
include $(MAKEFILE_IMPORT_PATH)terminal.mk include $(MAKEFILE_IMPORT_PATH)terminal.mk
#include $(MAKEFILE_IMPORT_PATH)target-go-fetch-licenses.mk #include $(MAKEFILE_IMPORT_PATH)target-go-fetch-licenses.mk
include $(MAKEFILE_IMPORT_PATH)target-deploy-tool.mk include $(MAKEFILE_IMPORT_PATH)target-deploy-tool.mk
...@@ -62,6 +62,7 @@ include $(MAKEFILE_IMPORT_PATH)target-update-makefiles.mk ...@@ -62,6 +62,7 @@ include $(MAKEFILE_IMPORT_PATH)target-update-makefiles.mk
include $(MAKEFILE_IMPORT_PATH)target-help.mk include $(MAKEFILE_IMPORT_PATH)target-help.mk
#include $(MAKEFILE_IMPORT_PATH)target-go-build.mk #include $(MAKEFILE_IMPORT_PATH)target-go-build.mk
include $(MAKEFILE_IMPORT_PATH)target-node-test.mk include $(MAKEFILE_IMPORT_PATH)target-node-test.mk
include $(MAKEFILE_IMPORT_PATH)target-node-release.mk
include $(MAKEFILE_IMPORT_PATH)target-git.mk include $(MAKEFILE_IMPORT_PATH)target-git.mk
include $(MAKEFILE_IMPORT_PATH)target-init-standard.mk include $(MAKEFILE_IMPORT_PATH)target-init-standard.mk
include $(MAKEFILE_IMPORT_PATH)target-variable.mk include $(MAKEFILE_IMPORT_PATH)target-variable.mk
......
# Changelog
All notable changes to this project will be documented in this file.
## [2.0.0] - 2022-08-08
- New structure in the repo
- Remove namespace functionality
- Switching the tests to esbuild
- Actualization of the documentation template
- New URL of the documentation
- Bug fix typeOf (constructor name was recognized wrong)
- Removal of the built version of the library
## [1.31.0] - 2022-02-07
## Added
- [new promise domReady and windowReady](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/116)
## [1.30.0] - 2022-02-05
## Added
- [new class DeadMansSwitch](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/115)
## [1.29.3] - 2022-01-23
## Fixed
- [CSSStyleSheet polyfill throws an error](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/113)
## [1.29.2] - 2022-01-22
## Fixed
- [CSSStyleSheet polyfill throws an error](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/113)
## [1.29.1] - 2022-01-07
## Fixed
- [TypeError: element.addNode is not a function](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/112)
## [1.29.0] - 2021-12-29
## Added
- [new class DeadMansSwitch](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/111)
- [new function fireCustomEvent](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/110)
- [extends CustomerElement.getSlottedElements() with parameter name](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/109)
## [1.28.1] - 2021-12-12
## Added
- [new function fireCustomEvent](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/108)
## [1.28.0] - 2021-12-11
## Added
- [new data-monster-select-this attribute](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/105)
- [Node.toString()](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/107)
## Changed
- [add rootReference to buildTree ](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/106)
## [1.27.0] - 2021-12-06
## Added
- [extends Updater for manual update bindings](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/102)
- [new function findClosestByClass](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/104)
## Changed
- [refactoring updater with internalSymbol](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/103)
## [1.26.1] - 2021-12-02
## Fixed
- [themed templates are not found from the shadowroot](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/101)
## [1.26.0] - 2021-12-02
## Added
- [new class Worker](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/95)
- [new class NodeRecursiveIterator](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/97)
- [new class Node](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/98)
- [new class NodeList](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/99)
- [new function buildTree](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/100)
## Fixed
- [only one attribute is replaced with indexed path](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/96)
## [1.25.0] - 2021-11-13
## Added
- [new class FocusManager](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/93)
- [new class ResourceManager](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/92)
- [new class Resource, Link, Stylesheet, Data and Script](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/91)
- [new class UUID](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/89)
## Changed
- [optimization of random](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/90)
## [1.24.0] - 2021-11-13
## Added
- [new class WriteError](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/79)
- [new transformer commands nth, first, last and nth-last](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/78)
- [add Proxyobserver.setObject](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/80)
- [transform: new debug, to-base64, from-base64, path-exists and optimzed default command](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/84)
- [new function trimSpace](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/86)
## Changed
- [changeover to internalSymbol and uniform symbols and keys](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/81)
- [optimization of the datasources and the restapi](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/82)
- [optimization attribute monitoring](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/85)
- [Formatter: marker in marker](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/88)
## [1.23.0] - 2021-10-28
## Added
- [add the processing of slotted elements](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/76)
## Changed
- [datasource should work with proxy data](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/77)
## [1.22.0] - 2021-10-25
## Added
- [new DataSource classes](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/75)
## [1.22.0] - 2021-10-23
## Fixed
- [package.json](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/74)
## [1.21.0] - 2021-10-22
## Added
- [new class processing](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/73)
## [1.20.2] - 2021-10-19
## Fixed
- [the method getClone is not called for objects with this method.](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/72)
## [1.20.1] - 2021-10-19
## Fixed
- [the integration of class instances into empty arrays throws an exception](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/71)
## [1.20.0] - 2021-10-18
## Fixed
- [closest cannot be used, because closest is not correct for slotted elements](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/70)
## [1.19.0] - 2021-10-16
## Added
- [new method hasNode to check if a node is included](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/69)
## Fixed
- [value===NaN is always false](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/68)
## [1.18.0] - 2021-10-11
## Added
- [option can be specified as DataURI](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/64)
- [MediaType class](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/65)
- [DataURI class](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/66)
- [toBinary & fromBinary functions](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/67)
## [1.17.2] - 2021-10-09
## Fixed
- [the diff function evaluates arrays incorrectly](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/62)
## [1.17.1] - 2021-10-09
## Fixed
- [diff throws an error at zero values](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/61)
## [1.17.0] - 2021-10-07
## Changed
- [In the templates of the buildmap function there should also be the possibility to specify parent values.](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/60)
## [1.16.1] - 2021-09-29
## Fixed
- [Uncaught TypeError: (0 , logging_namespace_namespaceObject.assignToNamespace) is not a function](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/59)
## [1.16.0] - 2021-09-27
## Changed
- documentation
- build scripts
## [1.15.3] - 2021-09-20
### Fixed
- [connectedCallback can be called more often and setTimeout prevents checking](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/57)
## [1.15.1] - 2021-09-13
### Fixed
- [TypeError: t.getElementById is not a function](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/56)
## [1.15.0] - 2021-09-13
### Added
- [when changing the option attribute, the options should also change](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/50)
- [new PROPERTY_KEY_INTERNALDATA internals](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/52)
## Changed
- [improvement of the prox handling in the proxobserver](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/55)
- [move observedAttributes to customelements](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/54)
- [optimization of the extends handling in distinction to Object.assign](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/53)
- [change from Monster.assignToNamespace to assignToNamespace an import](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/51)
## [1.14.1] - 2021-09-12
### Fixed
- [control and optimize customelement](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/49)
## [1.14.0] - 2021-09-12
### Added
- [control and optimize customelement](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/49)
## [1.13.0] - 2021-09-06
### Added
- [classes for localization and management of translations](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/48)
## [1.12.0] - 2021-09-05
### Added
- [a class to format texts](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/47)
## [1.11.1] - 2021-09-05
## Changed
- [improvement of the entry points of the libraries](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/46)
## [1.11.0] - 2021-09-04
## Changed
- [conversion from babelify to webpack](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/44)
## [1.10.3] - 2021-09-01
## Changed
- [older browsers have a problem with the proxy object](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/43)
## [1.10.2] - 2021-08-31
## Changed
- [optimizations for old browsers](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/42)
## [1.10.0] - 2021-08-25
### Added
- [add extend function](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/35)
- [new method fireEvent](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/38)
## Changed
- [shadowRoot should be optional](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/36)
### Fixed
- [improve code coverage](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/40)
- [an empty object does not lead to an output](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/29)
### Removed
- [the updater class replace the handle class](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/34)
## [1.9.0] - 2021-08-17
### Added
- [create the possibility to bind form fields to the datset](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/30)
- [new attribute method to change tokens](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/31)
- [new function isSymbol and validateSymbol](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/32)
## Changed
- [Pipe should call callbacks in context](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/33)
## Fixed
- [an empty object does not lead to an output](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/29)
## [1.8.0] - 2021-08-07
### Added
- [new Monster.DOM.Updater](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/25)
- [add tojson to transformer](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/27)
### Changed
- [the validate functions now return the validated value](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/24)
- [introduce DOM constants](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/26)
## [1.7.0] - 2021-08-07
### Added
- [new Monster.DOM.CustomElement](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/20)
- [new Monster.DOM.Theme](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/21)
- [new Monster.Types.getType](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/22)
- [new Monster.Data.buildMap](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/23)
## [1.6.0] - 2021-07-29
### Added
- [new function getGobal()](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/15)
- [new Monster.DOM.Template](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/16)
- [new Monster.Type.RandomID](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/19)
- [new method Monster.Util.Pathfinder::deleteVia()](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/18)
### Fixed
- missing imports in monster.js
## [1.5.0] - 2021-07-06
### Added
- [new Monster.Data.Transformer](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/9)
- [new Monster.Data.Pathfinder](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/9)
- [new functions Monster.Types.isInstance() and Monster.Types.validateInstance()](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/12)
### Changed
- [The class Monster.Types.Object is now called Monster.Types.Base](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/11)
## [1.4.0] - 2021-07-04
### Added
- [new Monster.Types.Queue](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/6)
- [new Monster.Types.UniqueQueue](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/6)
- [new Monster.Types.Stack](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/7)
- [new Monster.Types.validateInteger](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/8)
- [new Monster.Types.isInteger](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/8)
- [new Monster.Util.Pathfinder](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/9)
### Changed
- [ensure that an object is not informed of the same change more than once](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/5)
## [1.3.0] - 2021-06-30
### Added
- new class Monster.Util.Comparator
- new class Monster.Constraints.AbstractConstraint
- new class Monster.Constraints.AndOperator
- new class Monster.Constraints.OrOperator
- new class Monster.Constraints.Invalid
- new class Monster.Constraints.Valid
- new class Monster.Constraints.IsObject
- new class Monster.Constraints.IsArray
### Changed
- the return value of TokenList.replace() is now this
- change observer tags from `Set` to `TokenList`
## [1.2.0] - 2021-06-30
### Added
- Monster.Types.TokenList
## [1.1.0] - 2021-06-28
### Added
- Monster.Types
- Monster.Util
- Monster.Math
This diff is collapsed.
# Monster # Monster
Monster is a lightweight, robust and easy-to-use library with modest ambitions. A modern, efficient and flexible JavaScript library for building user interfaces.
Monster relies on proven concepts mixed with many new Javascript concepts.
The library relies on modern features such as classes, WeakRef,
WeakMaps, proxies or the MutationObserver interface, to name a few.
Monster integrates easily into your existing websites without taking over Monster integrates easily into your existing websites without taking over
everything. everything.
...@@ -17,43 +23,12 @@ One design target is to reach the shiny sun with as little Javascript as possibl ...@@ -17,43 +23,12 @@ One design target is to reach the shiny sun with as little Javascript as possibl
Monster was built with ES6 modules and uses [import](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/import) Monster was built with ES6 modules and uses [import](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/import)
and [export](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export). and [export](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export).
There is a version in the `/dist` folder that was built via [webpack](https://github.com/webpack/webpack) and
thus supports all browsers that are compatible with [ES5](https://caniuse.com/es5).
For some functions you need additional [polyfills](#polyfill). For some functions you need additional [polyfills](#polyfill).
## Installation ## Installation
`npm install @schukai/monster` `npm install @schukai/monster`, `yarn install @schukai/monster` oder `pnpm install @schukai/monster`
## CDN
```
<!DOCTYPE html>
<html>
<head>
<title>HTML, CSS and JavaScript demo</title>
</head>
<body>
<p>Hello Monster <span id="version"></span>!</p>
<script type="module">
import {
Monster
} from 'https://unpkg.com/@schukai/monster@1.31.0/dist/modules/monster.js';
let id = document.getElementById('version');
id.innerHTML = Monster.getVersion();
</script>
</body>
</html>
```
`nomodule` for backwards compatibility
```
<script type="module" src="https://unpkg.com/@schukai/monster@1.31.0/dist/modules/monster.js"></script>
<script nomodule src="https://unpkg.com/@schukai/monster@1.31.0/dist/monster.js"></script>
```
### Polyfill ### Polyfill
We do try to work around some browser bugs, but on the whole we don't use polyfills and feature detection. We do try to work around some browser bugs, but on the whole we don't use polyfills and feature detection.
...@@ -61,24 +36,14 @@ We do try to work around some browser bugs, but on the whole we don't use polyfi ...@@ -61,24 +36,14 @@ We do try to work around some browser bugs, but on the whole we don't use polyfi
However, many functions can be mapped via [polyfill.io](https://polyfill.io/) and thus the compatibility can be increased. However, many functions can be mapped via [polyfill.io](https://polyfill.io/) and thus the compatibility can be increased.
``` ```
<script id="polyfill" src="" <script id="polyfill" src="https://polyfill.io/v3/polyfill.min.js?features=Array.from,Array.isArray,Array.prototype.entries,Array.prototype.fill,Array.prototype.forEach,Array.prototype.indexOf,Array.prototype.keys,Array.prototype.lastIndexOf,Array.prototype.map,Array.prototype.reduce,Array.prototype.sort,ArrayBuffer,atob,DataView,document,DocumentFragment,Element,Event,globalThis,HTMLDocument,HTMLTemplateElement,JSON,Map,Math.log2,Number.isInteger,Object.assign,Object.defineProperty,Object.entries,Object.getOwnPropertyDescriptor,Object.getPrototypeOf,Object.keys,Promise,Reflect,Reflect.defineProperty,Reflect.get,Reflect.getOwnPropertyDescriptor,Reflect.setPrototypeOf,Set,String.prototype.endsWith,String.prototype.matchAll,String.prototype.padStart,String.prototype.startsWith,String.prototype.trim,Symbol,Symbol.iterator,WeakMap,WeakSet"
crossorigin="anonymous" crossorigin="anonymous"
referrerpolicy="no-referrer"></script> referrerpolicy="no-referrer"></script>
```
### Compatibility
if the global name Monster, is already used by another component, the following variable can be used to adapt the name of the component.
```
__MonsterRootName__="MyMonster"
``` ```
After that, all classes are accessible via `MyMonster`. For example `MyMonster.getVersion()`.
## Documentation ## Documentation
To check out docs and examples, visit [monsterjs.org/en/doc/latest/](https://monsterjs.org/en/doc/latest/). To check out docs and examples, visit [monsterjs.org/en/doc/monster/](https://monsterjs.org/en/doc/monster/).
## Questions ## Questions
...@@ -92,14 +57,14 @@ issue. Issues not conforming to the guidelines may be closed immediately. ...@@ -92,14 +57,14 @@ issue. Issues not conforming to the guidelines may be closed immediately.
## License ## License
Copyright © 2021 schukai GmbH Copyright © 2022 schukai GmbH
[AGPL](https://www.gnu.org/licenses/agpl-3.0.de.html) [AGPL](https://www.gnu.org/licenses/agpl-3.0.de.html)
you can also purchase a commercial licence You can also purchase a commercial licence.
## Changelog ## Changelog
Detailed changes for each release are documented in Detailed changes for each release are documented in
the [CHANGELOG](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/blob/master/packages/monster/CHANGELOG). the [CHANGELOG](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/blob/master/application/CHANGELOG).
File moved
File moved
File moved
File moved
File moved
File moved
File moved
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment