design-first / system-runtime Goto Github PK
View Code? Open in Web Editor NEWA JavaScript library that runs systems
Home Page: https://designfirst.io/systemruntime/
License: Apache License 2.0
A JavaScript library that runs systems
Home Page: https://designfirst.io/systemruntime/
License: Apache License 2.0
/build
folder shouldn't be included in the git source repo since the artefacts from the build pollute the diffs. Consider to:
build
to .gitignore
filebuild
folder when you're publishing to npm (you might exclude the src
folder in your .npmignore
)When creating a system with API (i.e. runtime.system('name_of_the_system')
), the state of the created system is none instead of active.
Set log level of many messages to 'debug' instead of 'info'.
$db.find could send invalid result when searching on collection.
Invalid check on enumeration type of number elements.
RuntimeLog is not private and it is exported when using runtime.bundle
API.
Add optional _id property in type definition.
Remove error message when a schema has a duplicate value in _inherit
property.
We clean now this property to remove the duplicated values.
APIs will be simplify as follow:
DataBase.system
, DataBase.subsystem
, System.main
, System.ready
and System.sync
Add default property for type definition.
example: { "name": "address", "type": "object", "schema": { "city": { "type": "string", "mandatory": false, "default": "Paris" } } }
reset
type that could not been send.value
parameter of collection event is now the real object, not its id.find
API can now search in collection.Avoid to log a warning message if the value of a link is ""
.
Remove subsystem
property from systems.
Because this property is not used, we will remove it and assure also compatibility with old systems that have this property.
When uninstalling a bundle, we must insure that no core components are remove (ex: channel component).
mode="dev"
on the script
tag that load System Runtime, we can drag / drop systems directly in the browser to test them live.Remove runtime.update
API.
Warnings are send when overriding existing core schema/models with APIs ( metamodel.schema
or metamodel.model
).
Add the ability to override / clear a collection by passing an array.
Examples:
vador.children([])
: clear the children collection,vador.children(['luke'])
: override the children collection andvador.children([this.require('luke')])
: override the children collection.Add text type.
Add:
runtime.bundle(): string
: export the current system in a bundle (a stringifyed JSON object).SystemRuntime.bundle(): string
: export the system in a bundle (a stringifyed JSON object).When searching on a collection that could contains a boolean, $db.find
throws an error.
add type check on the first parameter of a collection API. Example: vador.children("luke")
needs to send a warning.
For a System Designer example, I have created some Web Component-like widgets:
=> we need to generate id DOM compliant, i.e. that can not begin with a number.
We do not need autoStart parameter from runtime.install API: start method is now called by the $systemInstalled event send by the channel component.
To be more compliant with OSGi specifications, we need to add:
runtime.update(id: string, data: JSON)
: update a system given its id. It will reload the system from its path. We can also add a data parameter to update the system from this data.SystemRuntime.update(data: JSON)
: update the system from this data.Check that db component send correctly all CRUD events.
If users add by mistakes some spaces when referencing a type, force trim of type when analyzing models.
Remove dist
directory from npmignore file to be able to install System Runtime library (the client-side version) from npm.
did you mean "system-runtime.json"?
Due a validation issue we can not set a date property.
Step to reproduce the bug:
debugger
instruction in your code,debugger
,this('runtime')
in the console,Why ? There seems to have a regression in the last version of Chrome.
When using $db.find API to search on multi criteria (i.e. with array of criteria), result could contains duplicated result.
Before we have this signature for runtime.system API:
runtime.system(name: string)
now:
runtime.system(params: any)
we can:
example:
runtime.system({ '_id':' 'internalId', 'name' : 'my_system_name', 'version' : 1234, 'description: 'some infos about the system...' })
mode="design"
on script
tag to enable remote designing of the running system.Split System Runtime core systems in many subsystems.
Due to many issue with Saucelabs, we remove its configuration.
Now when db component send an insert, update or remove event:
When defining callback on structure properties event, we get an error.
Create a Code of Conduct.
When designing a remote client application with System Designer, the remote application loaded by System Designer does not load jQuery.
It is because the application is load inside an Electron app.
Safari 10.1 seems to send now an error when accessing to the localstorage
object when loading a local file.
note: a workaround is to activate local file access from the developer tool menu.
There is a bug when installing a system server side system:
runtime: error when trying to call the method 'install' on component 'runtime' (class 'Runtime'): system.status is not a function
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.