Skip to content

Commit 5b5a157

Browse files
committed
add display name; update tests
1 parent 7715ae8 commit 5b5a157

File tree

4 files changed

+30
-4
lines changed

4 files changed

+30
-4
lines changed

packages/create-app/src/lib/__tests__/bin.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@ test('should format config without plugins', () => {
77
.toMatchInlineSnapshot(`
88
"import { platformIOS } from '@rock-js/platform-ios';
99
import { platformAndroid } from '@rock-js/platform-android';
10+
import { platformHarmony } from '@rock-js/platform-harmony';
1011
import { pluginMetro } from '@rock-js/plugin-metro';
1112
1213
export default {
1314
bundler: pluginMetro(),
1415
platforms: {
1516
ios: platformIOS(),
1617
android: platformAndroid(),
18+
harmony: platformHarmony(),
1719
},
1820
};
1921
"
@@ -25,6 +27,7 @@ test('should format config with plugins', () => {
2527
{
2628
type: 'npm',
2729
name: 'test',
30+
displayName: 'test',
2831
packageName: '@rock-js/plugin-test',
2932
version: 'latest',
3033
directory: 'template',

packages/create-app/src/lib/__tests__/templates.test.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ test('resolveTemplateName with built-in templates', () => {
66
expect(resolveTemplate(TEMPLATES, 'default')).toEqual({
77
type: 'npm',
88
name: 'default',
9+
displayName: 'default',
910
packageName: '@rock-js/template-default',
1011
version: 'latest',
1112
directory: '.',
@@ -16,6 +17,7 @@ test('resolveTemplateName with local paths', () => {
1617
expect(resolveTemplate(TEMPLATES, './directory/template-1')).toEqual({
1718
type: 'local',
1819
name: 'template-1',
20+
displayName: 'template-1',
1921
localPath: path.resolve('./directory/template-1'),
2022
directory: '.',
2123
packageName: 'template-1',
@@ -24,6 +26,7 @@ test('resolveTemplateName with local paths', () => {
2426
expect(resolveTemplate(TEMPLATES, '../../up/up/away/template-2')).toEqual({
2527
type: 'local',
2628
name: 'template-2',
29+
displayName: 'template-2',
2730
localPath: path.resolve('../../up/up/away/template-2'),
2831
directory: '.',
2932
packageName: 'template-2',
@@ -32,6 +35,7 @@ test('resolveTemplateName with local paths', () => {
3235
expect(resolveTemplate(TEMPLATES, '/absolute/path/template-3')).toEqual({
3336
type: 'local',
3437
name: 'template-3',
38+
displayName: 'template-3',
3539
localPath: '/absolute/path/template-3',
3640
directory: '.',
3741
packageName: 'template-3',
@@ -42,6 +46,7 @@ test('resolveTemplateName with local paths', () => {
4246
).toEqual({
4347
type: 'local',
4448
name: 'template-4',
49+
displayName: 'template-4',
4550
localPath: '/url-based/path/template-4',
4651
directory: '.',
4752
packageName: 'template-4',
@@ -50,6 +55,7 @@ test('resolveTemplateName with local paths', () => {
5055
expect(resolveTemplate(TEMPLATES, './directory/template-5.tgz')).toEqual({
5156
type: 'local',
5257
name: 'template-5',
58+
displayName: 'template-5',
5359
localPath: path.resolve('./directory/template-5.tgz'),
5460
directory: '.',
5561
packageName: 'template-5',
@@ -58,6 +64,7 @@ test('resolveTemplateName with local paths', () => {
5864
expect(resolveTemplate(TEMPLATES, '../up/template-6.tar')).toEqual({
5965
type: 'local',
6066
name: 'template-6',
67+
displayName: 'template-6',
6168
localPath: path.resolve('../up/template-6.tar'),
6269
directory: '.',
6370
packageName: 'template-6',
@@ -66,6 +73,7 @@ test('resolveTemplateName with local paths', () => {
6673
expect(resolveTemplate(TEMPLATES, '/root/directory/template-7.tgz')).toEqual({
6774
type: 'local',
6875
name: 'template-7',
76+
displayName: 'template-7',
6977
localPath: '/root/directory/template-7.tgz',
7078
directory: '.',
7179
packageName: 'template-7',
@@ -76,20 +84,23 @@ test('resolveTemplateName with npm packages', () => {
7684
expect(resolveTemplate(TEMPLATES, 'package-name')).toEqual({
7785
type: 'npm',
7886
name: 'package-name',
87+
displayName: 'package-name',
7988
directory: '.',
8089
packageName: 'package-name',
8190
version: 'latest',
8291
});
8392
expect(resolveTemplate(TEMPLATES, '[email protected]')).toEqual({
8493
type: 'npm',
8594
name: 'package-name',
95+
displayName: 'package-name',
8696
directory: '.',
8797
packageName: 'package-name',
8898
version: '1.2.3',
8999
});
90100
expect(resolveTemplate(TEMPLATES, '@scoped/[email protected]')).toEqual({
91101
type: 'npm',
92102
name: '@scoped/package-name',
103+
displayName: '@scoped/package-name',
93104
directory: '.',
94105
packageName: '@scoped/package-name',
95106
version: '1.2.3',

packages/create-app/src/lib/templates.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export type TemplateInfo = NpmTemplateInfo | LocalTemplateInfo;
99
export type NpmTemplateInfo = {
1010
type: 'npm';
1111
name: string;
12+
displayName: string;
1213
version: string;
1314
packageName: string;
1415
/** Directory inside package that contains the template */
@@ -21,6 +22,7 @@ export type LocalTemplateInfo = {
2122
type: 'local';
2223
name: string;
2324
localPath: string;
25+
displayName: string | undefined;
2426
packageName: string;
2527
directory: string | undefined;
2628
importName?: string;
@@ -31,6 +33,7 @@ export const TEMPLATES: TemplateInfo[] = [
3133
{
3234
type: 'npm',
3335
name: 'default',
36+
displayName: 'default',
3437
packageName: '@rock-js/template-default',
3538
version: 'latest',
3639
directory: '.',
@@ -41,6 +44,7 @@ export const PLUGINS: TemplateInfo[] = [
4144
{
4245
type: 'npm',
4346
name: 'brownfield-ios',
47+
displayName: 'Brownfield iOS',
4448
packageName: '@rock-js/plugin-brownfield-ios',
4549
hint: 'Setup packaging React Native app as a XCFramework',
4650
version: 'latest',
@@ -50,6 +54,7 @@ export const PLUGINS: TemplateInfo[] = [
5054
{
5155
type: 'npm',
5256
name: 'brownfield-android',
57+
displayName: 'Brownfield Android',
5358
packageName: '@rock-js/plugin-brownfield-android',
5459
hint: 'Setup packaging React Native app as an AAR',
5560
version: 'latest',
@@ -62,6 +67,7 @@ export const BUNDLERS: TemplateInfo[] = [
6267
{
6368
type: 'npm',
6469
name: 'metro',
70+
displayName: 'Metro',
6571
packageName: '@rock-js/plugin-metro',
6672
version: 'latest',
6773
directory: 'template',
@@ -70,6 +76,7 @@ export const BUNDLERS: TemplateInfo[] = [
7076
{
7177
type: 'npm',
7278
name: 'repack',
79+
displayName: 'Re.Pack',
7380
packageName: '@rock-js/plugin-repack',
7481
version: 'latest',
7582
directory: 'template',
@@ -81,6 +88,7 @@ export const PLATFORMS: TemplateInfo[] = [
8188
{
8289
type: 'npm',
8390
name: 'ios',
91+
displayName: 'iOS',
8492
packageName: '@rock-js/platform-ios',
8593
version: 'latest',
8694
directory: 'template',
@@ -89,6 +97,7 @@ export const PLATFORMS: TemplateInfo[] = [
8997
{
9098
type: 'npm',
9199
name: 'android',
100+
displayName: 'Android',
92101
packageName: '@rock-js/platform-android',
93102
version: 'latest',
94103
directory: 'template',
@@ -97,6 +106,7 @@ export const PLATFORMS: TemplateInfo[] = [
97106
{
98107
type: 'npm',
99108
name: 'harmony',
109+
displayName: 'Harmony (experimental)',
100110
packageName: '@rock-js/platform-harmony',
101111
version: 'latest',
102112
directory: 'template',
@@ -183,6 +193,7 @@ export function resolveTemplate(
183193
return {
184194
type: 'local',
185195
name: basename.slice(0, basename.length - ext.length),
196+
displayName: basename.slice(0, basename.length - ext.length),
186197
localPath: resolveAbsolutePath(name),
187198
directory: '.',
188199
packageName: basename.slice(0, basename.length - ext.length),
@@ -195,6 +206,7 @@ export function resolveTemplate(
195206
return {
196207
type: 'npm',
197208
name: getNpmLibraryName(name),
209+
displayName: getNpmLibraryName(name),
198210
packageName: getNpmLibraryName(name),
199211
directory: '.',
200212
version: getNpmLibraryVersion(name) ?? 'latest',

packages/create-app/src/lib/utils/prompts.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ export async function promptTemplate(
9696
// @ts-expect-error todo
9797
options: templates.map((template) => ({
9898
value: template,
99-
label: template.name,
99+
label: template.displayName,
100100
})),
101101
});
102102
}
@@ -118,7 +118,7 @@ export function promptPlatforms(
118118
// @ts-expect-error todo
119119
options: platforms.map((platform) => ({
120120
value: platform,
121-
label: platform.name,
121+
label: platform.displayName,
122122
})),
123123
});
124124
}
@@ -135,7 +135,7 @@ export function promptPlugins(
135135
// @ts-expect-error todo fixup type
136136
options: plugins.map((plugin) => ({
137137
value: plugin,
138-
label: plugin.name,
138+
label: plugin.displayName,
139139
hint: plugin.hint,
140140
})),
141141
required: false,
@@ -155,7 +155,7 @@ export function promptBundlers(
155155
// @ts-expect-error todo fixup type
156156
options: bundlers.map((bundler) => ({
157157
value: bundler,
158-
label: bundler.name,
158+
label: bundler.displayName,
159159
})),
160160
});
161161
}

0 commit comments

Comments
 (0)