npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@jiess/core

v5.0.2

Published

基于javascript的配置式渲染库,同时支持vue2,vue3和react

Downloads

49

Readme

核心库 jiess-core

@jiess/plus 版本迭代记录

1.2.0-beta.x

  • 新增:子组件与父组件共享上下文的拓展组件
  • 拓展:对Midder类追加订阅,广播的能力
  • 优化:$if内置属性在JiessComponet的使用逻辑
  • 底层:对底层的渲染逻辑进行了优化,更加健壮

1.2.x

  • 优化:对Midder追加tag,以后订阅覆盖先订阅的原则,防止多操作时重复添加订阅

1.3.0-beta.x

  • 响应式的整体重构,优化结构和性能
  • 移除不常用的API: JPromise

1.3.1

  • 修复一个和插槽相关的BUG
  • 其他一些细微优化

1.3.2

  • 新增内置属性 $render 用于定制化渲染:如实现 react 环境使用 vue 组件

1.3.3

  • 追加 $props 字段,用于存放外部传入的完整数据
  • 修复了内置key算法造成的BUG

1.3.4

  • 从使用习惯来考虑,移除 $props 字段,将完整的传入数据放在第二个形参

1.3.5

  • 将 radio,checkbox,select 统一起来,通过 options 配置生成子项

1.3.8

  • 将关联性较弱的Midder模块移出到@jiess/utils中

1.3.9

  • 优化处理各环境下默认插槽和children的关系

1.3.0-beta.x

  • 解决获取原框架props参数变动的问题,从而实现如ant.Form.Item下封装表单组件的能力

1.4.0-beta.x

  • 新增对 uni-app【vue2环境】的支持
  • 新增对 uni-app【vue3环境】的支持
  • 新增对 react-native 的支持

1.4.1

  • 对插槽进行优化,如果没对插槽指定默认参数,则不进行任何渲染(原来会渲染成空div)
  • 追加JiessFragment空组件,解决顶层元素动态更新的问题

1.4.3

  • 解决JiessFragment无法支持多层嵌套的问题
  • 追加内置属性$injectPJR,可以观察注入父级JsRender的过程
  • 优化vue2环境根节点的判断,展开后大于两个子元素,才自动追加外层
  • 插入子集的元素,强制同步上下文,使插入元素正确响应式更新
  • 对于数据注入provide/inject的全面优化和测验

1.4.4

  • 进一步对provide/inject进行优化
  • 增加vue2环境下的构建响应式的方法
  • 修复hookData与生命周期自动关联的问题
  • 优化vue2环境下事件的提取方案:排除on前缀,并且将首字母改成小写,其余部分的字符串保持不变
  • 修复了vue2环境下空数据过滤的产生的属性更新的bug
  • 对普通节点追加生命周期观察,并返回相应ref等参数
  • 移除对Jiess组件节点的生命周期观察
  • 移除内置属性$injectPJR
  • 对计算属性的赋值取值增加了value约束

1.4.5

  • 对响应式的进一步优化
  • 生命周期回调钩子允许为异步函数
  • 对观察器的触发机理进行重构,实现了手动观察响应式数据时,对最终结果值的调整

1.4.6

  • 追加add方法添加元素时按权重排序的能力 $weight
  • 在setup中获取当前组件的name,可用于中介者标记
  • 优化对元素注入key的算法

1.4.7

  • 内部梳理,规范化内部结构
  • 重写diff算法,用于判定响应式新旧值的更新
  • 对响应式赋值自循环对象的比对结果进行优化
  • 提供delete移除属性并触发响应式观察的能力

1.5.0

  • react环境下采用函数式组件构建基础原框架组件
  • react环境下的ref节点获取采用回调式
  • vue3环境下加入指令构建的功能
  • props仅参与数据类型的校验,不再过滤数据
  • 对Jiess组件赋予的Jiess观察器,直接穿透组件,不做处理
  • $watchEffect在同步模式下,提供第一时间的变动参数

1.5.1

  • 修复了Jiess观察器对Jiess组件透传后,$if在使用时不生效的问题
  • vue和react环境中均使用模拟forceUpdate来更新页面
  • 对$isReactive进行算法优化
  • 对Observe观察触发器增加forceUpdate属性,用于自定义diff算法

1.5.2

  • 修复对全局注册的Jiess组件赋予Jiess观察器,关联的穿透问题

1.5.4

  • 移除和父级共享上下文的能力(该功能使用场景较少,且较大的增加复杂度)
  • 增加对setup异步函数的支持,大幅度提升开发体验
  • 对else和elseIf的优化和调试
  • 对数据注入,以及插槽插入元素,动态更新元素的上下文进行完美绑定
  • 移除$render,一是函数式react与vue的节点获取不统一,会造成冗余代码;另一方面可使用ref替代

1.5.5

  • vue2环境中,is属性从attrs中读取,而不再从props中读取
  • _static_为前缀的key,在Jiess构建过程中,直接应用该key

1.5.6

  • vue2中不允许使用is传递参数,所以JiessComponent中使用component接收渲染的Jiess组件
  • 数据校验的优化,对各种状态下的数据校验进行了验证

1.5.7

  • 对底层进行了优化,无功能性的变动

