Skip to content

Latest commit

 

History

History
201 lines (177 loc) · 8.16 KB

version.md

File metadata and controls

201 lines (177 loc) · 8.16 KB

Plan

  • alins-router - 官方路由库 (尽可能通用 能够直接使用原生js调用)
  • alins-ui - 官方ui库
  • alins-style style 标签优化 处理 提高css可用性, style 值类型声明 (能够使用reactive库配合着使用原生js使用)
  • alins-style 支持兼容性扩展
  • alins-ssr - 服务端渲染(尽可能通用 能够直接使用原生js调用)
  • 增加 变量声明和函数参数的 @reactive,增加 @static 注释
  • For 支持解构
  • For Object 支持
  • source-map 支持
  • 编译器代码重构 - 分两步编译 第一步进行jsx解析;第二部进行alins reactive; 支持 ssr
  • 运行时代码重构 - 优化内存空间占用和运行时间
  • 完善测试
  • Branch 内存占用问题
  • For 类型提示
  • Async Data 类型标注
  • alins-vsc
  • 大列表排序时移动dom元素优化性能
  • 模版语法支持 html 文件作为模版语言
  • computed 重构;dirty 标记。优化 const b = a++; 逻辑

0.0.36

  • fix for of 打包导致的问题
  • fix $attributes 属性使用响应式字符串作为值时遇到的响应式问题
  • fix $attributes 属性使用字符串无效的问题
  • 增加 JSX.Props JSX.Children 接口

0.0.35

  • alins-standalone 优化Api,使其更易用
  • fix 组件参数中 传递方法的bug
  • if、switch block 优化,现在支持jsx赋值语法
  • if、switch block 支持使用 @reactive 或者 $: 标记强制启用响应式逻辑
  • 支持 $$: shallow:
  • 生命周期优化,支持组件内使用;+ 语法糖 $remove:el,xxx();
  • fix 单属性类名 bug
  • fix computed 遇到 && || 时首次运行可能observe不到后面一个响应式数据的问题

去除过度的语法糖

  • 去除 $$body 简写
  • 去除 $$ID = $mount='#ID' 的简写
  • 去除变量命名控制响应式数据 保留注释和js label
  • $$ID => $:ID 简写

0.0.33 - 0.0.34

  • fix nodejs 环境下使用
  • fix computed

0.0.32

  • 支持 commonjs 导入 alins
  • _、$ label支持
  • static_scope label支持
  • $if $elif $else 属性支持
  • $switch $case $default 属性支持
  • $for、$async 属性支持
  • if 混合使用 switch 混合使用
  • Frag 组件支持

0.0.31

  • 去除type module
  • fix alins jsx declare
  • 删除未使用的工具函数

0.0.30

  • fix alins-standalone
  • if、switch、map语句支持 @static-scope 注释
  • fix const age1 = age ++; fix了报错,但是逻辑上不应如此使用
  • 组件支持生命周期函数
  • className 去重
  • fix: 单文件class和单文件style的优先级问题
  • fix: Array as children
  • 增加 outerHTML属性

0.0.29

  • 增加 js表达式作为事件是 $e 参数
  • 修复 for of for in 中错误的初始值的问题
  • 新增 watch: 语法糖
  • 新增 defineRenderer, useRenderer
  • 新增静态函数,跳过对函数内元素做处理 _ 前缀和 @static-scope 标记
  • store watch 支持属性链 a.b
  • fix 生命周期在branch-block中的bug

