@doubao-apps/create 0.0.33 → 0.0.34

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.
Files changed (48) hide show
  1. package/dist/421.js +4 -4
  2. package/dist/cli.js +74 -66
  3. package/dist/index.d.ts +1 -2
  4. package/dist/template-empty/README.md +1 -1
  5. package/dist/template-empty/package.json +2 -2
  6. package/dist/template-starter/README.md +48 -169
  7. package/dist/template-starter/package.json +2 -2
  8. package/dist/template-starter/src/app.config.ts +2 -3
  9. package/dist/template-starter/src/pages/home/index.scss +38 -172
  10. package/dist/template-starter/src/pages/home/index.tsx +20 -78
  11. package/dist/template-starter/src/widgets/hello-world/index.scss +23 -0
  12. package/dist/template-starter/src/widgets/hello-world/index.tsx +29 -0
  13. package/package.json +6 -2
  14. package/dist/template-empty/AGENTS.md +0 -299
  15. package/dist/template-empty/references/examples/common-patterns.md +0 -589
  16. package/dist/template-empty/references/examples/component-basics.md +0 -526
  17. package/dist/template-empty/references/guides/best-practices.md +0 -571
  18. package/dist/template-empty/references/guides/component-development.md +0 -891
  19. package/dist/template-empty/references/guides/performance-optimization.md +0 -402
  20. package/dist/template-empty/references/guides/troubleshooting.md +0 -287
  21. package/dist/template-empty/references/reference/components-quick-ref.md +0 -103
  22. package/dist/template-empty/references/reference/framework-api-quick-ref.md +0 -550
  23. package/dist/template-empty/references/reference/open-api/README.md +0 -8
  24. package/dist/template-empty/references/reference/open-api.md +0 -11
  25. package/dist/template-empty/references/rules/dos-and-donts.md +0 -467
  26. package/dist/template-starter/AGENTS.md +0 -299
  27. package/dist/template-starter/debug-scene/render-home-page-full.json +0 -6
  28. package/dist/template-starter/debug-scene/render-home-page.json +0 -5
  29. package/dist/template-starter/debug-scene/render-react-lynx-page-full.json +0 -6
  30. package/dist/template-starter/references/examples/common-patterns.md +0 -589
  31. package/dist/template-starter/references/examples/component-basics.md +0 -526
  32. package/dist/template-starter/references/guides/best-practices.md +0 -571
  33. package/dist/template-starter/references/guides/component-development.md +0 -891
  34. package/dist/template-starter/references/guides/performance-optimization.md +0 -402
  35. package/dist/template-starter/references/guides/troubleshooting.md +0 -287
  36. package/dist/template-starter/references/reference/components-quick-ref.md +0 -103
  37. package/dist/template-starter/references/reference/framework-api-quick-ref.md +0 -550
  38. package/dist/template-starter/references/reference/open-api/README.md +0 -8
  39. package/dist/template-starter/references/reference/open-api.md +0 -11
  40. package/dist/template-starter/references/rules/dos-and-donts.md +0 -467
  41. package/dist/template-starter/src/pages/applet/index.scss +0 -279
  42. package/dist/template-starter/src/pages/applet/index.tsx +0 -78
  43. package/dist/template-starter/src/pages/lynx/index.scss +0 -249
  44. package/dist/template-starter/src/pages/lynx/index.tsx +0 -78
  45. package/dist/template-starter/src/pages/react-lynx/index.scss +0 -335
  46. package/dist/template-starter/src/pages/react-lynx/index.tsx +0 -132
  47. package/dist/template-starter/src/widgets/weather-card/index.scss +0 -272
  48. package/dist/template-starter/src/widgets/weather-card/index.tsx +0 -193