1.5.8

  • 初始注册jiess,不带param参数时的问题修复
  • 统一三种技术栈对class的定义:
    • 在vue3中用class定义类名
    • 在vue2和react中用className定义类名
    • 在Jiess中用class或className均可直接定义类名

1.6.0

拆分jiess实例

为支持按需引入,将jiess实例上的工具方法拆分出来,以工具函数的形式导出:

  • 使用时需要以导入的形式引入工具
  • 配合自动导入插件,可实现无导入使用

移除内置全局注册

  • 在以往安装Jiess时,会自动在上下文注入jiess实例,现已移除,可手动注入
  • 在以往的vue环境中,会自动注册全局组件,现已移除,可手动注册JiessComponent实现

其他迭代点

  • 解除$component对注册组件的限制,实现了对vue和react组件的全局注册
  • vue3的JiessComponent对指令的支持
  • add加入的元素为Promise类型,则取出真实值,实现异步加载
  • Observe观察器增加了动态矫正功能
  • children和childs合并处理,不再按权重二选一
  • vue2插槽可直接作用于JsRender节点

1.6.1

  • 安装Jiess时需要提供两个参数,并移除Jiess实例的$param
    • 参数一:合并于Jiess实例中
    • 参数二:动态注入组件上下文中

1.6.2

  • Jiess实例获取的优化
  • children属性与childs集合合并时的优化
  • Jiess实例中增加缺省属性$render,可用于接管createElement的渲染

1.6.3

  • 移除框架中针对taro和uni兼容的旧代码
  • 响应观察器中,result结果值的矫正
  • package.json导出的简化
  • this.add的链式处理
  • 合并子元素的优化处理

1.6.4

  • Observe观察器优化,在初始化时会获取初始值,从而取代绑定回调获取初始值
  • 对$show的优化,解决与display:none的冲突

1.6.5

  • 进一步对$show进行优化,当值为undefined时,该节点不做隐藏显示处理

1.6.6

  • 组件props数据校验的优化:即针对JiessRef数据传参时的特殊处理
  • 优化观察器对响应式数据的数据矫正,支持直接通过第三参提供函数了

1.6.7

  • 追加了 isRef 校验,可以校验组件传入的数据是否为JiessRef数据类型
  • 对响应式观察时默认值的优化,使得异步矫正时,能够第一时间呈现defaultValue

1.6.8

  • 在异步矫正响应式数据时,对defaultValue以及默认值的优化
  • 对beforeUpdate和updated增加零时生命周期的能力,该回调仅执行一次,就立即销毁

1.6.9

  • 对响应式更新后的旧节点的响应关系进行销毁处理(含子组件中的所有子节点),防止旧节点中的响应式再次执行
  • 针对一个观察者多处使用(不建议),可配置allowDestory属性,手动控制是否允许响应式节点观察器被销毁
  • 从新启用$render内置属性,只是其概念与旧版不一样,提供一个函数,用于定制化构造JsRender配置对象
  • 对children属性,子元素,default插槽中的节点进行梳理,打通了节点中使用children响应式

1.6.10

  • 针对1.6.9的问题的紧急修复

1.6.11

  • 观察者函数$val接收的值不为响应式数据的灵活处理方案
  • 当Jiess组件直接使用$if:false时,导致的异常保存处理

1.6.12

  • 对react环境下的基础组件进行优化
  • react环境下的基础组件引入useTransition,并将isPending, startTransition放入组件上下文
  • 在Jiess组件中追加了methods和data两个数据,分别用于暴露方法和数据

1.6.13

  • 关于子元素渲染的权重,三者取其一: default > children > childs
  • 移除mergeChildren,子元素不再合并处理(即三选一),权重关系同上
  • 对插槽的细节优化,以及多条件验证
  • 修复了JIESS_IS的入口验证的BUG

1.6.14

  • 组件的入参注入到上下文中,方便data和methods中获取
  • 对于非响应式数据,初始化式也会执行矫正器,使数据矫正更统一
  • 对JsRender和Context中的内置方法和属性统一前缀短横线

1.6.15

  • 打包的统一处理

2.0.0

  • 移除核心语法this.render,完全使用配置式;向低代码迈进
  • 原来render函数的首参后子元素,统一由children接管
  • Jiess组件插槽的定义由this.slot(),变为$slot:插槽名
  • 总结:本次迭代重新回到以配置为核心的主导思想,代码更加纯粹

2.0.1

  • 移除观察者中的响应式修正correct
  • 原来$val定义响应式观察着,变为$proxy:响应式对象
  • $ref定义的响应式数据,默认观察其value
  • 多层响应式嵌套观察的重复叠加优化

2.0.2

  • $set的优化,可以加入任意类型的数据
  • 一些综合性的优化

@jiess/core 版本迭代记录

5.0.0

  • 重新启用 @jiess/core 库,但原记录中的代码和当前代码完全不同
  • 库名更换,将原@jiess/plus库更新为当前的@jiess/core
  • 原观察模式model字段,改为flush

5.0.1

  • 全面自循环移除函数,从而受控区域不再有自循环函数的困扰
  • 全面使用clone自循环移除函数,从而受控区域不再有自循环函数的困扰
  • 响应式创建不再需要深度控制

5.0.2

  • 新增ref响应式对象同步$ref节点方案
  • 各种更新,与@jiess/[email protected]一致