0.0.18 - 0.0.28

  • Branch 元素父子关系
  • switch case 完善
  • map 编译器
  • style 简单处理
  • v-model:直接使用动态value属性和html输入类型标签来默认处理掉,不需要有v-model的语义
  • 组件属性 reactive传递; 组件传递map的item和index的时候reactive保持
  • 使用jsx属性命名空间做装饰器 用于model
  • 命名空间做装饰器 用于event装饰器
  • 重构 skip 逻辑,按需skip节点,不对新节点进行skip
  • For、If、Switch、async 组件封装
  • For、If、Switch、async 类型声明
  • $attributes 属性 类似style的对象赋值 键可以reactive // 待继承与测试
  • show 标签,$show属性
  • model 支持 object的属性
  • alins客户端直接使用封装api
  • alins-web-compiler web侧编译器
  • alins-node-compiler web侧编译器
  • 去除 /#PURE/ comment
  • node-compiler 增加 import 'alins'
  • babel、babel-preset,webpack-loader、rollup-plugin、vite-plugin、esbuild-plugin
  • For、async组件 data数据处理,识别不到data定义 (eslint-config解决)
  • alins-cli、alins-template (base on vite、vite-plugin-alins、eslint-config)
  • 重新走一下测试脚本
  • 编译 + 运行时 结合测试
  • class支持对象
  • 与react vue 性能比较
  • 利用 MutationObserver 实现生命周期
  • if switch 的 mnr 包裹
  • 当赋值是jsx时 无需reactive
  • 函数的reactive传递 const isActive = (i: number) => naviIndex === i; isActive => ()=>isActive
  • 增加变量定义的 reactive 注解,支持static注解
  • 下划线开头的变量表示 static
  • 属性扩展运算符处理
  • class:a=true 支持
  • $src => src={src} // 简化写法
  • $mount 简化写法; $$App $$body
  • if 和 switch 优化 (没有返回jsx的if和switch不进行处理)
  • import的header没有使用到就删除掉
  • 事件简化处理 onclick={a(1)} onclick={a++} 要考虑 a(1) 返回值是函数的情况 (pure 装饰器标注的不会处理)
  • 只有 扩展属性fix;component 扩展属性加 computed
  • $ref实现
  • style 支持数字 (默认px)
  • 支持了逻辑组件的属性简写
  • 支持 使用 onclick:stop 不带事件名
  • 组件属性结构
  • 去除 .r 需要v的包裹
  • 发包脚本
  • 多层嵌套的if有问题; if switch 待重构
  • alins-compiler-web 将babel模改后直接引入 // 现在存在type="text/babel"直接babel被执行了
  • 文档 & 在线编译工具
  • 重构branch、if、switch、ctx逻辑
  • 清理编译器ctx下相关逻辑
  • create-alins 开发

fix

  • fix map 逻辑
  • fix ctx 嵌套逻辑
  • 没有用到的ctx没有被移除
  • jsx scope bug,原因是jsx转换是从最里层开始的;通过引入一个jsxNodesStack解决
  • append jsx component error
  • jsx 元素赋值也会被 computed : const x = <i onclick=()=>{i++}>11 => x.v; (利用skipReadV解决)
  • fix: jsx 直接返回jsx时map未处理的问题
  • input 类型的 value,checked 被赋值时需要reactive
  • for 时 没有处理到 index和 item的computed
  • for 时 元素相同时 index不更新
  • for 时 子元素顺序问题 {item}
    xx map 没有将文本节点选为挂载节点
  • fix: computed get set时获取任意属性都为get的问题
  • fix: if 没有 elseif和else的情况 没有else情况的ui显示异常问题
  • fix: if 组件 多层嵌套执行有问题 (anchor start指向有问题)
  • fix: branch visible判断的逻辑问题,原因在于branch visit 时没有对
  • fix: cache 节点 失效的问题,如何更新cache: 缓存的节点中有if,if节点变更导致缓存失效了(初步解决)
  • fix: If 标签之后的节点不见了 (原因:if 编译时多删除了一个)
  • class 绑定数据有bug class = {bool?'a':'b'}
  • 数组直接赋值有bug,不能更新
  • 数组 swapRows 有bug
  • create 10000rows 有bug
  • 内存泄漏的问题 导致内存占用
  • 非数组非json大数据代理问题导致的性能问题
  • fix 对象类型 Update操作时没有reactive的问题
  • fix comment reactive 标注
  • 空属性会报错
  • style={color: ${status.syntaxError ? '#f44' : 'inherit'}} 有bug
  • 修复 UpdateExpression 在jsx属性中引起循环引用的问题
    ;
  • 修复 for component 使用嵌套数据无法正确编译的bug
  • 组件属性 结构 与响应式fix
  • style:xxx 报错
  • a[x] 其中的 x不支持 .v 期望 a[x.v]
  • store 支持 数组 for
  • fix lifecycles
  • fix if直接引用for的场景 ...
  • fix $ref reactive 影响;const 转换
  • fix for-component cacheManager
  • fix: style:padding='3px 5px'
  • 重命名 $dom => $ref,$parent = $mount
  • enable attribute;
  • fix todo list 删除有问题
  • fix 注释行号比对的bug
  • fix switch cacheManager

0 - 0.0.18

初始版本