Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
27419a9
build: 修复 Node 22+ 下构建与测试无法执行的问题
Sep 22, 2026
e853df1
build: 升级 Angular 17 -> 18
Sep 22, 2026
58431bb
build: 升级 Angular 18 -> 19
Sep 22, 2026
17e2817
build: 升级 Angular 19 -> 20
Sep 22, 2026
e2c32de
feat: 迁移到 zoneless 变更检测并将 @Input/@Output 改为 signal input/output
Sep 22, 2026
3bcfd0e
feat: 支持 @if / @for / @switch 内建控制流
Sep 22, 2026
f68255c
feat: 新增 bootstrapPage,支持直接启动 standalone 组件作为页面
Sep 22, 2026
f875632
feat: 页面组件全部迁移到 standalone,去掉每页的 NgModule
Sep 22, 2026
414cf90
build: 升级 miniprogram-api-typings 到 4.1.3
Sep 22, 2026
a100729
build: 升级 miniprogram-api-typings 到 5.2.3
Sep 22, 2026
14ff34b
build: 把 cyia-ngx-devkit 内联到仓库,去掉 overrides 强拉版本的 hack
Sep 22, 2026
98612e7
docs: 补充 standalone 页面 / typings 升级 / devkit 内联的说明
Sep 22, 2026
53921fe
build: 升级 Angular 20 -> 21
Sep 22, 2026
2bc5378
build: 升级 Angular 21 -> 22
Sep 22, 2026
1ab337c
docs: 补充 Angular 21 / 22 升级记录
Sep 22, 2026
9017d9b
test: 补 changeComponent 注入逻辑的测试,并修掉空更新块会崩的问题
Sep 22, 2026
0b0ffe2
fix: changeComponent 改用 AST 定位组件,修掉组件被静默跳过不注入的问题
Sep 22, 2026
465bd51
feat: 支持同文件多组件,各自产出独立模板与元数据
Sep 22, 2026
923017d
docs: 记录「同一组件被多 entry 注册导致产物静默残缺」这个已知问题
Sep 22, 2026
83920b9
build: 引入 vite + @analogjs/vite-plugin-angular,为替换 webpack 做准备
Sep 22, 2026
a0e47b8
feat(vite): 打通 Vite 构建链路(入口 + Angular AOT + 模板注入)
Sep 22, 2026
fcf8a78
docs: 记录 Vite 迁移进度与剩余工作
Sep 22, 2026
2f999df
feat(vite): 接入 wxml / json / wxss 资产产出
Sep 22, 2026
a9c8ebf
feat(vite): 补齐 library 模板与 assets 产出,达成与 webpack 的产物对等
Sep 22, 2026
bc58481
feat(vite): 产出 app.js require 列表与 app.wxss 全局样式
Sep 22, 2026
80bba82
feat(vite): watch 模式明确报错而非静默产出,更新迁移文档
Sep 22, 2026
a3b4719
feat(vite): watch 模式打通(含 watch 期间新增入口)
Sep 22, 2026
036f4c2
feat(vite): 注册 application-vite builder,Vite 链路正式可用
Sep 22, 2026
9a03795
test(vite): chunk 数量守卫,并确认 manualChunks 不需要移植
Sep 22, 2026
f59b13a
docs: 记录 Vite 迁移完整状态与移除 webpack 的最后阻塞点(karma)
Sep 22, 2026
7aaef52
feat(karma-vite): karma 测试链路改用 Vite 打包,不再依赖 webpack
Sep 22, 2026
1796c12
docs: 记录 karma-vite 打通与移除 webpack 的完整路径(已无阻塞)
Sep 22, 2026
918747f
fix(vite): 补上 fileReplacements 与 stylePreprocessorOptions 透传
Sep 22, 2026
9ddd7ca
test(vite): fileReplacements 改成真正的端到端验证
Sep 22, 2026
6d6d9e1
fix(ts): 修 tsconfig.spec.json 丢失 @types 自动包含导致 spec 类型全崩
Sep 22, 2026
70cc052
fix(builder): 修 Windows 下 asset path 校验失败
Sep 22, 2026
eff3348
fix(karma-vite): 修 Windows 下 /C:/... 路径被解析成 C:\C\... 双盘符
Sep 22, 2026
20d0760
fix(karma-vite): 用 devkit 官方 getSystemPath 还原虚拟 Path,修双盘符
Sep 22, 2026
a0c624f
fix: test
wszgrcy Sep 22, 2026
57b1529
fix: test
wszgrcy Sep 22, 2026
2089696
test(builder): 主测试链路从 webpack 切到 Vite —— 立刻暴露 library 组件 JS 缺失
Sep 23, 2026
ea46fb6
feat(vite): 补齐 library 组件 JS entry,主测试链路全量转 Vite
Sep 23, 2026
f36f671
fix(vite): 产物路径统一 posix 正斜杠,修 Windows 下 require 路径被转义吃掉
Sep 23, 2026
f8e121f
fix(vite): 补上漏掉的 main 引导入口,app.js 不再 require page/component entry
Sep 23, 2026
270688f
test(vite): 补 main / library / page entry 的内容断言
Sep 23, 2026
0fb9fa0
fix(platform): 补 Document 占位物,修 Angular 22 的 NG0210
Sep 23, 2026
b34affd
fix(tsconfig): spec 侧补 dom lib,改用真实 Document 类型
Sep 23, 2026
9ab0e91
fix(platform): Document 占位物改为模块顶层安装 + 补真实复现的回归测试
Sep 23, 2026
7c0e67b
feat(vite): 产物默认改为 CJS 格式,加 format 选项
Sep 23, 2026
9d48742
fix: update HEADER_OFFSET
wszgrcy Sep 23, 2026
ae619c6
Merge branch 'fix/node24-build-and-test' of github.com:wszgrcy/angula…
wszgrcy Sep 23, 2026
5673217
refactor(platform): lView 下标收归单一真源 + 与已安装 Angular 交叉校验
Sep 23, 2026
1d94b7e
fix(test): lview-layout.spec 改用 require.resolve 定位 @angular/core
Sep 23, 2026
51455fa
test: 加节点下标两端等价性证明 + manifest 提取器
Sep 23, 2026
feff47f
feat(builder): wxml 生成时同源记录组件身份,加按组件精确的下标校验
Sep 23, 2026
dec7f11
fix(manifest): 补上 ɵɵdom* 系列指令,误报的 off-by-one 是提取器缺口
Sep 23, 2026
1be4bf6
feat(manifest): 按视图分组提取与校验,具名模板块 100% 覆盖
Sep 23, 2026
bd4df67
docs: 记录链式调用 codegen 这一根因,修复未完成
Sep 23, 2026
8fe3292
fix(manifest): 展开链式 codegen,根块缺口 4 → 1
Sep 23, 2026
dd92ff4
fix(manifest): 平衡匹配的 wxml 分块器,根块缺口 1 → 0
Sep 23, 2026
c2df09d
docs: 节点下标两端等价性标记为已完成,附验证矩阵
Sep 23, 2026
40147c3
docs: 修正不实陈述——根块缺口是 1 不是 0
Sep 23, 2026
38b2ee0
fix(manifest): 记入 repeaterCreate 的锚点槽,根块缺口 1 → 0
Sep 23, 2026
472f28c
test: 补上「类型对应」与「运行时下标算术」两端验证
Sep 23, 2026
58b0366
docs: 更新验证矩阵,补「一一对应」澄清与未覆盖边界
Sep 23, 2026
fe838e3
refactor: 移除 webpack,只保留 Vite
Sep 23, 2026
4d5bf73
chore(test): 为「半运行时测试」铺好解析与全局替身
Sep 23, 2026
0d1838e
docs: 记录半运行时测试的 spike 进展与当前卡点
Sep 23, 2026
6ee6f9d
docs: 半运行时 boot 跑通,记录打通方法与遗留疑点
Sep 23, 2026
e460882
docs: 半运行时测试遇 JIT 死结,已定位根因
Sep 23, 2026
51c4335
feat(test): 半运行时测试跑通——TestBed 真实创建组件产出真实 nodeList
Sep 23, 2026
6bc3b29
feat(test): 运行时 nodeList 与 wxml 下标越界比对(21 个组件通过)
Sep 23, 2026
ba29ae8
test: 给 nodeList 越界校验补反向对照,证明它真的会咬
Sep 23, 2026
31cb893
refactor(http): 停止 vendor @angular/common/http,改为薄再导出(9284 → 122 行)
Sep 23, 2026
7483db7
chore(sync): 删除 stripZoneJs —— Angular 22 已无 zone.js,该函数无的放矢
Sep 23, 2026
0ae8c00
verify: fork 的 platform 用官方 @angular/common 的 CommonModule 实测可用
Sep 23, 2026
c290628
feat: __templateName 改为在 fork 自己代码里推导,无需 patch NgTemplateOutlet
Sep 23, 2026
9980bb0
refactor(common): 停止 vendor packages/common,改为薄再导出(16746 → 171 行)
Sep 24, 2026
445c86a
refactor(sync): 删除 common 的全部 AST patch 配置,并补 7 条覆盖测试
Sep 24, 2026
74f9f85
fix(sync): 修 package-sync.ts 语法错误,并加 script/*.ts 语法守卫
Sep 24, 2026
28d6eb6
chore: 取消跟踪误提交的构建产物 __q / __w(258 个文件,22MB)
Sep 24, 2026
65b959a
fix(sync): 拦住 gitClone 残缺缓存导致的「静默空同步」
Sep 24, 2026
248c47a
refactor: 删除 angular-miniprogram/common 转发层,全部直接用 @angular/common
Sep 24, 2026
54f7c08
fix(packaging): 声明 @angular/common 为 peerDependency,清除 webpack 幽灵依赖
Sep 24, 2026
35f4198
chore: 断开 @angular-devkit/build-angular,webpack 生态从 node_modules 彻底移除
Sep 24, 2026
9a2dc54
Revert "chore: 断开 @angular-devkit/build-angular,webpack 生态从 node_modu…
Sep 24, 2026
6a43f26
fix(build): 构建脚本显式传播失败退出码,消除「假成功」
Sep 24, 2026
6fb838c
fix(http): MiniprogramHttpBackend 缺 @Injectable() 导致 NG0204
Sep 24, 2026
cd2c88c
chore: polyfill
wszgrcy Sep 24, 2026
0ac5abc
feat(polyfill): AbortController 走 Vite 入口接入,define 重定向到全局能力表
Sep 24, 2026
49d3954
fix(http): backend 改为 feature 形式接入,与官方 withFetch 同构
Sep 24, 2026
baf7d04
fix: 小程序请求
wszgrcy Sep 24, 2026
49c876b
refactor(bootstrap): 去掉启动 NgModule,改 provider 化 + 无 root component
Sep 24, 2026
9c6cbfe
fix(types): lview-layout.spec 的 require.resolve 与小程序全局 Require 冲突
Sep 24, 2026
c3c4037
refactor(compiler): template-definition 对齐 Angular 访问器结构,补齐 8 处漏实现
Sep 24, 2026
f5ba20c
chore: 清理会话残留 + 修正陈旧注释 + 补文档缺口
Sep 24, 2026
492876b
fix(template): __templateName 不再产出 undefined,修「切换一次后界面冻结」
Sep 25, 2026
e0a4d1e
docs: 记录「进 setData 的数据绝不允许 undefined」铁律
Sep 25, 2026
a5406d9
fix(library): 把库元信息标记补写回扁平化后的 d.ts,修表单事件全丢
Sep 25, 2026
6070cb9
chore: remove unuse
wszgrcy Sep 25, 2026
8d2c17d
feat(builder): app.json 由静态拷贝升级为编译生成(含页面/tabBar/分包校验)
Sep 25, 2026
9721f60
feat(builder): 条件编译(define 方案,不用 #ifdef)
Sep 25, 2026
6e8fab0
feat(builder): 分包体系(产物归位 + 跨分包/独立分包校验)
Sep 25, 2026
041bc28
feat(builder): 原生小程序自定义组件接入(wxcomponents 能力)
Sep 25, 2026
3389635
feat(library): 模板名自动推导,createEmbeddedView 不再强制传 __templateName
Sep 25, 2026
5b2cdd7
perf(library): setData 记录式优化——脏标记 + toView 缓存,跳过未变更节点
Sep 25, 2026
191a468
chore: remove unuse
wszgrcy Sep 25, 2026
31c9686
chore: 删除误提交的 src/app.config.json 测试残留
Sep 25, 2026
33c7359
docs: 新增「新功能配置指南」,6 项能力配置+demo
Sep 25, 2026
976362a
Revert "perf(library): setData 记录式优化——脏标记 + toView 缓存,跳过未变更节点"
Sep 25, 2026
b707cd7
perf(library): 重写 diff-node-data,消除 O(N^2) 合并 + 双重遍历
Sep 25, 2026
ef007d4
test(library): diff 新旧算法同输入对比测试,实测加速约 305x
Sep 25, 2026
7e6dbb8
Merge branch 'fix/node24-build-and-test' of github.com:wszgrcy/angula…
Sep 25, 2026
fa302a5
perf(library): 路径式 setData 快速通道,成本从 O(视图) 降到 O(变更)
Sep 26, 2026
98a3f96
fix(builder): 分包归属判定统一盘符大小写,避免 Windows 下静默失效
Sep 27, 2026
0954730
chore(ci): 工作流升到 Node 24,actions 升到 checkout@v7 / setup-node@v7
Sep 27, 2026
4dabf6f
fix(package): 包顶层 type 改回 commonjs,karma 插件产物不再多套一层
Sep 27, 2026
c7736ad
style: 清掉 eslint --max-warnings 0 的 8 条告警
Sep 27, 2026
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
6 changes: 3 additions & 3 deletions .github/workflows/alpha.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ jobs:
git config --global user.name "${GITHUB_ACTOR}"
git config --global user.email "${GITHUB_ACTOR}@gmail.com"
- name: pull-code
uses: actions/checkout@v2
uses: actions/checkout@v7
- name: install-node
uses: actions/setup-node@v2
uses: actions/setup-node@v7
with:
node-version: 16.x
node-version: 24.x
cache: "npm"
- name: install-dependencies
run: |
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/default.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ jobs:
git config --global user.name "${GITHUB_ACTOR}"
git config --global user.email "${GITHUB_ACTOR}@gmail.com"
- name: pull-code
uses: actions/checkout@v2
uses: actions/checkout@v7
- name: install-node
uses: actions/setup-node@v2
uses: actions/setup-node@v7
with:
node-version: 16.x
node-version: 24.x
cache: "npm"
- name: install-dependencies
run: |
Expand All @@ -39,7 +39,7 @@ jobs:
npm run build
- id: publish
name: publish
uses: JS-DevTools/npm-publish@v1
uses: JS-DevTools/npm-publish@v3
if: ${{ github.repository_owner == 'wszgrcy' }}
with:
token: ${{ secrets.NPM_PUBLISH_TOKEN }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ jobs:
git config --global user.name "${GITHUB_ACTOR}"
git config --global user.email "${GITHUB_ACTOR}@gmail.com"
- name: pull-code
uses: actions/checkout@v2
uses: actions/checkout@v7
- name: install-node
uses: actions/setup-node@v2
uses: actions/setup-node@v7
with:
node-version: 16.x
node-version: 24.x
cache: "npm"
- name: install-dependencies
run: |
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ jobs:

steps:
- name: pull-code
uses: actions/checkout@v2
uses: actions/checkout@v7
- name: install-node
uses: actions/setup-node@v2
uses: actions/setup-node@v7
with:
node-version: 16.x
node-version: 24.x
cache: "npm"
- name: install-dependencies
run: |
Expand Down
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,9 @@ script/startup-jasmine.js
.temp-git
.nyc_output
docs
deploy/api-doc
deploy/api-doc

# 构建 / 探测产物(Vite 输出的小程序包,可随时重新生成)
__q
__w
__decl
1,308 changes: 1,308 additions & 0 deletions DEVELOPMENT.md

Large diffs are not rendered by default.

11 changes: 8 additions & 3 deletions deploy/doc/zh-Hans/attention.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ title: 注意事项
- 当使用`createEmbeddedView`进行插入时,需要在上下文中的对象传递`__templateName`属性,这个属性为小程序的实际对应模板名
- 此模板名也可以访问`TemplateRef`实例的私有变量获得`(this.templateRef as any)._declarationTContainer.localNames[0]`

> **更新(#5 模板名内部化)**:运行时已能从模板声明名(`#autoTpl` → `declTNode.localNames[0]`)**自动推导** `__templateName`。因此**同组件内**使用 `createEmbeddedView` 时,`__templateName` 现在是**可选**的——不传即自动用声明名。下面的显式传参写法仍然有效(context 优先,向后兼容),仅在需要覆盖默认名或跨组件传模板时才必要。

```ts
@Directive({
selector: '[appStructural1]',
Expand All @@ -38,9 +40,12 @@ export class Structural1Directive {
@Input() appStructural1Name: string;
constructor(private viewContainerRef: ViewContainerRef) {}
ngOnInit(): void {
this.viewContainerRef.createEmbeddedView(this.appStructural1, {
__templateName: this.appStructural1Name,
});
// 同组件内可省略 __templateName,运行时自动用声明名:
this.viewContainerRef.createEmbeddedView(this.appStructural1);
// 需要覆盖默认名时才显式传:
// this.viewContainerRef.createEmbeddedView(this.appStructural1, {
// __templateName: this.appStructural1Name,
// });
}
}

Expand Down
Loading
Loading