![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
I’m not planning to contribute to this project for a while.
If you are interested in being a contributor, please let me know.
Thanks,
Volkan.
______ ______ _____ ______ __ __
/\ == \ /\ __ \ /\ __-. /\ ___\ /\ "-./ \
\ \ __< \ \ __ \ \ \ \/\ \\ \ __\ \ \ \-./\ \
\ \_____\ \ \_\ \_\ \ \____- \ \_____\ \ \_\ \ \_\
\/_____/ \/_/\/_/ \/____/ \/_____/ \/_/ \/_/
badem
is an abstract component composer that does not require a DOM.
badem
is in its early stages; so anything in its implementation can change.Until it hits
version 1.0
, I’ll be liberally introducing breaking changes, please keep that in mind and fix your versions in your package.json if you depend onbadem
in your apps.Once
badem
hitsversion 1.0
, its API will stabilize, and the changes will be more backwards-compatible, as I will follow the Semantic Versioning 2.0.0 standards.
This repository is a part of the Byte-Sized JavaScript VideoCasts.
_ __
|_) _|_ _ __ (_ o _ _ _|
|_) \/ |_ (/_ __) | /_ (/__(_|
/ | _. _. (_ _ ._ o ._ _|_
\_| (_| \/ (_| __) (_ | | |_) |_
|
»» bytesized.tv ««
It is a compilation of short (around ten minutes) monthly screencasts about JavaScript and related technologies.
badem
badem
started as a thought experiment:
“What if you have to create components in an extremely-restricted environment where there is no DOM or
window
?”
In that kind of an environment, you have to create a higher-order mounter, that just creates a tree-like hierarchy and delegates the actual instantiation and initialization of the components “elsewhere” [1].
[1]: “elsewhere” can be anything: A custom TV operating system, an IOC, a native application, a “Façade” to actual real-life components, like a robot’s arm.
Currently, I’m experimenting how to integrate badem
to smartface.io, so that you can render a smartface.io UI just by tracing a JSON descriptor.
Defining how the UI will render and behave declaratively in a JSON file opens on many possibilities.
One of these possibilities is the ability to integrate a custom WYSIWYG designer to the code:
So the designer will generate a JSON instead of a large code-behind autogenerated code.
This approach has several advantages:
badem
-compatible JSON.badem
JSON is an almost identical representation of the UI, it is a lot easier to spot out bugs and regressions.This declarative programming is User Interface as Code, which is (much better and) diagonally different from a “user-interface-generated code”.
Install using NPM:
npm install badem --save
dist
FolderThere are different badem
distributions for various environments:
require( 'badem/dist/nodejs' )
in a Node.JS environment.require( 'badem/dist/js' )
to be used in a JavaScript (ES6+) environment.I will add more distribution formats later.
Here’s how you mount components with badem
:
const log = console.log;
// Using the Node.JS distribution:
const mount = require( 'badem/dist/nodejs' ).mount;
const store = require( './store' );
const app = require( './app.json' );
mount( store, app )
.then( () => log( 'All should have been done by now!' ) )
.catch( () => log( 'Oh poop!' ) );
See the ./examples
folders for additional details and usage examples.
For development, you’ll need a recent version of Node.JS and NPM.
You will need the current version of Node.JS with all the bells and whistles — You can install it from nodejs.org.
Here are the helper npm scripts that you can run via npm
:
npm test
: Executes the unit tests.npm run lint
: Checks whether the source JavaScript is well-formed.npm run build:node
: Generate a Node.JS distribution inside the ./dist
folder.npm run build:js
: Generate a JavaScript (ES6+) distribution inside the ./dist
folder.npm run build
: Executes all of the build:*
actions.src
: The source files live here.dist
: Once you run the build script, distribution bundles will be placed here.bin
: Scripts that are mostly used by npm
.CHANGELOG.md
: A log of what has been done since the last version.CODE_OF_CONDUCT.md
: Tells the collaborators to be nice to each other.README.md
: This very file..babelrc
: Used for development; configures babel
..eslintrc
: Used for development; configures eslint
..travis.yml
: Used for CI; configures Travis.webpack.node.config.js
: Helps webpack
to bundle a Node.JS distribution inside the ./dist
folder.Any help is more than appreciated.
If you want to contribute to the source code, fork this repository and create a pull request.
In lieu of a formal style guide, take care to maintain the existing coding style.
Also, don’t forget to add unit tests for any new or changed functionality.
If you want to report a bug; or share a comment or suggestion, file an issue.
For bug reports and suggestions, please file an issue.
MIT-licensed. — See the license file for details.
We are committed to making participation in this project a harassment-free experience for everyone, regardless of the level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
FAQs
badem is an abstract component composer that does not require a DOM.
The npm package badem receives a total of 3 weekly downloads. As such, badem popularity was classified as not popular.
We found that badem demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.