Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hibiki v0.3.0 Release #4

Merged
merged 32 commits into from
Feb 14, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
41eee78
minor updates to support new bulma component library. 'unwrap' attri…
sawka Feb 6, 2022
0f8c30f
add hibikiversion attribute to library -- allow them to require a cer…
sawka Feb 6, 2022
1da6aab
fix bug with false values on class attributes
sawka Feb 7, 2022
d4c213f
checkpoint, bulma control library
sawka Feb 7, 2022
93a56b4
ChildrenVar.filter, special invoke expression for filtering nodes by …
sawka Feb 7, 2022
3110ade
make if, if-break, condition attribute consistent in how they handle …
sawka Feb 7, 2022
9a1016f
After testing, change ChildrenVar.empty to ChildrenVar.size. empty d…
sawka Feb 7, 2022
dff82dd
remove unused InjectedAttrsObj.styleMap, and add merge function
sawka Feb 7, 2022
d482899
big behind the scenes change. children of custom components are now …
sawka Feb 8, 2022
5e0febd
fix mobx issue where defaults/define-vars was updating state during r…
sawka Feb 8, 2022
40c317d
move welcome message and source code link from nodes.tsx to main hibi…
sawka Feb 8, 2022
25644fc
only call event.preventDefault for clicks/submits when href/action at…
sawka Feb 8, 2022
d8e1b1d
Re-License Hibiki HTML under MPL 2.0 (OSI approved)
sawka Feb 8, 2022
15546ba
updates to hibikihtml homepage
sawka Feb 8, 2022
947498c
Next version will be 0.3.0 (because of license change)
sawka Feb 9, 2022
b84180f
Parse define-vars, datacontext, and componentdata blocks once in html…
sawka Feb 9, 2022
98aefe7
fix bug where component local event handlers did not see context vars…
sawka Feb 9, 2022
746d872
components now fire 'mount' event internally (can be caught with defi…
sawka Feb 9, 2022
dd64a33
grammar change to allow functions to receive named call params plus d…
sawka Feb 9, 2022
dd77adf
added new spaceship '<=>' operator for comparisons. added fn:upperca…
sawka Feb 10, 2022
118a514
new fn:compare, lots of options for comparing hibiki values, locale, …
sawka Feb 10, 2022
65debac
added fn:sort (with option to sort as references). also add a lot mo…
sawka Feb 10, 2022
686c5c1
fn:slice can now slice an array and return references to the original
sawka Feb 11, 2022
26f3758
really technical change that allows sub-references to be created from…
sawka Feb 11, 2022
6499d65
add slice and sortexpr parameters to fn:sort
sawka Feb 11, 2022
28aed35
fix 'if' attribute on h-children (foreach is not allowed). make noat…
sawka Feb 11, 2022
f649c26
bugfix, check fn:sort#sortexpr against noattr
sawka Feb 11, 2022
0b8fa70
remove dev build externals -- not worth the build complexity
sawka Feb 11, 2022
a34d7d9
small cleanups on playground/tutorial. no longer use children.all, j…
sawka Feb 11, 2022
12912e0
pass parentHtmlTag through all react nodes to eliminate rediculous re…
sawka Feb 11, 2022
a2159d4
clean up core library, removed redundant nodes
sawka Feb 12, 2022
6ccd7a9
update playground to link to versioned hibiki js (easier testing/depl…
sawka Feb 14, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Re-License Hibiki HTML under MPL 2.0 (OSI approved)
  • Loading branch information
sawka committed Feb 8, 2022
commit d8e1b1d282d2366ae34a3428da2233721c0ae2fd
419 changes: 373 additions & 46 deletions LICENSE

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions NOTICE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Copyright (c) 2021-2022 Dashborg Inc

This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.
12 changes: 3 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -240,17 +240,11 @@ Want to learn more? Check out the [Interactive Tutorial](https://playground.hib

---

## Open Source-ish
## Open Source

The source code for Hibiki HTML is available on GitHub at at: https://github.com/dashborg/hibiki . It is licensed under a modified form of the MIT license (similar in spirit to the Confluent open source license) which allows you to use Hibiki HTML without restrictions for almost all personal or commercial projects.
The source code for Hibiki HTML is available on GitHub at at: https://github.com/dashborg/hibiki . It is licensed under the Mozilla Public License v2.0 -- https://mozilla.org/MPL/2.0/ .

You just can't create a SaaS service offering a hosted version of Hibiki HTML or one that allows 3rd party users or customers to use the Hibiki HTML language or tags to offer customizability for an existing product or service (see [LICENSE](https://github.com/dashborg/hibiki/blob/main/LICENSE)).

Note that you are always free to copy the Hibiki source and minified builds to your own server, CDN, or hosting service.

The Hibiki HTML license is *not* OSI approved.
I know this is an ideological deal-breaker for some, but if you have a purely practical concern, I'm happy
to offer a proprietary license that satisfies your legal department.
Mozilla has an excellent [FAQ](https://www.mozilla.org/en-US/MPL/2.0/FAQ/), but basically this license allows you to use Hibiki HTML in any project (personal, commercial, or open-source). The only restriction is if you modify any of the *Hibiki HTML source files* you must make the source code of those changes available.

## Credits

Expand Down
6 changes: 6 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

## v0.2.1

Hibiki HTML is now licensed under the OSI approved MPL v2 (Mozilla Public License)!
More information here: https://www.mozilla.org/en-US/MPL/2.0/FAQ/

Lots of under the hood changes to make writing UI component libraries
easier and more straight-forward.

* 'unwrap' attribute to remove an enclosing tag and just render its children as a fragment
* allow &lt;define-vars&gt; to receive context as a text node
* dev builds report a version number
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"name": "hibiki",
"version": "0.2.0",
"version": "0.2.1",
"description": "Hibiki HTML",
"main": "dist/hibiki.js",
"repository": "https://github.com/sawka/hibiki",
"author": "Michael Sawka <[email protected]>",
"license": "See LICENSE in LICENSE",
"license": "MPL-2.0",
"devDependencies": {
"@babel/cli": "^7.16.0",
"@babel/core": "^7.16.0",
Expand Down
14 changes: 4 additions & 10 deletions playground/tutorial/t-intro.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ <h4 class="title is-4">Hibiki Introduction</h4>
<li><a href="#section3"><b>Backend Control</b></a>
<li><a href="#section4"><b>No Scaffolding</b></a>
<li><a href="#section5"><b>Libraries and Components</b></a>
<li><a href="#section6"><b>Open Source-<i>ish</i></b></a>
<li><a href="#section6"><b>Open Source</b></a>
<li><a href="#section7"><b>Support &amp; Help</b></a>
</ul>
<h4 class="title is-4">Easy to Get Started</h4>
Expand Down Expand Up @@ -82,19 +82,13 @@ <h4 class="title is-4">Libraries and Components</h4>
importing ReactJS components.
</p>

<h4 class="title is-4">Open Source-<i>ish</i></h4>
<h4 class="title is-4">Open Source</h4>
<p>
<a class="content-anchor" name="section6"></a>
The source code for Hibiki HTML is available on GitHub at at: <a href="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/dashborg/hibiki" target="_blank">https://github.com/dashborg/hibiki</a>. It is licensed under a modified form of the MIT license (similar in spirit to the Confluent open source license) which allows you to use Hibiki HTML without restrictions for almost all personal or commercial projects.
The source code for Hibiki HTML is available on GitHub at at: <a href="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/dashborg/hibiki" target="_blank">https://github.com/dashborg/hibiki</a>. It is licensed under the OSI approved Mozilla Public License v2.0 -- <a href="https://mozilla.org/MPL/2.0/" target="_blank">https://mozilla.org/MPL/2.0/</a>.
</p>
<p>
You just can't create a SaaS service offering a hosted version of Hibiki HTML or one that uses the Hibiki HTML language to
offer 3rd party customizability for an existing product or service (see <a href="https://github.com/dashborg/hibiki/blob/main/LICENSE" target="_blank">LICENSE</a>).
</p>
<p>
The Hibiki HTML license is <i>not</i> OSI approved.
I know this is an ideological deal-breaker for some, but if you have a purely practical concern , I'm happy
to offer a proprietary license that satisfies your legal department.
Mozilla has an excellent <a href="https://www.mozilla.org/en-US/MPL/2.0/FAQ/" target="_blank">FAQ</a>, but basically this license allows you to use Hibiki HTML in any project (personal, commercial, or open-source) without triggering viral copyleft restrictions. The only restriction is if you modify any of the *Hibiki HTML source files* you must make the source code of those changes available.
</p>

<h4 class="title is-4">Support &amp; Help</h4>
Expand Down
4 changes: 4 additions & 0 deletions src/datactx.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import * as mobx from "mobx";
import {v4 as uuidv4} from 'uuid';
Expand Down
4 changes: 4 additions & 0 deletions src/dbctx.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import * as mobx from "mobx";
import * as DataCtx from "./datactx";
Expand Down
4 changes: 4 additions & 0 deletions src/error.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import {v4 as uuidv4} from 'uuid';
import type {DataEnvironment} from "./state";
Expand Down
4 changes: 4 additions & 0 deletions src/hibiki-grammar.ne
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# Copyright 2021-2022 Dashborg Inc
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.

@{%

Expand Down
4 changes: 4 additions & 0 deletions src/hibiki-module.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import {sprintf} from "sprintf-js";
import * as DataCtx from "./datactx";
Expand Down
4 changes: 4 additions & 0 deletions src/hibiki-parser.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import nearley from "nearley";
import hibikiGrammar from "./hibiki-grammar.js";
Expand Down
4 changes: 4 additions & 0 deletions src/hibiki.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import * as React from "react";
import * as mobx from "mobx";
Expand Down
4 changes: 4 additions & 0 deletions src/html-parser.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import camelCase from "camelcase";
import type {HtmlParserOpts, PathType, AutoMergeExpr, AutoFireExpr} from "./types";
Expand Down
4 changes: 4 additions & 0 deletions src/jsfuncs.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import * as mobx from "mobx";
import type {JSFuncType, HibikiVal} from "./types";
Expand Down
4 changes: 4 additions & 0 deletions src/modules.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import {isObject, unpackPositionalArgs, stripAtKeys, getHibiki, fullPath, getSS, setSS, smartEncodeParam, unpackArg, unpackAtArgs, base64ToArray, callHook, validateModulePath} from "./utils";
import {sprintf} from "sprintf-js";
Expand Down
4 changes: 4 additions & 0 deletions src/nodes.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import * as React from "react";
import * as mobxReact from "mobx-react";
Expand Down
4 changes: 4 additions & 0 deletions src/nodeutils.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import * as mobx from "mobx";
import * as React from "react";
Expand Down
4 changes: 4 additions & 0 deletions src/request.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import {v4 as uuidv4} from 'uuid';
import type {RtContext} from "./error";
Expand Down
4 changes: 4 additions & 0 deletions src/state.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import * as mobx from "mobx";
import md5 from "md5";
Expand Down
4 changes: 4 additions & 0 deletions src/types.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import type {HibikiState} from "./state";
import type {RtContext, HibikiError} from "./error";
Expand Down
4 changes: 4 additions & 0 deletions src/utils.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
// Copyright 2021-2022 Dashborg Inc
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

import * as mobx from "mobx";
import {Hibiki, HandlerPathType, HibikiVal, HibikiValObj, JSFuncStr} from "./types";
Expand Down