@@ -1,279 +0,0 @@
1
- :root {
2
- --primary-bg: #0a0a0a;
3
- --secondary-bg: #1a1a1a;
4
- --card-bg: #161616;
5
- --primary-text: #ffffff;
6
- --secondary-text: #a0a0a0;
7
- --accent-text: #00d4ff;
8
- --border-color: #2a2a2a;
9
- --success-color: #00ff88;
10
- --warning-color: #ffaa00;
11
- --error-color: #ff4444;
12
-
13
- --space-xs: 8rpx;
14
- --space-sm: 16rpx;
15
- --space-md: 24rpx;
16
- --space-lg: 32rpx;
17
- --space-xl: 48rpx;
18
- --space-xxl: 64rpx;
19
- --space-xxxl: 96rpx;
20
-
21
- --border-radius-sm: 12rpx;
22
- --border-radius-md: 16rpx;
23
- --border-radius-lg: 24rpx;
24
-
25
- --shadow-sm: 0 2rpx 8rpx rgba(0, 0, 0, 0.3);
26
- --shadow-md: 0 4rpx 16rpx rgba(0, 0, 0, 0.4);
27
- --shadow-lg: 0 8rpx 32rpx rgba(0, 0, 0, 0.5);
28
- }
29
-
30
- .applet-page {
31
- min-height: 100vh;
32
- background: var(--primary-bg);
33
- position: relative;
34
-
35
- &__background-pattern {
36
- position: fixed;
37
- top: 0;
38
- left: 0;
39
- right: 0;
40
- bottom: 0;
41
- background-image:
42
- radial-gradient(circle at 20% 20%, rgba(255, 170, 0, 0.08) 0%, transparent 50%),
43
- radial-gradient(circle at 80% 80%, rgba(0, 212, 255, 0.06) 0%, transparent 50%),
44
- radial-gradient(circle at 40% 60%, rgba(0, 255, 136, 0.04) 0%, transparent 50%);
45
- z-index: 0;
46
- }
47
-
48
- &__container {
49
- position: relative;
50
- z-index: 1;
51
- min-height: 100vh;
52
- padding: var(--space-xl) var(--space-lg);
53
- box-sizing: border-box;
54
- }
55
-
56
- &__header {
57
- text-align: center;
58
- margin-bottom: var(--space-xxxl);
59
- }
60
-
61
- &__title {
62
- font-size: 56rpx;
63
- font-weight: 700;
64
- color: var(--primary-text);
65
- margin-bottom: var(--space-sm);
66
- display: block;
67
- }
68
-
69
- &__subtitle {
70
- font-size: 32rpx;
71
- color: var(--secondary-text);
72
- display: block;
73
- }
74
-
75
- &__content {
76
- max-width: 800rpx;
77
- }
78
-
79
- &__intro {
80
- background: var(--card-bg);
81
- border-radius: var(--border-radius-lg);
82
- border: 1rpx solid rgba(255, 255, 255, 0.1);
83
- padding: var(--space-xl);
84
- margin-bottom: var(--space-xxxl);
85
- box-shadow: var(--shadow-lg);
86
- }
87
-
88
- &__intro-text {
89
- font-size: 30rpx;
90
- line-height: 1.6;
91
- color: var(--primary-text);
92
- }
93
-
94
- &__section-title {
95
- font-size: 40rpx;
96
- font-weight: 600;
97
- color: var(--primary-text);
98
- margin-bottom: var(--space-lg);
99
- display: block;
100
- }
101
-
102
- &__features {
103
- margin-bottom: var(--space-xxl);
104
- }
105
-
106
- &__features-grid {
107
- display: flex;
108
- flex-wrap: wrap;
109
- gap: var(--space-lg);
110
-
111
- .applet-page__feature-card {
112
- flex: 1 1 calc(50% - var(--space-lg) / 2);
113
- min-width: 0;
114
- box-sizing: border-box;
115
- }
116
- }
117
-
118
- &__feature-card {
119
- background: var(--card-bg);
120
- border-radius: var(--border-radius-lg);
121
- border: 1rpx solid rgba(255, 255, 255, 0.1);
122
- padding: var(--space-lg);
123
- display: flex;
124
- align-items: flex-start;
125
- text-align: left;
126
- box-shadow: var(--shadow-lg);
127
- box-sizing: border-box;
128
- transition: all 0.3s ease;
129
- flex-direction: column;
130
- min-height: 200rpx;
131
-
132
- &:active {
133
- transform: translateY(-2rpx);
134
- box-shadow: var(--shadow-lg);
135
- }
136
- }
137
-
138
- &__feature-icon {
139
- margin-bottom: var(--space-md);
140
- }
141
-
142
- &__feature-icon-text {
143
- font-size: 48rpx;
144
- line-height: 1;
145
- }
146
-
147
- &__feature-content {
148
- flex: 1;
149
- display: flex;
150
- flex-direction: column;
151
- align-items: flex-start;
152
- text-align: left;
153
- justify-content: center;
154
- }
155
-
156
- &__feature-title {
157
- font-size: 28rpx;
158
- font-weight: 600;
159
- color: var(--primary-text);
160
- margin-bottom: var(--space-sm);
161
- display: block;
162
- line-height: 1.3;
163
- word-break: break-all;
164
- }
165
-
166
- &__feature-description {
167
- font-size: 22rpx;
168
- color: var(--secondary-text);
169
- line-height: 1.4;
170
- display: block;
171
- word-break: break-all;
172
- }
173
-
174
- &__workflow {
175
- margin-bottom: var(--space-xxl);
176
- }
177
-
178
- &__steps {
179
- display: flex;
180
- flex-direction: column;
181
- gap: var(--space-lg);
182
- }
183
-
184
- &__step {
185
- display: flex;
186
- align-items: flex-start;
187
- background-color: var(--card-bg);
188
- border-radius: var(--border-radius-lg);
189
- border: 2rpx solid var(--border-color);
190
- padding: var(--space-lg);
191
- box-shadow: var(--shadow-md);
192
- }
193
-
194
- &__step-number {
195
- width: 60rpx;
196
- height: 60rpx;
197
- border-radius: 50%;
198
- background-color: var(--accent-text);
199
- display: flex;
200
- align-items: center;
201
- justify-content: center;
202
- margin-right: var(--space-lg);
203
- flex-shrink: 0;
204
- }
205
-
206
- &__step-number-text {
207
- font-size: 28rpx;
208
- font-weight: 700;
209
- color: var(--primary-bg);
210
- }
211
-
212
- &__step-content {
213
- flex: 1;
214
- }
215
-
216
- &__step-title {
217
- font-size: 32rpx;
218
- font-weight: 600;
219
- color: var(--primary-text);
220
- margin-bottom: var(--space-xs);
221
- display: block;
222
- }
223
-
224
- &__step-description {
225
- font-size: 26rpx;
226
- color: var(--secondary-text);
227
- line-height: 1.4;
228
- display: block;
229
- }
230
-
231
- &__step-arrow {
232
- text-align: center;
233
- margin: var(--space-md) 0;
234
- }
235
-
236
- &__step-arrow-text {
237
- font-size: 32rpx;
238
- color: var(--accent-text);
239
- }
240
-
241
- &__commands {
242
- margin-bottom: var(--space-xxl);
243
- }
244
-
245
- &__command-list {
246
- display: flex;
247
- flex-direction: column;
248
- gap: var(--space-lg);
249
- }
250
-
251
- &__command-item {
252
- background-color: var(--card-bg);
253
- border-radius: var(--border-radius-lg);
254
- border: 2rpx solid var(--border-color);
255
- padding: var(--space-lg);
256
- box-shadow: var(--shadow-md);
257
- }
258
-
259
- &__command-title {
260
- font-size: 32rpx;
261
- font-weight: 600;
262
- color: var(--primary-text);
263
- margin-bottom: var(--space-sm);
264
- display: block;
265
- }
266
-
267
- &__command-code {
268
- background-color: var(--secondary-bg);
269
- border-radius: var(--border-radius-md);
270
- padding: var(--space-md);
271
- border: 1rpx solid var(--border-color);
272
- }
273
-
274
- &__command-text {
275
- font-family: 'Courier New', monospace;
276
- font-size: 26rpx;
277
- color: var(--accent-text);
278
- }
279
- }
@@ -1,78 +0,0 @@
1
- import { definePage } from '@doubao-apps/framework';
2
-
3
- import './index.scss';
4
-
5
- function AppletPage() {
6
- const features = [
7
- {
8
- title: '快速开发',
9
- description: '开箱即用的开发模板',
10
- icon: '🚀'
11
- },
12
- {
13
- title: '组件化',
14
- description: '丰富的 UI 组件库',
15
- icon: '🧩'
16
- },
17
- {
18
- title: '热更新',
19
- description: '开发时实时预览',
20
- icon: '🔥'
21
- },
22
- {
23
- title: 'AI 集成',
24
- description: '内置 AI 能力支持',
25
- icon: '🤖'
26
- }
27
- ];
28
-
29
- return (
30
- <view className="applet-page">
31
- <view className="applet-page__background-pattern" />
32
- <scroll-view className="applet-page__container" scroll-orientation="vertical" enable-scroll={true}>
33
- <view className="applet-page__header">
34
- <text className="applet-page__title">Applet</text>
35
- <text className="applet-page__subtitle">小程序运行环境</text>
36
- </view>
37
-
38
- <view className="applet-page__content">
39
- <view className="applet-page__intro">
40
- <text className="applet-page__intro-text">
41
- Applet 是 Doubao Apps SDK 的小程序运行环境,提供完整的小程序开发、构建、部署能力。
42
- 从项目创建到发布上线,为开发者提供高效便捷的开发体验。
43
- </text>
44
- </view>
45
-
46
- <view className="applet-page__features">
47
- <text className="applet-page__section-title">核心特性</text>
48
- <view className="applet-page__features-grid">
49
- {features.map((feature, index) => (
50
- <view key={index} className="applet-page__feature-card">
51
- <view className="applet-page__feature-icon">
52
- <text className="applet-page__feature-icon-text">{feature.icon}</text>
53
- </view>
54
- <view className="applet-page__feature-content">
55
- <text className="applet-page__feature-title">{feature.title}</text>
56
- <text className="applet-page__feature-description">{feature.description}</text>
57
- </view>
58
- </view>
59
- ))}
60
- </view>
61
- </view>
62
- </view>
63
- </scroll-view>
64
- </view>
65
- );
66
- }
67
-
68
- export default definePage({
69
- onShow() {
70
- console.log('Applet page shown');
71
- },
72
- onHide() {
73
- console.log('Applet page hidden');
74
- },
75
- render() {
76
- return <AppletPage />;
77
- }
78
- });
@@ -1,249 +0,0 @@
1
- :root {
2
- --primary-bg: #0a0a0a;
3
- --secondary-bg: #1a1a1a;
4
- --card-bg: #161616;
5
- --primary-text: #ffffff;
6
- --secondary-text: #a0a0a0;
7
- --accent-text: #00d4ff;
8
- --border-color: #2a2a2a;
9
- --success-color: #00ff88;
10
- --warning-color: #ffaa00;
11
- --error-color: #ff4444;
12
-
13
- --space-xs: 8rpx;
14
- --space-sm: 16rpx;
15
- --space-md: 24rpx;
16
- --space-lg: 32rpx;
17
- --space-xl: 48rpx;
18
- --space-xxl: 64rpx;
19
- --space-xxxl: 96rpx;
20
-
21
- --border-radius-sm: 12rpx;
22
- --border-radius-md: 16rpx;
23
- --border-radius-lg: 24rpx;
24
-
25
- --shadow-sm: 0 2rpx 8rpx rgba(0, 0, 0, 0.3);
26
- --shadow-md: 0 4rpx 16rpx rgba(0, 0, 0, 0.4);
27
- --shadow-lg: 0 8rpx 32rpx rgba(0, 0, 0, 0.5);
28
- }
29
-
30
- .lynx-page {
31
- min-height: 100vh;
32
- background: var(--primary-bg);
33
- position: relative;
34
-
35
- &__background-pattern {
36
- position: fixed;
37
- top: 0;
38
- left: 0;
39
- right: 0;
40
- bottom: 0;
41
- background-image:
42
- radial-gradient(circle at 20% 20%, rgba(0, 212, 255, 0.08) 0%, transparent 50%),
43
- radial-gradient(circle at 80% 80%, rgba(0, 255, 136, 0.06) 0%, transparent 50%),
44
- radial-gradient(circle at 40% 60%, rgba(255, 170, 0, 0.04) 0%, transparent 50%);
45
- z-index: 0;
46
- }
47
-
48
- &__container {
49
- position: relative;
50
- z-index: 1;
51
- min-height: 100vh;
52
- padding: var(--space-xl) var(--space-lg);
53
- box-sizing: border-box;
54
- }
55
-
56
- &__header {
57
- text-align: center;
58
- margin-bottom: var(--space-xxxl);
59
- }
60
-
61
- &__title {
62
- font-size: 56rpx;
63
- font-weight: 700;
64
- color: var(--primary-text);
65
- margin-bottom: var(--space-sm);
66
- display: block;
67
- }
68
-
69
- &__subtitle {
70
- font-size: 32rpx;
71
- color: var(--secondary-text);
72
- display: block;
73
- }
74
-
75
- &__content {
76
- max-width: 800rpx;
77
- }
78
-
79
- &__intro {
80
- background: var(--card-bg);
81
- border-radius: var(--border-radius-lg);
82
- border: 1rpx solid rgba(255, 255, 255, 0.1);
83
- padding: var(--space-xl);
84
- margin-bottom: var(--space-xxxl);
85
- box-shadow: var(--shadow-lg);
86
- }
87
-
88
- &__intro-text {
89
- font-size: 30rpx;
90
- line-height: 1.6;
91
- color: var(--primary-text);
92
- }
93
-
94
- &__section-title {
95
- font-size: 40rpx;
96
- font-weight: 600;
97
- color: var(--primary-text);
98
- margin-bottom: var(--space-lg);
99
- display: block;
100
- }
101
-
102
- &__features {
103
- margin-bottom: var(--space-xxl);
104
- }
105
-
106
- &__features-grid {
107
- display: flex;
108
- flex-wrap: wrap;
109
- gap: var(--space-lg);
110
-
111
- .lynx-page__feature-card {
112
- flex: 1 1 calc(50% - var(--space-lg) / 2);
113
- min-width: 0;
114
- box-sizing: border-box;
115
- }
116
- }
117
-
118
- &__feature-card {
119
- background: var(--card-bg);
120
- border-radius: var(--border-radius-lg);
121
- border: 1rpx solid rgba(255, 255, 255, 0.1);
122
- padding: var(--space-lg);
123
- display: flex;
124
- align-items: flex-start;
125
- text-align: left;
126
- box-shadow: var(--shadow-lg);
127
- box-sizing: border-box;
128
- transition: all 0.3s ease;
129
- flex-direction: column;
130
- min-height: 200rpx;
131
-
132
- &:active {
133
- transform: translateY(-2rpx);
134
- box-shadow: var(--shadow-lg);
135
- }
136
- }
137
-
138
- &__feature-icon {
139
- margin-bottom: var(--space-md);
140
- }
141
-
142
- &__feature-icon-text {
143
- font-size: 48rpx;
144
- line-height: 1;
145
- }
146
-
147
- &__feature-content {
148
- flex: 1;
149
- display: flex;
150
- flex-direction: column;
151
- align-items: flex-start;
152
- text-align: left;
153
- justify-content: center;
154
- }
155
-
156
- &__feature-title {
157
- font-size: 28rpx;
158
- font-weight: 600;
159
- color: var(--primary-text);
160
- margin-bottom: var(--space-sm);
161
- display: block;
162
- line-height: 1.3;
163
- word-break: break-all;
164
- }
165
-
166
- &__feature-description {
167
- font-size: 22rpx;
168
- color: var(--secondary-text);
169
- line-height: 1.4;
170
- display: block;
171
- word-break: break-all;
172
- }
173
-
174
- &__specs {
175
- margin-bottom: var(--space-xxl);
176
- }
177
-
178
- &__spec-section {
179
- background-color: var(--card-bg);
180
- border-radius: var(--border-radius-lg);
181
- border: 2rpx solid var(--border-color);
182
- padding: var(--space-lg);
183
- margin-bottom: var(--space-lg);
184
- box-shadow: var(--shadow-md);
185
- }
186
-
187
- &__spec-category {
188
- font-size: 36rpx;
189
- font-weight: 600;
190
- color: var(--accent-text);
191
- margin-bottom: var(--space-md);
192
- display: block;
193
- }
194
-
195
- &__spec-items {
196
- display: flex;
197
- flex-direction: column;
198
- gap: var(--space-sm);
199
- }
200
-
201
- &__spec-item {
202
- display: flex;
203
- align-items: center;
204
- }
205
-
206
- &__spec-item-text {
207
- font-size: 28rpx;
208
- color: var(--primary-text);
209
- margin-left: var(--space-sm);
210
- }
211
-
212
- &__architecture {
213
- margin-bottom: var(--space-xxl);
214
- }
215
-
216
- &__arch-grid {
217
- display: flex;
218
- flex-direction: column;
219
- gap: var(--space-lg);
220
-
221
- .lynx-page__arch-item {
222
- flex: 0 0 auto;
223
- }
224
- }
225
-
226
- &__arch-item {
227
- background-color: var(--card-bg);
228
- border-radius: var(--border-radius-lg);
229
- border: 2rpx solid var(--border-color);
230
- padding: var(--space-lg);
231
- box-shadow: var(--shadow-md);
232
- border-left: 4rpx solid var(--accent-text);
233
- }
234
-
235
- &__arch-title {
236
- font-size: 32rpx;
237
- font-weight: 600;
238
- color: var(--primary-text);
239
- margin-bottom: var(--space-sm);
240
- display: block;
241
- }
242
-
243
- &__arch-desc {
244
- font-size: 26rpx;
245
- color: var(--secondary-text);
246
- line-height: 1.4;
247
- display: block;
248
- }
249
- }
@@ -1,78 +0,0 @@
1
- import { definePage } from '@doubao-apps/framework';
2
-
3
- import './index.scss';
4
-
5
- function LynxPage() {
6
- const features = [
7
- {
8
- title: '高性能',
9
- description: '原生渲染,极致性能体验',
10
- icon: '⚡'
11
- },
12
- {
13
- title: '跨平台',
14
- description: 'iOS、Android、Web 多端支持',
15
- icon: '🌍'
16
- },
17
- {
18
- title: '小型化',
19
- description: '极小的包体,快速加载',
20
- icon: '📦'
21
- },
22
- {
23
- title: '可扩展',
24
- description: '丰富的组件和插件生态',
25
- icon: '🔧'
26
- }
27
- ];
28
-
29
- return (
30
- <view className="lynx-page">
31
- <view className="lynx-page__background-pattern" />
32
- <scroll-view className="lynx-page__container" scroll-orientation="vertical" enable-scroll={true}>
33
- <view className="lynx-page__header">
34
- <text className="lynx-page__title">Lynx</text>
35
- <text className="lynx-page__subtitle">高性能跨平台 UI 引擎</text>
36
- </view>
37
-
38
- <view className="lynx-page__content">
39
- <view className="lynx-page__intro">
40
- <text className="lynx-page__intro-text">
41
- Lynx 是一个高性能的跨平台 UI 引擎,通过声明式语法和原生渲染能力,
42
- 为开发者提供接近原生应用的用户体验,是小程序运行环境的核心渲染引擎。
43
- </text>
44
- </view>
45
-
46
- <view className="lynx-page__features">
47
- <text className="lynx-page__section-title">核心特性</text>
48
- <view className="lynx-page__features-grid">
49
- {features.map((feature) => (
50
- <view key={feature.title} className="lynx-page__feature-card">
51
- <view className="lynx-page__feature-icon">
52
- <text className="lynx-page__feature-icon-text">{feature.icon}</text>
53
- </view>
54
- <view className="lynx-page__feature-content">
55
- <text className="lynx-page__feature-title">{feature.title}</text>
56
- <text className="lynx-page__feature-description">{feature.description}</text>
57
- </view>
58
- </view>
59
- ))}
60
- </view>
61
- </view>
62
- </view>
63
- </scroll-view>
64
- </view>
65
- );
66
- }
67
-
68
- export default definePage({
69
- onShow() {
70
- console.log('Lynx page shown');
71
- },
72
- onHide() {
73
- console.log('Lynx page hidden');
74
- },
75
- render() {
76
- return <LynxPage />;
77
- }
78
- });