create-react-native-library 0.62.0 → 0.62.1
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.
- package/bin/create-react-native-library +1 -1
- package/lib/package.json +69 -0
- package/lib/src/constants.d.ts +5 -0
- package/lib/src/constants.js +6 -0
- package/lib/src/constants.js.map +1 -0
- package/lib/src/exampleApp/dependencies.d.ts +8 -0
- package/lib/src/exampleApp/dependencies.js +34 -0
- package/lib/src/exampleApp/dependencies.js.map +1 -0
- package/lib/src/exampleApp/generateExampleApp.d.ts +6 -0
- package/lib/src/exampleApp/generateExampleApp.js +309 -0
- package/lib/src/exampleApp/generateExampleApp.js.map +1 -0
- package/lib/src/index.d.ts +1 -0
- package/lib/src/index.js +134 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/inform.d.ts +10 -0
- package/lib/src/inform.js +56 -0
- package/lib/src/inform.js.map +1 -0
- package/lib/src/prompt.d.ts +125 -0
- package/lib/src/prompt.js +325 -0
- package/lib/src/prompt.js.map +1 -0
- package/lib/src/template.d.ts +44 -0
- package/lib/src/template.js +258 -0
- package/lib/src/template.js.map +1 -0
- package/lib/src/utils/assert.d.ts +1 -0
- package/lib/src/utils/assert.js +17 -0
- package/lib/src/utils/assert.js.map +1 -0
- package/lib/src/utils/configureTools.d.ts +43 -0
- package/lib/src/utils/configureTools.js +122 -0
- package/lib/src/utils/configureTools.js.map +1 -0
- package/lib/src/utils/createMetadata.d.ts +4 -0
- package/lib/src/utils/createMetadata.js +23 -0
- package/lib/src/utils/createMetadata.js.map +1 -0
- package/lib/src/utils/initialCommit.d.ts +1 -0
- package/lib/src/utils/initialCommit.js +24 -0
- package/lib/src/utils/initialCommit.js.map +1 -0
- package/lib/src/utils/local.d.ts +5 -0
- package/lib/src/utils/local.js +49 -0
- package/lib/src/utils/local.js.map +1 -0
- package/lib/src/utils/packageManager.d.ts +1 -0
- package/lib/src/utils/packageManager.js +8 -0
- package/lib/src/utils/packageManager.js.map +1 -0
- package/lib/src/utils/resolveNpmPackageVersion.d.ts +1 -0
- package/lib/src/utils/resolveNpmPackageVersion.js +20 -0
- package/lib/src/utils/resolveNpmPackageVersion.js.map +1 -0
- package/lib/src/utils/sortObjectKeys.d.ts +1 -0
- package/lib/src/utils/sortObjectKeys.js +9 -0
- package/lib/src/utils/sortObjectKeys.js.map +1 -0
- package/lib/src/utils/spawn.d.ts +2 -0
- package/lib/src/utils/spawn.js +26 -0
- package/lib/src/utils/spawn.js.map +1 -0
- package/package.json +12 -10
- package/templates/common/$package.json +1 -1
- package/templates/common/tsconfig.json +0 -2
- package/templates/tools/eslint/~package.json +3 -3
- package/templates/tools/jest/~package.json +2 -2
- package/templates/tools/lefthook/~package.json +3 -3
- package/templates/tools/release-it/~package.json +2 -2
- package/templates/tools/turborepo/~package.json +1 -1
- package/templates/tools/vite/example/~package.json +1 -1
- package/templates/tools/vite/~package.json +1 -1
- package/lib/constants.js +0 -12
- package/lib/constants.js.map +0 -1
- package/lib/exampleApp/dependencies.js +0 -34
- package/lib/exampleApp/dependencies.js.map +0 -1
- package/lib/exampleApp/generateExampleApp.js +0 -249
- package/lib/exampleApp/generateExampleApp.js.map +0 -1
- package/lib/index.js +0 -130
- package/lib/index.js.map +0 -1
- package/lib/inform.js +0 -72
- package/lib/inform.js.map +0 -1
- package/lib/prompt.js +0 -305
- package/lib/prompt.js.map +0 -1
- package/lib/template.js +0 -258
- package/lib/template.js.map +0 -1
- package/lib/utils/assert.js +0 -22
- package/lib/utils/assert.js.map +0 -1
- package/lib/utils/configureTools.js +0 -137
- package/lib/utils/configureTools.js.map +0 -1
- package/lib/utils/createMetadata.js +0 -17
- package/lib/utils/createMetadata.js.map +0 -1
- package/lib/utils/initialCommit.js +0 -37
- package/lib/utils/initialCommit.js.map +0 -1
- package/lib/utils/local.js +0 -55
- package/lib/utils/local.js.map +0 -1
- package/lib/utils/packageManager.js +0 -13
- package/lib/utils/packageManager.js.map +0 -1
- package/lib/utils/resolveNpmPackageVersion.js +0 -22
- package/lib/utils/resolveNpmPackageVersion.js.map +0 -1
- package/lib/utils/sortObjectKeys.js +0 -15
- package/lib/utils/sortObjectKeys.js.map +0 -1
- package/lib/utils/spawn.js +0 -33
- package/lib/utils/spawn.js.map +0 -1
package/lib/template.js
DELETED
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.applyTemplate = applyTemplate;
|
|
7
|
-
exports.applyTemplates = applyTemplates;
|
|
8
|
-
exports.generateTemplateConfiguration = generateTemplateConfiguration;
|
|
9
|
-
var _path = _interopRequireDefault(require("path"));
|
|
10
|
-
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
11
|
-
var _ejs = _interopRequireDefault(require("ejs"));
|
|
12
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
-
// Please think at least 5 times before introducing a new config key
|
|
14
|
-
// You can just reuse the existing ones most of the time
|
|
15
|
-
|
|
16
|
-
const BINARIES = [/(gradlew|\.(jar|keystore|png|jpg|gif))$/, /\$\.yarn(?![a-z])/];
|
|
17
|
-
const COMMON_FILES = _path.default.resolve(__dirname, '../templates/common');
|
|
18
|
-
const COMMON_LOCAL_FILES = _path.default.resolve(__dirname, '../templates/common-local');
|
|
19
|
-
const EXAMPLE_COMMON_FILES = _path.default.resolve(__dirname, '../templates/example-common');
|
|
20
|
-
const EXAMPLE_BARE_FILES = _path.default.resolve(__dirname, '../templates/example-bare');
|
|
21
|
-
const EXAMPLE_MODULE_NEW_FILES = _path.default.resolve(__dirname, '../templates/example-module-new');
|
|
22
|
-
const EXAMPLE_VIEW_FILES = _path.default.resolve(__dirname, '../templates/example-view');
|
|
23
|
-
const EXAMPLE_EXPO_FILES = _path.default.resolve(__dirname, '../templates/example-expo');
|
|
24
|
-
const JS_FILES = _path.default.resolve(__dirname, '../templates/js-library');
|
|
25
|
-
const JS_VIEW_FILES = _path.default.resolve(__dirname, '../templates/js-view');
|
|
26
|
-
const NATIVE_COMMON_FILES = _path.default.resolve(__dirname, '../templates/native-common');
|
|
27
|
-
const EXAMPLE_NATIVE_COMMON_FILES = _path.default.resolve(__dirname, '../templates/example-native-common');
|
|
28
|
-
const NITRO_COMMON_FILES = _path.default.resolve(__dirname, '../templates/nitro-common');
|
|
29
|
-
const CPP_FILES = _path.default.resolve(__dirname, '../templates/cpp-library');
|
|
30
|
-
const NATIVE_FILES = {
|
|
31
|
-
module_new: _path.default.resolve(__dirname, '../templates/native-library-new'),
|
|
32
|
-
view_new: _path.default.resolve(__dirname, '../templates/native-view-new'),
|
|
33
|
-
module_nitro: _path.default.resolve(__dirname, '../templates/nitro-module'),
|
|
34
|
-
view_nitro: _path.default.resolve(__dirname, '../templates/nitro-view')
|
|
35
|
-
};
|
|
36
|
-
const OBJC_FILES = {
|
|
37
|
-
module_common: _path.default.resolve(__dirname, '../templates/objc-library'),
|
|
38
|
-
view_new: _path.default.resolve(__dirname, '../templates/objc-view-new')
|
|
39
|
-
};
|
|
40
|
-
const KOTLIN_FILES = {
|
|
41
|
-
module_new: _path.default.resolve(__dirname, '../templates/kotlin-library-new'),
|
|
42
|
-
view_new: _path.default.resolve(__dirname, '../templates/kotlin-view-new')
|
|
43
|
-
};
|
|
44
|
-
function generateTemplateConfiguration({
|
|
45
|
-
versions,
|
|
46
|
-
basename,
|
|
47
|
-
answers
|
|
48
|
-
}) {
|
|
49
|
-
const {
|
|
50
|
-
slug,
|
|
51
|
-
languages,
|
|
52
|
-
type
|
|
53
|
-
} = answers;
|
|
54
|
-
const project = slug.replace(/^(react-native-|@[^/]+\/)/, '');
|
|
55
|
-
let namespace;
|
|
56
|
-
if (slug.startsWith('@') && slug.includes('/')) {
|
|
57
|
-
namespace = slug.split('/')[0]?.replace(/[^a-z0-9]/g, '').toLowerCase();
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// Create a package identifier with specified namespace when possible
|
|
61
|
-
const pack = `${namespace ? `${namespace}.` : ''}${project.replace(/[^a-z0-9]/g, '').toLowerCase()}`;
|
|
62
|
-
return {
|
|
63
|
-
versions,
|
|
64
|
-
project: {
|
|
65
|
-
slug,
|
|
66
|
-
description: answers.description,
|
|
67
|
-
name: /^[A-Z]/.test(basename) && /^[a-z0-9]+$/i.test(basename) ?
|
|
68
|
-
// If the project name is already in PascalCase, use it as-is
|
|
69
|
-
basename :
|
|
70
|
-
// Otherwise, convert it to PascalCase and remove any non-alphanumeric characters
|
|
71
|
-
`${project.charAt(0).toUpperCase()}${project.replace(/[^a-z0-9](\w)/g, (_, $1) => $1.toUpperCase()).slice(1)}`,
|
|
72
|
-
package: pack,
|
|
73
|
-
package_dir: pack.replace(/\./g, _path.default.sep),
|
|
74
|
-
package_cpp: pack.replace(/\./g, '_'),
|
|
75
|
-
identifier: slug.replace(/[^a-z0-9]+/g, '-').replace(/^-/, ''),
|
|
76
|
-
native: languages !== 'js',
|
|
77
|
-
cpp: languages === 'cpp',
|
|
78
|
-
swift: languages === 'kotlin-swift',
|
|
79
|
-
viewConfig: getViewConfig(type),
|
|
80
|
-
moduleConfig: getModuleConfig(type)
|
|
81
|
-
},
|
|
82
|
-
author: {
|
|
83
|
-
name: answers.authorName,
|
|
84
|
-
email: answers.authorEmail,
|
|
85
|
-
url: answers.authorUrl
|
|
86
|
-
},
|
|
87
|
-
repo: answers.repoUrl,
|
|
88
|
-
example: answers.example,
|
|
89
|
-
tools: answers.tools,
|
|
90
|
-
year: new Date().getFullYear()
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
function getModuleConfig(projectType) {
|
|
94
|
-
switch (projectType) {
|
|
95
|
-
case 'nitro-module':
|
|
96
|
-
return 'nitro-modules';
|
|
97
|
-
case 'turbo-module':
|
|
98
|
-
return 'turbo-modules';
|
|
99
|
-
case 'fabric-view':
|
|
100
|
-
case 'library':
|
|
101
|
-
case 'nitro-view':
|
|
102
|
-
return null;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
function getViewConfig(projectType) {
|
|
106
|
-
switch (projectType) {
|
|
107
|
-
case 'fabric-view':
|
|
108
|
-
return 'fabric-view';
|
|
109
|
-
case 'nitro-view':
|
|
110
|
-
return 'nitro-view';
|
|
111
|
-
case 'nitro-module':
|
|
112
|
-
case 'turbo-module':
|
|
113
|
-
case 'library':
|
|
114
|
-
default:
|
|
115
|
-
return null;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
async function applyTemplates(answers, config, folder) {
|
|
119
|
-
const {
|
|
120
|
-
local
|
|
121
|
-
} = answers;
|
|
122
|
-
if (local) {
|
|
123
|
-
await applyTemplate(config, COMMON_LOCAL_FILES, folder);
|
|
124
|
-
} else {
|
|
125
|
-
await applyTemplate(config, COMMON_FILES, folder);
|
|
126
|
-
if (config.example != null) {
|
|
127
|
-
await applyTemplate(config, EXAMPLE_COMMON_FILES, folder);
|
|
128
|
-
if (config.project.viewConfig !== null) {
|
|
129
|
-
await applyTemplate(config, EXAMPLE_VIEW_FILES, folder);
|
|
130
|
-
} else {
|
|
131
|
-
await applyTemplate(config, EXAMPLE_MODULE_NEW_FILES, folder);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
if (answers.languages === 'js') {
|
|
136
|
-
await applyTemplate(config, JS_FILES, folder);
|
|
137
|
-
if (config.example != null) {
|
|
138
|
-
if (config.example === 'expo') {
|
|
139
|
-
await applyTemplate(config, EXAMPLE_EXPO_FILES, folder);
|
|
140
|
-
} else {
|
|
141
|
-
await applyTemplate(config, EXAMPLE_BARE_FILES, folder);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
} else {
|
|
145
|
-
if (answers.languages === 'cpp') {
|
|
146
|
-
if (config.example === 'expo') {
|
|
147
|
-
await applyTemplate(config, EXAMPLE_EXPO_FILES, folder);
|
|
148
|
-
if (config.project.native) {
|
|
149
|
-
await applyTemplate(config, EXAMPLE_NATIVE_COMMON_FILES, folder);
|
|
150
|
-
}
|
|
151
|
-
} else if (config.example != null) {
|
|
152
|
-
await applyTemplate(config, EXAMPLE_BARE_FILES, folder);
|
|
153
|
-
if (config.project.native) {
|
|
154
|
-
await applyTemplate(config, EXAMPLE_NATIVE_COMMON_FILES, folder);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
await applyTemplate(config, NATIVE_FILES['module_new'], folder);
|
|
158
|
-
await applyTemplate(config, CPP_FILES, folder);
|
|
159
|
-
if (config.example === 'expo' || config.tools.includes('vite')) {
|
|
160
|
-
await applyTemplate(config, JS_FILES, folder);
|
|
161
|
-
}
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
await applyTemplate(config, NATIVE_COMMON_FILES, folder);
|
|
165
|
-
if (config.example === 'expo') {
|
|
166
|
-
await applyTemplate(config, EXAMPLE_EXPO_FILES, folder);
|
|
167
|
-
if (config.project.native) {
|
|
168
|
-
await applyTemplate(config, EXAMPLE_NATIVE_COMMON_FILES, folder);
|
|
169
|
-
}
|
|
170
|
-
} else if (config.example != null) {
|
|
171
|
-
await applyTemplate(config, EXAMPLE_BARE_FILES, folder);
|
|
172
|
-
if (config.project.native) {
|
|
173
|
-
await applyTemplate(config, EXAMPLE_NATIVE_COMMON_FILES, folder);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
if (config.project.moduleConfig === 'nitro-modules') {
|
|
177
|
-
await applyTemplate(config, NITRO_COMMON_FILES, folder);
|
|
178
|
-
await applyTemplate(config, NATIVE_FILES['module_nitro'], folder);
|
|
179
|
-
if (config.example === 'expo' || config.tools.includes('vite')) {
|
|
180
|
-
await applyTemplate(config, JS_FILES, folder);
|
|
181
|
-
}
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
if (config.project.viewConfig === 'nitro-view') {
|
|
185
|
-
await applyTemplate(config, NITRO_COMMON_FILES, folder);
|
|
186
|
-
await applyTemplate(config, NATIVE_FILES['view_nitro'], folder);
|
|
187
|
-
if (config.example === 'expo' || config.tools.includes('vite')) {
|
|
188
|
-
await applyTemplate(config, JS_VIEW_FILES, folder);
|
|
189
|
-
}
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
if (config.project.moduleConfig !== null) {
|
|
193
|
-
await applyTemplate(config, NATIVE_FILES[`module_new`], folder);
|
|
194
|
-
} else {
|
|
195
|
-
await applyTemplate(config, NATIVE_FILES[`view_new`], folder);
|
|
196
|
-
}
|
|
197
|
-
if (config.project.moduleConfig !== null) {
|
|
198
|
-
await applyTemplate(config, OBJC_FILES[`module_common`], folder);
|
|
199
|
-
} else {
|
|
200
|
-
await applyTemplate(config, OBJC_FILES[`view_new`], folder);
|
|
201
|
-
}
|
|
202
|
-
const templateType = `${config.project.moduleConfig !== null ? 'module' : 'view'}_new`;
|
|
203
|
-
await applyTemplate(config, KOTLIN_FILES[templateType], folder);
|
|
204
|
-
if (config.example === 'expo' || config.tools.includes('vite')) {
|
|
205
|
-
if (config.project.viewConfig !== null) {
|
|
206
|
-
await applyTemplate(config, JS_VIEW_FILES, folder);
|
|
207
|
-
} else {
|
|
208
|
-
await applyTemplate(config, JS_FILES, folder);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* This copies the template files and renders them via ejs
|
|
216
|
-
*/
|
|
217
|
-
async function applyTemplate(config, source, destination) {
|
|
218
|
-
await _fsExtra.default.mkdirp(destination);
|
|
219
|
-
const files = await _fsExtra.default.readdir(source);
|
|
220
|
-
for (const f of files) {
|
|
221
|
-
if (f.startsWith('~')) {
|
|
222
|
-
continue;
|
|
223
|
-
}
|
|
224
|
-
let name;
|
|
225
|
-
try {
|
|
226
|
-
name = _ejs.default.render(f.replace(/^\$/, ''), config, {
|
|
227
|
-
openDelimiter: '{',
|
|
228
|
-
closeDelimiter: '}'
|
|
229
|
-
});
|
|
230
|
-
} catch (e) {
|
|
231
|
-
throw new Error(`Failed to render template file name: ${f}`, {
|
|
232
|
-
cause: e
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
const target = _path.default.join(destination, name);
|
|
236
|
-
const file = _path.default.join(source, f);
|
|
237
|
-
const stats = await _fsExtra.default.stat(file);
|
|
238
|
-
if (stats.isDirectory()) {
|
|
239
|
-
await applyTemplate(config, file, target);
|
|
240
|
-
} else if (!BINARIES.some(r => r.test(file))) {
|
|
241
|
-
const content = await _fsExtra.default.readFile(file, 'utf8');
|
|
242
|
-
let result;
|
|
243
|
-
try {
|
|
244
|
-
result = _ejs.default.render(content, config)
|
|
245
|
-
// Make sure that line endings are 'lf' (Unix style)
|
|
246
|
-
.replace(/\r\n/g, '\n');
|
|
247
|
-
} catch (e) {
|
|
248
|
-
throw new Error(`Failed to render template file content: ${f}`, {
|
|
249
|
-
cause: e
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
await _fsExtra.default.writeFile(target, result);
|
|
253
|
-
} else {
|
|
254
|
-
await _fsExtra.default.copyFile(file, target);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
//# sourceMappingURL=template.js.map
|
package/lib/template.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","names":["_path","_interopRequireDefault","require","_fsExtra","_ejs","e","__esModule","default","BINARIES","COMMON_FILES","path","resolve","__dirname","COMMON_LOCAL_FILES","EXAMPLE_COMMON_FILES","EXAMPLE_BARE_FILES","EXAMPLE_MODULE_NEW_FILES","EXAMPLE_VIEW_FILES","EXAMPLE_EXPO_FILES","JS_FILES","JS_VIEW_FILES","NATIVE_COMMON_FILES","EXAMPLE_NATIVE_COMMON_FILES","NITRO_COMMON_FILES","CPP_FILES","NATIVE_FILES","module_new","view_new","module_nitro","view_nitro","OBJC_FILES","module_common","KOTLIN_FILES","generateTemplateConfiguration","versions","basename","answers","slug","languages","type","project","replace","namespace","startsWith","includes","split","toLowerCase","pack","description","name","test","charAt","toUpperCase","_","$1","slice","package","package_dir","sep","package_cpp","identifier","native","cpp","swift","viewConfig","getViewConfig","moduleConfig","getModuleConfig","author","authorName","email","authorEmail","url","authorUrl","repo","repoUrl","example","tools","year","Date","getFullYear","projectType","applyTemplates","config","folder","local","applyTemplate","templateType","source","destination","fs","mkdirp","files","readdir","f","ejs","render","openDelimiter","closeDelimiter","Error","cause","target","join","file","stats","stat","isDirectory","some","r","content","readFile","result","writeFile","copyFile"],"sources":["../src/template.ts"],"sourcesContent":["import path from 'path';\nimport fs from 'fs-extra';\nimport ejs from 'ejs';\nimport type { Answers, ExampleApp, ProjectType } from './prompt';\n\nexport type TemplateVersions = {\n bob: string;\n nitro: string | undefined;\n};\n\nexport type ModuleConfig =\n | 'native-modules'\n | 'turbo-modules'\n | 'nitro-modules'\n | null;\n\nexport type ViewConfig = 'paper-view' | 'fabric-view' | 'nitro-view' | null;\n\n// Please think at least 5 times before introducing a new config key\n// You can just reuse the existing ones most of the time\nexport type TemplateConfiguration = {\n versions: TemplateVersions;\n project: {\n slug: string;\n description: string;\n name: string;\n package: string;\n package_dir: string;\n package_cpp: string;\n identifier: string;\n native: boolean;\n cpp: boolean;\n swift: boolean;\n viewConfig: ViewConfig;\n moduleConfig: ModuleConfig;\n };\n author: {\n name: string;\n email: string;\n url: string;\n };\n /** Git repo URL */\n repo: string;\n example: ExampleApp;\n year: number;\n tools: string[];\n};\n\nconst BINARIES = [\n /(gradlew|\\.(jar|keystore|png|jpg|gif))$/,\n /\\$\\.yarn(?![a-z])/,\n];\n\nconst COMMON_FILES = path.resolve(__dirname, '../templates/common');\nconst COMMON_LOCAL_FILES = path.resolve(__dirname, '../templates/common-local');\nconst EXAMPLE_COMMON_FILES = path.resolve(\n __dirname,\n '../templates/example-common'\n);\nconst EXAMPLE_BARE_FILES = path.resolve(__dirname, '../templates/example-bare');\nconst EXAMPLE_MODULE_NEW_FILES = path.resolve(\n __dirname,\n '../templates/example-module-new'\n);\nconst EXAMPLE_VIEW_FILES = path.resolve(__dirname, '../templates/example-view');\nconst EXAMPLE_EXPO_FILES = path.resolve(__dirname, '../templates/example-expo');\n\nconst JS_FILES = path.resolve(__dirname, '../templates/js-library');\nconst JS_VIEW_FILES = path.resolve(__dirname, '../templates/js-view');\nconst NATIVE_COMMON_FILES = path.resolve(\n __dirname,\n '../templates/native-common'\n);\nconst EXAMPLE_NATIVE_COMMON_FILES = path.resolve(\n __dirname,\n '../templates/example-native-common'\n);\nconst NITRO_COMMON_FILES = path.resolve(__dirname, '../templates/nitro-common');\nconst CPP_FILES = path.resolve(__dirname, '../templates/cpp-library');\n\nconst NATIVE_FILES = {\n module_new: path.resolve(__dirname, '../templates/native-library-new'),\n view_new: path.resolve(__dirname, '../templates/native-view-new'),\n module_nitro: path.resolve(__dirname, '../templates/nitro-module'),\n view_nitro: path.resolve(__dirname, '../templates/nitro-view'),\n} as const;\n\nconst OBJC_FILES = {\n module_common: path.resolve(__dirname, '../templates/objc-library'),\n view_new: path.resolve(__dirname, '../templates/objc-view-new'),\n} as const;\n\nconst KOTLIN_FILES = {\n module_new: path.resolve(__dirname, '../templates/kotlin-library-new'),\n view_new: path.resolve(__dirname, '../templates/kotlin-view-new'),\n} as const;\n\nexport function generateTemplateConfiguration({\n versions,\n basename,\n answers,\n}: {\n versions: TemplateVersions;\n basename: string;\n answers: Answers;\n}): TemplateConfiguration {\n const { slug, languages, type } = answers;\n\n const project = slug.replace(/^(react-native-|@[^/]+\\/)/, '');\n let namespace: string | undefined;\n\n if (slug.startsWith('@') && slug.includes('/')) {\n namespace = slug\n .split('/')[0]\n ?.replace(/[^a-z0-9]/g, '')\n .toLowerCase();\n }\n\n // Create a package identifier with specified namespace when possible\n const pack = `${namespace ? `${namespace}.` : ''}${project\n .replace(/[^a-z0-9]/g, '')\n .toLowerCase()}`;\n\n return {\n versions,\n project: {\n slug,\n description: answers.description,\n name:\n /^[A-Z]/.test(basename) && /^[a-z0-9]+$/i.test(basename)\n ? // If the project name is already in PascalCase, use it as-is\n basename\n : // Otherwise, convert it to PascalCase and remove any non-alphanumeric characters\n `${project.charAt(0).toUpperCase()}${project\n .replace(/[^a-z0-9](\\w)/g, (_, $1: string) => $1.toUpperCase())\n .slice(1)}`,\n package: pack,\n package_dir: pack.replace(/\\./g, path.sep),\n package_cpp: pack.replace(/\\./g, '_'),\n identifier: slug.replace(/[^a-z0-9]+/g, '-').replace(/^-/, ''),\n native: languages !== 'js',\n cpp: languages === 'cpp',\n swift: languages === 'kotlin-swift',\n viewConfig: getViewConfig(type),\n moduleConfig: getModuleConfig(type),\n },\n author: {\n name: answers.authorName,\n email: answers.authorEmail,\n url: answers.authorUrl,\n },\n repo: answers.repoUrl,\n example: answers.example,\n tools: answers.tools,\n year: new Date().getFullYear(),\n };\n}\n\nfunction getModuleConfig(projectType: ProjectType): ModuleConfig {\n switch (projectType) {\n case 'nitro-module':\n return 'nitro-modules';\n case 'turbo-module':\n return 'turbo-modules';\n case 'fabric-view':\n case 'library':\n case 'nitro-view':\n return null;\n }\n}\n\nfunction getViewConfig(projectType: ProjectType): ViewConfig {\n switch (projectType) {\n case 'fabric-view':\n return 'fabric-view';\n case 'nitro-view':\n return 'nitro-view';\n case 'nitro-module':\n case 'turbo-module':\n case 'library':\n default:\n return null;\n }\n}\n\nexport async function applyTemplates(\n answers: Answers,\n config: TemplateConfiguration,\n folder: string\n) {\n const { local } = answers;\n\n if (local) {\n await applyTemplate(config, COMMON_LOCAL_FILES, folder);\n } else {\n await applyTemplate(config, COMMON_FILES, folder);\n\n if (config.example != null) {\n await applyTemplate(config, EXAMPLE_COMMON_FILES, folder);\n\n if (config.project.viewConfig !== null) {\n await applyTemplate(config, EXAMPLE_VIEW_FILES, folder);\n } else {\n await applyTemplate(config, EXAMPLE_MODULE_NEW_FILES, folder);\n }\n }\n }\n\n if (answers.languages === 'js') {\n await applyTemplate(config, JS_FILES, folder);\n\n if (config.example != null) {\n if (config.example === 'expo') {\n await applyTemplate(config, EXAMPLE_EXPO_FILES, folder);\n } else {\n await applyTemplate(config, EXAMPLE_BARE_FILES, folder);\n }\n }\n } else {\n if (answers.languages === 'cpp') {\n if (config.example === 'expo') {\n await applyTemplate(config, EXAMPLE_EXPO_FILES, folder);\n\n if (config.project.native) {\n await applyTemplate(config, EXAMPLE_NATIVE_COMMON_FILES, folder);\n }\n } else if (config.example != null) {\n await applyTemplate(config, EXAMPLE_BARE_FILES, folder);\n\n if (config.project.native) {\n await applyTemplate(config, EXAMPLE_NATIVE_COMMON_FILES, folder);\n }\n }\n\n await applyTemplate(config, NATIVE_FILES['module_new'], folder);\n await applyTemplate(config, CPP_FILES, folder);\n\n if (config.example === 'expo' || config.tools.includes('vite')) {\n await applyTemplate(config, JS_FILES, folder);\n }\n\n return;\n }\n\n await applyTemplate(config, NATIVE_COMMON_FILES, folder);\n\n if (config.example === 'expo') {\n await applyTemplate(config, EXAMPLE_EXPO_FILES, folder);\n\n if (config.project.native) {\n await applyTemplate(config, EXAMPLE_NATIVE_COMMON_FILES, folder);\n }\n } else if (config.example != null) {\n await applyTemplate(config, EXAMPLE_BARE_FILES, folder);\n\n if (config.project.native) {\n await applyTemplate(config, EXAMPLE_NATIVE_COMMON_FILES, folder);\n }\n }\n\n if (config.project.moduleConfig === 'nitro-modules') {\n await applyTemplate(config, NITRO_COMMON_FILES, folder);\n await applyTemplate(config, NATIVE_FILES['module_nitro'], folder);\n\n if (config.example === 'expo' || config.tools.includes('vite')) {\n await applyTemplate(config, JS_FILES, folder);\n }\n\n return;\n }\n\n if (config.project.viewConfig === 'nitro-view') {\n await applyTemplate(config, NITRO_COMMON_FILES, folder);\n await applyTemplate(config, NATIVE_FILES['view_nitro'], folder);\n\n if (config.example === 'expo' || config.tools.includes('vite')) {\n await applyTemplate(config, JS_VIEW_FILES, folder);\n }\n\n return;\n }\n\n if (config.project.moduleConfig !== null) {\n await applyTemplate(config, NATIVE_FILES[`module_new`], folder);\n } else {\n await applyTemplate(config, NATIVE_FILES[`view_new`], folder);\n }\n\n if (config.project.moduleConfig !== null) {\n await applyTemplate(config, OBJC_FILES[`module_common`], folder);\n } else {\n await applyTemplate(config, OBJC_FILES[`view_new`], folder);\n }\n\n const templateType = `${\n config.project.moduleConfig !== null ? 'module' : 'view'\n }_new` as const;\n\n await applyTemplate(config, KOTLIN_FILES[templateType], folder);\n\n if (config.example === 'expo' || config.tools.includes('vite')) {\n if (config.project.viewConfig !== null) {\n await applyTemplate(config, JS_VIEW_FILES, folder);\n } else {\n await applyTemplate(config, JS_FILES, folder);\n }\n }\n }\n}\n\n/**\n * This copies the template files and renders them via ejs\n */\nexport async function applyTemplate(\n config: TemplateConfiguration,\n source: string,\n destination: string\n) {\n await fs.mkdirp(destination);\n\n const files = await fs.readdir(source);\n\n for (const f of files) {\n if (f.startsWith('~')) {\n continue;\n }\n\n let name;\n\n try {\n name = ejs.render(f.replace(/^\\$/, ''), config, {\n openDelimiter: '{',\n closeDelimiter: '}',\n });\n } catch (e) {\n throw new Error(`Failed to render template file name: ${f}`, {\n cause: e,\n });\n }\n\n const target = path.join(destination, name);\n\n const file = path.join(source, f);\n const stats = await fs.stat(file);\n\n if (stats.isDirectory()) {\n await applyTemplate(config, file, target);\n } else if (!BINARIES.some((r) => r.test(file))) {\n const content = await fs.readFile(file, 'utf8');\n\n let result;\n\n try {\n result = ejs\n .render(content, config)\n // Make sure that line endings are 'lf' (Unix style)\n .replace(/\\r\\n/g, '\\n');\n } catch (e) {\n throw new Error(`Failed to render template file content: ${f}`, {\n cause: e,\n });\n }\n\n await fs.writeFile(target, result);\n } else {\n await fs.copyFile(file, target);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/utils/assert.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.assertNpxExists = assertNpxExists;
|
|
7
|
-
var _kleur = _interopRequireDefault(require("kleur"));
|
|
8
|
-
var _spawn = require("./spawn");
|
|
9
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
async function assertNpxExists() {
|
|
11
|
-
try {
|
|
12
|
-
await (0, _spawn.spawn)('npx', ['--help']);
|
|
13
|
-
} catch (error) {
|
|
14
|
-
// @ts-expect-error: TS doesn't know about `code`
|
|
15
|
-
if (error != null && error.code === 'ENOENT') {
|
|
16
|
-
throw new Error(`Couldn't find ${_kleur.default.blue('npx')}! Please install it by running ${_kleur.default.blue('npm install -g npx')}`);
|
|
17
|
-
} else {
|
|
18
|
-
throw error;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=assert.js.map
|
package/lib/utils/assert.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assert.js","names":["_kleur","_interopRequireDefault","require","_spawn","e","__esModule","default","assertNpxExists","spawn","error","code","Error","kleur","blue"],"sources":["../../src/utils/assert.ts"],"sourcesContent":["import kleur from 'kleur';\nimport { spawn } from './spawn';\n\nexport async function assertNpxExists() {\n try {\n await spawn('npx', ['--help']);\n } catch (error) {\n // @ts-expect-error: TS doesn't know about `code`\n if (error != null && error.code === 'ENOENT') {\n throw new Error(\n `Couldn't find ${kleur.blue(\n 'npx'\n )}! Please install it by running ${kleur.blue('npm install -g npx')}`\n );\n } else {\n throw error;\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAAgC,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEzB,eAAeG,eAAeA,CAAA,EAAG;EACtC,IAAI;IACF,MAAM,IAAAC,YAAK,EAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;EAChC,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd;IACA,IAAIA,KAAK,IAAI,IAAI,IAAIA,KAAK,CAACC,IAAI,KAAK,QAAQ,EAAE;MAC5C,MAAM,IAAIC,KAAK,CACb,iBAAiBC,cAAK,CAACC,IAAI,CACzB,KACF,CAAC,kCAAkCD,cAAK,CAACC,IAAI,CAAC,oBAAoB,CAAC,EACrE,CAAC;IACH,CAAC,MAAM;MACL,MAAMJ,KAAK;IACb;EACF;AACF","ignoreList":[]}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.AVAILABLE_TOOLS = void 0;
|
|
7
|
-
exports.configureTools = configureTools;
|
|
8
|
-
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
9
|
-
var _nodePath = _interopRequireDefault(require("node:path"));
|
|
10
|
-
var _template = require("../template");
|
|
11
|
-
var _sortObjectKeys = _interopRequireDefault(require("./sortObjectKeys"));
|
|
12
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
-
const ESLINT = {
|
|
14
|
-
name: 'ESLint with Prettier',
|
|
15
|
-
description: 'Lint and format code'
|
|
16
|
-
};
|
|
17
|
-
const LEFTHOOK = {
|
|
18
|
-
name: 'Lefthook with Commitlint',
|
|
19
|
-
description: 'Manage Git hooks and lint commit messages'
|
|
20
|
-
};
|
|
21
|
-
const RELEASE_IT = {
|
|
22
|
-
name: 'Release It',
|
|
23
|
-
description: 'Automate versioning and package publishing tasks'
|
|
24
|
-
};
|
|
25
|
-
const JEST = {
|
|
26
|
-
name: 'Jest',
|
|
27
|
-
description: 'Test JavaScript and TypeScript code'
|
|
28
|
-
};
|
|
29
|
-
const TURBOREPO = {
|
|
30
|
-
name: 'Turborepo',
|
|
31
|
-
description: 'Cache build outputs on CI'
|
|
32
|
-
};
|
|
33
|
-
const VITE = {
|
|
34
|
-
name: 'Vite',
|
|
35
|
-
description: 'Add web support to the example app',
|
|
36
|
-
condition: config => config.example != null && config.example !== 'expo',
|
|
37
|
-
postprocess: async ({
|
|
38
|
-
root
|
|
39
|
-
}) => {
|
|
40
|
-
const examplePkgPath = _nodePath.default.join(root, 'example', 'package.json');
|
|
41
|
-
if (!_fsExtra.default.existsSync(examplePkgPath)) {
|
|
42
|
-
throw new Error("Couldn't find the example app's package.json.");
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
46
|
-
const examplePackageJson = await _fsExtra.default.readJson(examplePkgPath);
|
|
47
|
-
const reactVersion = examplePackageJson.dependencies?.react ?? examplePackageJson.devDependencies?.react;
|
|
48
|
-
if (reactVersion == null) {
|
|
49
|
-
throw new Error("Couldn't find the package 'react' in the example app.");
|
|
50
|
-
}
|
|
51
|
-
examplePackageJson.dependencies = (0, _sortObjectKeys.default)({
|
|
52
|
-
...examplePackageJson.dependencies,
|
|
53
|
-
'react-dom': reactVersion
|
|
54
|
-
});
|
|
55
|
-
await _fsExtra.default.writeJson(examplePkgPath, examplePackageJson, {
|
|
56
|
-
spaces: 2
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
const AVAILABLE_TOOLS = exports.AVAILABLE_TOOLS = {
|
|
61
|
-
eslint: ESLINT,
|
|
62
|
-
jest: JEST,
|
|
63
|
-
lefthook: LEFTHOOK,
|
|
64
|
-
'release-it': RELEASE_IT,
|
|
65
|
-
vite: VITE
|
|
66
|
-
};
|
|
67
|
-
const REQUIRED_TOOLS = {
|
|
68
|
-
turborepo: TURBOREPO
|
|
69
|
-
};
|
|
70
|
-
const ALL_TOOLS = {
|
|
71
|
-
...AVAILABLE_TOOLS,
|
|
72
|
-
...REQUIRED_TOOLS
|
|
73
|
-
};
|
|
74
|
-
async function configureTools({
|
|
75
|
-
tools,
|
|
76
|
-
config,
|
|
77
|
-
root,
|
|
78
|
-
packageJson
|
|
79
|
-
}) {
|
|
80
|
-
for (const key of [...tools,
|
|
81
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
82
|
-
...Object.keys(REQUIRED_TOOLS)]) {
|
|
83
|
-
if (!(key in ALL_TOOLS)) {
|
|
84
|
-
throw new Error(`Invalid tool '${key}'. Available tools are: ${Object.keys(AVAILABLE_TOOLS).join(', ')}.`);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// @ts-expect-error: We checked the key above
|
|
88
|
-
const tool = ALL_TOOLS[key];
|
|
89
|
-
if (tool.condition && !tool.condition(config)) {
|
|
90
|
-
continue;
|
|
91
|
-
}
|
|
92
|
-
const toolDir = _nodePath.default.resolve(__dirname, `../../templates/tools/${key}`);
|
|
93
|
-
if (_fsExtra.default.existsSync(toolDir)) {
|
|
94
|
-
await (0, _template.applyTemplate)(config, toolDir, root);
|
|
95
|
-
}
|
|
96
|
-
const examplePkgPath = _nodePath.default.join(toolDir, 'example', '~package.json');
|
|
97
|
-
await mergePackageJsonTemplate(_nodePath.default.join(toolDir, '~package.json'), packageJson);
|
|
98
|
-
if (_fsExtra.default.existsSync(examplePkgPath)) {
|
|
99
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
100
|
-
const existingExamplePackageJson = await _fsExtra.default.readJson(_nodePath.default.join(root, 'example', 'package.json'));
|
|
101
|
-
await mergePackageJsonTemplate(examplePkgPath, existingExamplePackageJson);
|
|
102
|
-
await _fsExtra.default.writeJson(_nodePath.default.join(root, 'example', 'package.json'), existingExamplePackageJson, {
|
|
103
|
-
spaces: 2
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
await tool.postprocess?.({
|
|
107
|
-
config,
|
|
108
|
-
root
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
async function mergePackageJsonTemplate(templatePath, packageJson) {
|
|
113
|
-
if (!_fsExtra.default.existsSync(templatePath)) {
|
|
114
|
-
return;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
118
|
-
const template = await _fsExtra.default.readJson(templatePath);
|
|
119
|
-
for (const [field, value] of Object.entries(template)) {
|
|
120
|
-
if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
|
|
121
|
-
if (typeof packageJson[field] === 'object' || packageJson[field] == null) {
|
|
122
|
-
packageJson[field] = {
|
|
123
|
-
...packageJson[field],
|
|
124
|
-
...value
|
|
125
|
-
};
|
|
126
|
-
if (field === 'dependencies' || field === 'devDependencies' || field === 'peerDependencies') {
|
|
127
|
-
packageJson[field] = (0, _sortObjectKeys.default)(packageJson[field]);
|
|
128
|
-
}
|
|
129
|
-
} else {
|
|
130
|
-
throw new Error(`Cannot merge '${field}' field because it is not an object (got '${String(packageJson[field])}').`);
|
|
131
|
-
}
|
|
132
|
-
} else {
|
|
133
|
-
packageJson[field] = value;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
//# sourceMappingURL=configureTools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"configureTools.js","names":["_fsExtra","_interopRequireDefault","require","_nodePath","_template","_sortObjectKeys","e","__esModule","default","ESLINT","name","description","LEFTHOOK","RELEASE_IT","JEST","TURBOREPO","VITE","condition","config","example","postprocess","root","examplePkgPath","path","join","fs","existsSync","Error","examplePackageJson","readJson","reactVersion","dependencies","react","devDependencies","sortObjectKeys","writeJson","spaces","AVAILABLE_TOOLS","exports","eslint","jest","lefthook","vite","REQUIRED_TOOLS","turborepo","ALL_TOOLS","configureTools","tools","packageJson","key","Object","keys","tool","toolDir","resolve","__dirname","applyTemplate","mergePackageJsonTemplate","existingExamplePackageJson","templatePath","template","field","value","entries","Array","isArray","String"],"sources":["../../src/utils/configureTools.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'node:path';\nimport { applyTemplate, type TemplateConfiguration } from '../template';\nimport sortObjectKeys from './sortObjectKeys';\n\ntype PackageJson = {\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n peerDependencies?: Record<string, string>;\n [key: string]: unknown;\n};\n\ntype Tool = {\n name: string;\n description: string;\n condition?: (context: Pick<TemplateConfiguration, 'example'>) => boolean;\n postprocess?: (options: {\n config: TemplateConfiguration;\n root: string;\n }) => void | Promise<void>;\n};\n\ntype Options = {\n tools: string[];\n root: string;\n packageJson: PackageJson;\n config: TemplateConfiguration;\n};\n\nconst ESLINT = {\n name: 'ESLint with Prettier',\n description: 'Lint and format code',\n};\n\nconst LEFTHOOK = {\n name: 'Lefthook with Commitlint',\n description: 'Manage Git hooks and lint commit messages',\n};\n\nconst RELEASE_IT = {\n name: 'Release It',\n description: 'Automate versioning and package publishing tasks',\n};\n\nconst JEST = {\n name: 'Jest',\n description: 'Test JavaScript and TypeScript code',\n};\n\nconst TURBOREPO = {\n name: 'Turborepo',\n description: 'Cache build outputs on CI',\n};\n\nconst VITE: Tool = {\n name: 'Vite',\n description: 'Add web support to the example app',\n condition: (config) => config.example != null && config.example !== 'expo',\n postprocess: async ({ root }) => {\n const examplePkgPath = path.join(root, 'example', 'package.json');\n\n if (!fs.existsSync(examplePkgPath)) {\n throw new Error(\"Couldn't find the example app's package.json.\");\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n const examplePackageJson = (await fs.readJson(\n examplePkgPath\n )) as PackageJson;\n\n const reactVersion =\n examplePackageJson.dependencies?.react ??\n examplePackageJson.devDependencies?.react;\n\n if (reactVersion == null) {\n throw new Error(\"Couldn't find the package 'react' in the example app.\");\n }\n\n examplePackageJson.dependencies = sortObjectKeys({\n ...examplePackageJson.dependencies,\n 'react-dom': reactVersion,\n });\n\n await fs.writeJson(examplePkgPath, examplePackageJson, { spaces: 2 });\n },\n};\n\nexport const AVAILABLE_TOOLS = {\n eslint: ESLINT,\n jest: JEST,\n lefthook: LEFTHOOK,\n 'release-it': RELEASE_IT,\n vite: VITE,\n} as const satisfies Record<string, Tool>;\n\nconst REQUIRED_TOOLS = {\n turborepo: TURBOREPO,\n} as const satisfies Record<string, Tool>;\n\nconst ALL_TOOLS = {\n ...AVAILABLE_TOOLS,\n ...REQUIRED_TOOLS,\n} as const;\n\nexport async function configureTools({\n tools,\n config,\n root,\n packageJson,\n}: Options) {\n for (const key of [\n ...tools,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n ...(Object.keys(REQUIRED_TOOLS) as (keyof typeof REQUIRED_TOOLS)[]),\n ]) {\n if (!(key in ALL_TOOLS)) {\n throw new Error(\n `Invalid tool '${key}'. Available tools are: ${Object.keys(\n AVAILABLE_TOOLS\n ).join(', ')}.`\n );\n }\n\n // @ts-expect-error: We checked the key above\n const tool: Tool = ALL_TOOLS[key];\n\n if (tool.condition && !tool.condition(config)) {\n continue;\n }\n\n const toolDir = path.resolve(__dirname, `../../templates/tools/${key}`);\n\n if (fs.existsSync(toolDir)) {\n await applyTemplate(config, toolDir, root);\n }\n\n const examplePkgPath = path.join(toolDir, 'example', '~package.json');\n\n await mergePackageJsonTemplate(\n path.join(toolDir, '~package.json'),\n packageJson\n );\n\n if (fs.existsSync(examplePkgPath)) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n const existingExamplePackageJson = (await fs.readJson(\n path.join(root, 'example', 'package.json')\n )) as PackageJson;\n\n await mergePackageJsonTemplate(\n examplePkgPath,\n existingExamplePackageJson\n );\n\n await fs.writeJson(\n path.join(root, 'example', 'package.json'),\n existingExamplePackageJson,\n {\n spaces: 2,\n }\n );\n }\n\n await tool.postprocess?.({ config, root });\n }\n}\n\nasync function mergePackageJsonTemplate(\n templatePath: string,\n packageJson: PackageJson\n) {\n if (!fs.existsSync(templatePath)) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n const template = (await fs.readJson(templatePath)) as PackageJson;\n\n for (const [field, value] of Object.entries(template)) {\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n if (\n typeof packageJson[field] === 'object' ||\n packageJson[field] == null\n ) {\n packageJson[field] = {\n ...packageJson[field],\n ...value,\n };\n\n if (\n field === 'dependencies' ||\n field === 'devDependencies' ||\n field === 'peerDependencies'\n ) {\n packageJson[field] = sortObjectKeys(packageJson[field]);\n }\n } else {\n throw new Error(\n `Cannot merge '${field}' field because it is not an object (got '${String(packageJson[field])}').`\n );\n }\n } else {\n packageJson[field] = value;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createMetadata = createMetadata;
|
|
7
|
-
var _package = require("../../package.json");
|
|
8
|
-
function createMetadata(answers) {
|
|
9
|
-
// Some of the passed args can already be derived from the generated package.json file.
|
|
10
|
-
const ignoredAnswers = ['name', 'directory', 'slug', 'description', 'authorName', 'authorEmail', 'authorUrl', 'repoUrl', 'example', 'reactNativeVersion', 'local'];
|
|
11
|
-
const libraryMetadata = Object.fromEntries(Object.entries(answers).filter(([answer]) => !ignoredAnswers.includes(
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
13
|
-
answer)));
|
|
14
|
-
libraryMetadata.version = _package.version;
|
|
15
|
-
return libraryMetadata;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=createMetadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createMetadata.js","names":["_package","require","createMetadata","answers","ignoredAnswers","libraryMetadata","Object","fromEntries","entries","filter","answer","includes","version"],"sources":["../../src/utils/createMetadata.ts"],"sourcesContent":["import { version } from '../../package.json';\nimport type { Answers } from '../prompt';\n\nexport function createMetadata(answers: Partial<Answers>) {\n // Some of the passed args can already be derived from the generated package.json file.\n const ignoredAnswers: (keyof Answers)[] = [\n 'name',\n 'directory',\n 'slug',\n 'description',\n 'authorName',\n 'authorEmail',\n 'authorUrl',\n 'repoUrl',\n 'example',\n 'reactNativeVersion',\n 'local',\n ];\n\n const libraryMetadata = Object.fromEntries(\n Object.entries(answers).filter(\n ([answer]) =>\n !ignoredAnswers.includes(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion\n answer as keyof Answers\n )\n )\n );\n\n libraryMetadata.version = version;\n\n return libraryMetadata;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGO,SAASC,cAAcA,CAACC,OAAyB,EAAE;EACxD;EACA,MAAMC,cAAiC,GAAG,CACxC,MAAM,EACN,WAAW,EACX,MAAM,EACN,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,OAAO,CACR;EAED,MAAMC,eAAe,GAAGC,MAAM,CAACC,WAAW,CACxCD,MAAM,CAACE,OAAO,CAACL,OAAO,CAAC,CAACM,MAAM,CAC5B,CAAC,CAACC,MAAM,CAAC,KACP,CAACN,cAAc,CAACO,QAAQ;EACtB;EACAD,MACF,CACJ,CACF,CAAC;EAEDL,eAAe,CAACO,OAAO,GAAGA,gBAAO;EAEjC,OAAOP,eAAe;AACxB","ignoreList":[]}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createInitialGitCommit = createInitialGitCommit;
|
|
7
|
-
var _spawn = require("./spawn");
|
|
8
|
-
async function createInitialGitCommit(folder, signal) {
|
|
9
|
-
let isInGitRepo = false;
|
|
10
|
-
try {
|
|
11
|
-
isInGitRepo = (await (0, _spawn.spawn)('git', ['rev-parse', '--is-inside-work-tree'], {
|
|
12
|
-
cwd: folder,
|
|
13
|
-
signal
|
|
14
|
-
})) === 'true';
|
|
15
|
-
} catch (error) {
|
|
16
|
-
// Ignore errors
|
|
17
|
-
}
|
|
18
|
-
if (!isInGitRepo) {
|
|
19
|
-
await (0, _spawn.spawn)('git', ['init'], {
|
|
20
|
-
cwd: folder,
|
|
21
|
-
signal
|
|
22
|
-
});
|
|
23
|
-
await (0, _spawn.spawn)('git', ['branch', '-M', 'main'], {
|
|
24
|
-
cwd: folder,
|
|
25
|
-
signal
|
|
26
|
-
});
|
|
27
|
-
await (0, _spawn.spawn)('git', ['add', '.'], {
|
|
28
|
-
cwd: folder,
|
|
29
|
-
signal
|
|
30
|
-
});
|
|
31
|
-
await (0, _spawn.spawn)('git', ['commit', '-m', 'chore: initial commit'], {
|
|
32
|
-
cwd: folder,
|
|
33
|
-
signal
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=initialCommit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initialCommit.js","names":["_spawn","require","createInitialGitCommit","folder","signal","isInGitRepo","spawn","cwd","error"],"sources":["../../src/utils/initialCommit.ts"],"sourcesContent":["import { spawn } from './spawn';\n\nexport async function createInitialGitCommit(\n folder: string,\n signal?: AbortSignal\n) {\n let isInGitRepo = false;\n\n try {\n isInGitRepo =\n (await spawn('git', ['rev-parse', '--is-inside-work-tree'], {\n cwd: folder,\n signal,\n })) === 'true';\n } catch (error) {\n // Ignore errors\n }\n\n if (!isInGitRepo) {\n await spawn('git', ['init'], { cwd: folder, signal });\n await spawn('git', ['branch', '-M', 'main'], { cwd: folder, signal });\n await spawn('git', ['add', '.'], { cwd: folder, signal });\n await spawn('git', ['commit', '-m', 'chore: initial commit'], {\n cwd: folder,\n signal,\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,eAAeC,sBAAsBA,CAC1CC,MAAc,EACdC,MAAoB,EACpB;EACA,IAAIC,WAAW,GAAG,KAAK;EAEvB,IAAI;IACFA,WAAW,GACT,CAAC,MAAM,IAAAC,YAAK,EAAC,KAAK,EAAE,CAAC,WAAW,EAAE,uBAAuB,CAAC,EAAE;MAC1DC,GAAG,EAAEJ,MAAM;MACXC;IACF,CAAC,CAAC,MAAM,MAAM;EAClB,CAAC,CAAC,OAAOI,KAAK,EAAE;IACd;EAAA;EAGF,IAAI,CAACH,WAAW,EAAE;IAChB,MAAM,IAAAC,YAAK,EAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE;MAAEC,GAAG,EAAEJ,MAAM;MAAEC;IAAO,CAAC,CAAC;IACrD,MAAM,IAAAE,YAAK,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;MAAEC,GAAG,EAAEJ,MAAM;MAAEC;IAAO,CAAC,CAAC;IACrE,MAAM,IAAAE,YAAK,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;MAAEC,GAAG,EAAEJ,MAAM;MAAEC;IAAO,CAAC,CAAC;IACzD,MAAM,IAAAE,YAAK,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,uBAAuB,CAAC,EAAE;MAC5DC,GAAG,EAAEJ,MAAM;MACXC;IACF,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
|
package/lib/utils/local.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.addNitroDependencyToLocalLibrary = addNitroDependencyToLocalLibrary;
|
|
7
|
-
exports.linkLocalLibrary = linkLocalLibrary;
|
|
8
|
-
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
9
|
-
var _path = _interopRequireDefault(require("path"));
|
|
10
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
-
/** @returns `true` if successfull */
|
|
12
|
-
async function addNitroDependencyToLocalLibrary(config) {
|
|
13
|
-
if (config.versions.nitro === undefined) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
const appPackageJsonPath = await findAppPackageJsonPath();
|
|
17
|
-
if (appPackageJsonPath === null) {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
const appPackageJson = await _fsExtra.default.readJson(appPackageJsonPath);
|
|
21
|
-
const dependencies = appPackageJson['dependencies'] ?? {};
|
|
22
|
-
dependencies['react-native-nitro-modules'] = config.versions.nitro;
|
|
23
|
-
appPackageJson['dependencies'] = dependencies;
|
|
24
|
-
await _fsExtra.default.writeJson(appPackageJsonPath, appPackageJson, {
|
|
25
|
-
spaces: 2
|
|
26
|
-
});
|
|
27
|
-
return true;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/** @returns `true` if successfull */
|
|
31
|
-
async function linkLocalLibrary(config, folder, packageManager) {
|
|
32
|
-
const appPackageJsonPath = await findAppPackageJsonPath();
|
|
33
|
-
if (appPackageJsonPath === null) {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
const appPackageJson = await _fsExtra.default.readJson(appPackageJsonPath);
|
|
37
|
-
const isReactNativeProject = Boolean(appPackageJson.dependencies?.['react-native']);
|
|
38
|
-
if (!isReactNativeProject) {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
const dependencies = appPackageJson['dependencies'] ?? {};
|
|
42
|
-
dependencies[config.project.slug] = packageManager === 'yarn' ? `link:./${_path.default.relative(process.cwd(), folder)}` : `file:./${_path.default.relative(process.cwd(), folder)}`;
|
|
43
|
-
await _fsExtra.default.writeJSON(appPackageJsonPath, appPackageJson, {
|
|
44
|
-
spaces: 2
|
|
45
|
-
});
|
|
46
|
-
return true;
|
|
47
|
-
}
|
|
48
|
-
async function findAppPackageJsonPath() {
|
|
49
|
-
const cwdPackageJson = _path.default.join(process.cwd(), 'package.json');
|
|
50
|
-
if (!(await _fsExtra.default.pathExists(cwdPackageJson))) {
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
return cwdPackageJson;
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=local.js.map
|
package/lib/utils/local.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local.js","names":["_fsExtra","_interopRequireDefault","require","_path","e","__esModule","default","addNitroDependencyToLocalLibrary","config","versions","nitro","undefined","appPackageJsonPath","findAppPackageJsonPath","appPackageJson","fs","readJson","dependencies","writeJson","spaces","linkLocalLibrary","folder","packageManager","isReactNativeProject","Boolean","project","slug","path","relative","process","cwd","writeJSON","cwdPackageJson","join","pathExists"],"sources":["../../src/utils/local.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\nimport type { TemplateConfiguration } from '../template';\n\ntype PackageJson = {\n dependencies?: Record<string, string>;\n};\n\n/** @returns `true` if successfull */\nexport async function addNitroDependencyToLocalLibrary(\n config: TemplateConfiguration\n): Promise<boolean> {\n if (config.versions.nitro === undefined) {\n return false;\n }\n\n const appPackageJsonPath = await findAppPackageJsonPath();\n if (appPackageJsonPath === null) {\n return false;\n }\n\n const appPackageJson: PackageJson = await fs.readJson(appPackageJsonPath);\n const dependencies = appPackageJson['dependencies'] ?? {};\n\n dependencies['react-native-nitro-modules'] = config.versions.nitro;\n\n appPackageJson['dependencies'] = dependencies;\n await fs.writeJson(appPackageJsonPath, appPackageJson, {\n spaces: 2,\n });\n\n return true;\n}\n\n/** @returns `true` if successfull */\nexport async function linkLocalLibrary(\n config: TemplateConfiguration,\n folder: string,\n packageManager: string\n): Promise<boolean> {\n const appPackageJsonPath = await findAppPackageJsonPath();\n if (appPackageJsonPath === null) {\n return false;\n }\n\n const appPackageJson: PackageJson = await fs.readJson(appPackageJsonPath);\n\n const isReactNativeProject = Boolean(\n appPackageJson.dependencies?.['react-native']\n );\n\n if (!isReactNativeProject) {\n return false;\n }\n\n const dependencies = appPackageJson['dependencies'] ?? {};\n dependencies[config.project.slug] =\n packageManager === 'yarn'\n ? `link:./${path.relative(process.cwd(), folder)}`\n : `file:./${path.relative(process.cwd(), folder)}`;\n\n await fs.writeJSON(appPackageJsonPath, appPackageJson, {\n spaces: 2,\n });\n\n return true;\n}\n\nasync function findAppPackageJsonPath(): Promise<string | null> {\n const cwdPackageJson = path.join(process.cwd(), 'package.json');\n if (!(await fs.pathExists(cwdPackageJson))) {\n return null;\n }\n\n return cwdPackageJson;\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAwB,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOxB;AACO,eAAeG,gCAAgCA,CACpDC,MAA6B,EACX;EAClB,IAAIA,MAAM,CAACC,QAAQ,CAACC,KAAK,KAAKC,SAAS,EAAE;IACvC,OAAO,KAAK;EACd;EAEA,MAAMC,kBAAkB,GAAG,MAAMC,sBAAsB,CAAC,CAAC;EACzD,IAAID,kBAAkB,KAAK,IAAI,EAAE;IAC/B,OAAO,KAAK;EACd;EAEA,MAAME,cAA2B,GAAG,MAAMC,gBAAE,CAACC,QAAQ,CAACJ,kBAAkB,CAAC;EACzE,MAAMK,YAAY,GAAGH,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;EAEzDG,YAAY,CAAC,4BAA4B,CAAC,GAAGT,MAAM,CAACC,QAAQ,CAACC,KAAK;EAElEI,cAAc,CAAC,cAAc,CAAC,GAAGG,YAAY;EAC7C,MAAMF,gBAAE,CAACG,SAAS,CAACN,kBAAkB,EAAEE,cAAc,EAAE;IACrDK,MAAM,EAAE;EACV,CAAC,CAAC;EAEF,OAAO,IAAI;AACb;;AAEA;AACO,eAAeC,gBAAgBA,CACpCZ,MAA6B,EAC7Ba,MAAc,EACdC,cAAsB,EACJ;EAClB,MAAMV,kBAAkB,GAAG,MAAMC,sBAAsB,CAAC,CAAC;EACzD,IAAID,kBAAkB,KAAK,IAAI,EAAE;IAC/B,OAAO,KAAK;EACd;EAEA,MAAME,cAA2B,GAAG,MAAMC,gBAAE,CAACC,QAAQ,CAACJ,kBAAkB,CAAC;EAEzE,MAAMW,oBAAoB,GAAGC,OAAO,CAClCV,cAAc,CAACG,YAAY,GAAG,cAAc,CAC9C,CAAC;EAED,IAAI,CAACM,oBAAoB,EAAE;IACzB,OAAO,KAAK;EACd;EAEA,MAAMN,YAAY,GAAGH,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;EACzDG,YAAY,CAACT,MAAM,CAACiB,OAAO,CAACC,IAAI,CAAC,GAC/BJ,cAAc,KAAK,MAAM,GACrB,UAAUK,aAAI,CAACC,QAAQ,CAACC,OAAO,CAACC,GAAG,CAAC,CAAC,EAAET,MAAM,CAAC,EAAE,GAChD,UAAUM,aAAI,CAACC,QAAQ,CAACC,OAAO,CAACC,GAAG,CAAC,CAAC,EAAET,MAAM,CAAC,EAAE;EAEtD,MAAMN,gBAAE,CAACgB,SAAS,CAACnB,kBAAkB,EAAEE,cAAc,EAAE;IACrDK,MAAM,EAAE;EACV,CAAC,CAAC;EAEF,OAAO,IAAI;AACb;AAEA,eAAeN,sBAAsBA,CAAA,EAA2B;EAC9D,MAAMmB,cAAc,GAAGL,aAAI,CAACM,IAAI,CAACJ,OAAO,CAACC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC;EAC/D,IAAI,EAAE,MAAMf,gBAAE,CAACmB,UAAU,CAACF,cAAc,CAAC,CAAC,EAAE;IAC1C,OAAO,IAAI;EACb;EAEA,OAAOA,cAAc;AACvB","ignoreList":[]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.determinePackageManager = determinePackageManager;
|
|
7
|
-
var _fsExtra = _interopRequireDefault(require("fs-extra"));
|
|
8
|
-
var _path = _interopRequireDefault(require("path"));
|
|
9
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
-
async function determinePackageManager() {
|
|
11
|
-
return (await _fsExtra.default.pathExists(_path.default.join(process.cwd(), 'yarn.lock'))) ? 'yarn' : 'npm';
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=packageManager.js.map
|