vasille-web 5.0.0 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,9 +2,11 @@
2
2
 
3
3
  ![Vasille.js logo](https://raw.githubusercontent.com/vasille-js/vasille-js/refs/heads/v5/doc/img/logo.png)
4
4
 
5
- `SteelFrameKit` is a front-end development kit, which is developed to provide bulletproof frontends.
5
+ `SteelFrameKit` is a front-end development kit, which is developed to provide fault tolerant web applications.
6
6
 
7
- [![npm](https://img.shields.io/npm/v/vasille?style=flat-square)](https://www.npmjs.com/package/vasille)
7
+ [![npm](https://img.shields.io/npm/v/steel-frame?style=flat-square)](https://www.npmjs.com/package/steel-frame)
8
+ [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/vasille-js/steel-frame)
9
+ [![Coverage Status](https://coveralls.io/repos/github/vasille-js/steel-frame/badge.svg?branch=v5)](https://coveralls.io/github/vasille-js/steel-frame?branch=v5)
8
10
 
9
11
  ## Table of content
10
12
 
@@ -19,11 +21,11 @@
19
21
  - [How POWERFUL is SteelFrameKit](#how-powerful-is-steelframekit)
20
22
  - [Road map](#road-map)
21
23
  - [Change log](#change-log)
22
- - [5.0.0](#500)
23
- - [4.3.0](#430)
24
- - [4.2.0](#420)
25
- - [4.1.0](#410)
26
- - [4.0.0](#400)
24
+ - [5.0](#50)
25
+ - [4.0 - 4.3](#40---43)
26
+ - [3.0 - 3.2](#30---32)
27
+ - [2.0 - 2.3](#20---23)
28
+ - [1.0 - 1.2](#10---12)
27
29
  - [Questions](#questions)
28
30
 
29
31
 
@@ -92,7 +94,7 @@ All of these are supported:
92
94
  * Reactive values (observables).
93
95
  * Inline computed values.
94
96
  * Multiline computed values.
95
- * HTML & SVG tags.
97
+ * HTML tags.
96
98
  * Component custom slots.
97
99
  * 2-way data binding in components.
98
100
  * Logic block (if, else).
@@ -103,7 +105,6 @@ All of these are supported:
103
105
 
104
106
  ## Road map
105
107
 
106
- * [x] Update the `core` library to version 3.0.
107
108
  * [x] `100%` Test Coverage for core Library v3.
108
109
  * [x] Develop the `JSX` library.
109
110
  * [x] `100%` Test Coverage for the JSX library.
@@ -117,25 +118,42 @@ All of these are supported:
117
118
 
118
119
  ## Change log
119
120
 
120
- ### 5.0.0
121
+ We respect semantic versioning:
122
+ - Major version is increased when we make incompatible API changes.
123
+ - Minor version is increased when we add functionality.
124
+ - Patch version is increased when we fix bugs.
121
125
 
122
- Add support for context and dependencies injection.
126
+ ### 5.0
123
127
 
124
- ### 4.3.0
128
+ - Add support for context and dependencies injection.
129
+ - New developement direction: `fault tolerant`.
130
+ - Renamed to `steel-frame`. **[API change]**
131
+ - Removed `forward` and `backward` functions. **[API change]**
132
+ - Removed `Debug` component. **[API change]**
125
133
 
126
- Add new function `safe` which make functions safe, errors are reported automatically.
134
+ ### 4.0 - 4.3
127
135
 
128
- ### 4.2.0
136
+ - Initial version of the framework with file based routing and building scripts (`web dev` and `web build spa`).
137
+ - Reactive values naming switched to `$` prefix. **[API change]**
138
+ - `4.1` Added SSG (static site generation) as build option `web build static`.
139
+ - `4.2` Add support for inlined conditions in JSX, binary `&&` and ternary `?:` operator.
140
+ - `4.3` Add new function `safe` which make functions safe, errors are reported automatically.
129
141
 
130
- Add support for inlined conditions in JSX, binary `&&` and ternary `?:` operator.
142
+ ### 3.0 - 3.2
131
143
 
132
- ### 4.1.0
144
+ - Switch to a babel plugin to compile components code. **[API change]**
145
+ - 100% of code has been covered with unit tests.
146
+ - New developement direction: `keep it simple`.
133
147
 
134
- Added SSG (static site generation) as build option `sf build static`.
148
+ ### 2.0 - 2.3
135
149
 
136
- ### 4.0.0
150
+ - Introduces components compilation via a typescript plugin. **[API change]**
151
+ - New developement direction: `write less, do more`.
137
152
 
138
- Initial version of the framework with file based routing and building scripts (`sf dev` and `sf build spa`).
153
+ ### 1.0 - 1.2
154
+
155
+ - Initial version of core library.
156
+ - Developemnt direction: `performance-first`.
139
157
 
140
158
  ## Questions
141
159
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vasille-web",
3
- "version": "5.0.0",
3
+ "version": "5.0.1",
4
4
  "description": "The same framework which is designed to build bulletproof frontends.",
5
5
  "main": "index.js",
6
6
  "types": "./index.d.ts",
@@ -1,9 +1,10 @@
1
1
  import type { RawStyleProps } from "./spec/css.ts";
2
2
  import type { HtmlTagMap } from "./spec/html.ts";
3
- type prefixedObject<T, P extends string> = {
3
+ export type { TagEvents, TagAttrs, TagProps } from "./spec/html.ts";
4
+ export type prefixedObject<T, P extends string> = {
4
5
  [K in keyof T as K extends string ? `${P}${K}` : never]?: T[K];
5
6
  };
6
- type EventHandlers<T> = {
7
+ export type EventHandlers<T> = {
7
8
  [K in keyof T]: T[K] | [T[K], boolean | AddEventListenerOptions];
8
9
  };
9
10
  export type ClassItem = string | Record<string, boolean> | false;
@@ -133,4 +134,3 @@ export declare namespace JSX {
133
134
  wbr: HtmlInput<"wbr">;
134
135
  }
135
136
  }
136
- export {};
@@ -4,10 +4,10 @@ export interface Tag<Attrs, Events, Props> {
4
4
  events: Events;
5
5
  props: Props;
6
6
  }
7
- type TagEvents<Target> = {
7
+ export type TagEvents<Target> = {
8
8
  [K in keyof HTMLElementEventMap]: EventHandler<HTMLElementEventMap[K], Target> | undefined;
9
9
  };
10
- interface TagAttrs {
10
+ export interface TagAttrs {
11
11
  id: string;
12
12
  accesskey: string;
13
13
  autocapitalize: "off" | "none" | "on" | "sentences" | "words" | "characters";
@@ -27,6 +27,8 @@ interface TagAttrs {
27
27
  itemtype: string;
28
28
  lang: string;
29
29
  nonce: string;
30
+ part: string;
31
+ slot: string;
30
32
  spellcheck: "true" | "false" | "" | boolean;
31
33
  tabindex: number;
32
34
  title: string;
@@ -97,6 +99,7 @@ interface AAttrs extends TagAttrs {
97
99
  hreflang: string;
98
100
  type: string;
99
101
  referrerpolicy: string;
102
+ rel: string;
100
103
  }
101
104
  interface QAttrs extends TagAttrs {
102
105
  cite: string;
@@ -520,7 +523,7 @@ export interface TagEventsProps<T extends Element> {
520
523
  onwaiting?: ((this: T, ev: Event) => any) | null;
521
524
  onwheel?: ((this: T, ev: WheelEvent) => any) | null;
522
525
  }
523
- interface TagProps<T extends Element> extends TagEventsProps<T> {
526
+ export interface TagProps<T extends Element> extends TagEventsProps<T> {
524
527
  autofocus?: boolean;
525
528
  className?: string;
526
529
  nonce?: string | undefined;