18
18
*/
19
19
20
20
const path = require ( 'node:path' ) ;
21
- const fs = require ( 'fs-extra ' ) ;
21
+ const fs = require ( 'node:fs ' ) ;
22
22
const utils = require ( './utils' ) ;
23
23
const check_reqs = require ( './check_reqs' ) ;
24
24
const ROOT = path . join ( __dirname , '..' ) ;
@@ -49,27 +49,27 @@ function copyJsAndLibrary (projectPath, shared, projectName, targetAPI) {
49
49
const app_path = path . join ( projectPath , 'app' , 'src' , 'main' ) ;
50
50
const platform_www = path . join ( projectPath , 'platform_www' ) ;
51
51
52
- fs . copySync ( srcCordovaJsPath , path . join ( app_path , 'assets' , 'www' , 'cordova.js' ) ) ;
52
+ fs . cpSync ( srcCordovaJsPath , path . join ( app_path , 'assets' , 'www' , 'cordova.js' ) ) ;
53
53
54
54
// Copy the cordova.js file to platforms/<platform>/platform_www/
55
55
// The www dir is nuked on each prepare so we keep cordova.js in platform_www
56
- fs . ensureDirSync ( platform_www ) ;
57
- fs . copySync ( srcCordovaJsPath , path . join ( platform_www , 'cordova.js' ) ) ;
58
- fs . copySync ( path . join ( ROOT , 'framework' , 'cdv-gradle-config-defaults.json' ) , path . join ( projectPath , 'cdv-gradle-config.json' ) ) ;
56
+ fs . mkdirSync ( platform_www , { recursive : true } ) ;
57
+ fs . cpSync ( srcCordovaJsPath , path . join ( platform_www , 'cordova.js' ) ) ;
58
+ fs . cpSync ( path . join ( ROOT , 'framework' , 'cdv-gradle-config-defaults.json' ) , path . join ( projectPath , 'cdv-gradle-config.json' ) ) ;
59
59
60
60
if ( shared ) {
61
61
const relativeFrameworkPath = path . relative ( projectPath , getFrameworkDir ( projectPath , true ) ) ;
62
62
fs . symlinkSync ( relativeFrameworkPath , nestedCordovaLibPath , 'dir' ) ;
63
63
} else {
64
- fs . ensureDirSync ( nestedCordovaLibPath ) ;
65
- fs . copySync ( path . join ( ROOT , 'framework' , 'AndroidManifest.xml' ) , path . join ( nestedCordovaLibPath , 'AndroidManifest.xml' ) ) ;
64
+ fs . mkdirSync ( nestedCordovaLibPath , { recursive : true } ) ;
65
+ fs . cpSync ( path . join ( ROOT , 'framework' , 'AndroidManifest.xml' ) , path . join ( nestedCordovaLibPath , 'AndroidManifest.xml' ) ) ;
66
66
const propertiesEditor = createEditor ( path . join ( ROOT , 'framework' , 'project.properties' ) ) ;
67
67
propertiesEditor . set ( 'target' , targetAPI ) ;
68
68
propertiesEditor . save ( path . join ( nestedCordovaLibPath , 'project.properties' ) ) ;
69
- fs . copySync ( path . join ( ROOT , 'framework' , 'build.gradle' ) , path . join ( nestedCordovaLibPath , 'build.gradle' ) ) ;
70
- fs . copySync ( path . join ( ROOT , 'framework' , 'cordova.gradle' ) , path . join ( nestedCordovaLibPath , 'cordova.gradle' ) ) ;
71
- fs . copySync ( path . join ( ROOT , 'framework' , 'repositories.gradle' ) , path . join ( nestedCordovaLibPath , 'repositories.gradle' ) ) ;
72
- fs . copySync ( path . join ( ROOT , 'framework' , 'src' ) , path . join ( nestedCordovaLibPath , 'src' ) ) ;
69
+ fs . cpSync ( path . join ( ROOT , 'framework' , 'build.gradle' ) , path . join ( nestedCordovaLibPath , 'build.gradle' ) ) ;
70
+ fs . cpSync ( path . join ( ROOT , 'framework' , 'cordova.gradle' ) , path . join ( nestedCordovaLibPath , 'cordova.gradle' ) ) ;
71
+ fs . cpSync ( path . join ( ROOT , 'framework' , 'repositories.gradle' ) , path . join ( nestedCordovaLibPath , 'repositories.gradle' ) ) ;
72
+ fs . cpSync ( path . join ( ROOT , 'framework' , 'src' ) , path . join ( nestedCordovaLibPath , 'src' ) , { recursive : true } ) ;
73
73
}
74
74
}
75
75
@@ -116,10 +116,10 @@ function prepBuildFiles (projectPath) {
116
116
function copyBuildRules ( projectPath ) {
117
117
const srcDir = path . join ( ROOT , 'templates' , 'project' ) ;
118
118
119
- fs . copySync ( path . join ( srcDir , 'build.gradle' ) , path . join ( projectPath , 'build.gradle' ) ) ;
120
- fs . copySync ( path . join ( srcDir , 'app' , 'build.gradle' ) , path . join ( projectPath , 'app' , 'build.gradle' ) ) ;
121
- fs . copySync ( path . join ( srcDir , 'app' , 'repositories.gradle' ) , path . join ( projectPath , 'app' , 'repositories.gradle' ) ) ;
122
- fs . copySync ( path . join ( srcDir , 'repositories.gradle' ) , path . join ( projectPath , 'repositories.gradle' ) ) ;
119
+ fs . cpSync ( path . join ( srcDir , 'build.gradle' ) , path . join ( projectPath , 'build.gradle' ) ) ;
120
+ fs . cpSync ( path . join ( srcDir , 'app' , 'build.gradle' ) , path . join ( projectPath , 'app' , 'build.gradle' ) ) ;
121
+ fs . cpSync ( path . join ( srcDir , 'app' , 'repositories.gradle' ) , path . join ( projectPath , 'app' , 'repositories.gradle' ) ) ;
122
+ fs . cpSync ( path . join ( srcDir , 'repositories.gradle' ) , path . join ( projectPath , 'repositories.gradle' ) ) ;
123
123
124
124
copyGradleTools ( projectPath ) ;
125
125
}
@@ -128,9 +128,9 @@ function copyScripts (projectPath) {
128
128
const srcScriptsDir = path . join ( ROOT , 'templates' , 'cordova' ) ;
129
129
const destScriptsDir = path . join ( projectPath , 'cordova' ) ;
130
130
// Delete old scripts directory if this is an update.
131
- fs . removeSync ( destScriptsDir ) ;
131
+ fs . rmSync ( destScriptsDir , { recursive : true , force : true } ) ;
132
132
// Copy in the new ones.
133
- fs . copySync ( srcScriptsDir , destScriptsDir ) ;
133
+ fs . cpSync ( srcScriptsDir , destScriptsDir , { recursive : true } ) ;
134
134
}
135
135
136
136
/**
@@ -174,7 +174,7 @@ function validateProjectName (project_name) {
174
174
function copyGradleTools ( projectPath ) {
175
175
const srcDir = path . join ( ROOT , 'templates' , 'project' ) ;
176
176
177
- fs . copySync ( path . resolve ( srcDir , 'tools' ) , path . resolve ( projectPath , 'tools' ) ) ;
177
+ fs . cpSync ( path . resolve ( srcDir , 'tools' ) , path . resolve ( projectPath , 'tools' ) , { recursive : true } ) ;
178
178
}
179
179
180
180
/**
@@ -232,13 +232,13 @@ exports.create = function (project_path, config, options, events) {
232
232
const app_path = path . join ( project_path , 'app' , 'src' , 'main' ) ;
233
233
234
234
// copy project template
235
- fs . ensureDirSync ( app_path ) ;
236
- fs . copySync ( path . join ( project_template_dir , 'assets' ) , path . join ( app_path , 'assets' ) ) ;
237
- fs . copySync ( path . join ( project_template_dir , 'res' ) , path . join ( app_path , 'res' ) ) ;
238
- fs . copySync ( path . join ( project_template_dir , 'gitignore' ) , path . join ( project_path , '.gitignore' ) ) ;
235
+ fs . mkdirSync ( app_path , { recursive : true } ) ;
236
+ fs . cpSync ( path . join ( project_template_dir , 'assets' ) , path . join ( app_path , 'assets' ) , { recursive : true } ) ;
237
+ fs . cpSync ( path . join ( project_template_dir , 'res' ) , path . join ( app_path , 'res' ) , { recursive : true } ) ;
238
+ fs . cpSync ( path . join ( project_template_dir , 'gitignore' ) , path . join ( project_path , '.gitignore' ) ) ;
239
239
240
240
// Manually create directories that would be empty within the template (since git doesn't track directories).
241
- fs . ensureDirSync ( path . join ( app_path , 'libs' ) ) ;
241
+ fs . mkdirSync ( path . join ( app_path , 'libs' ) , { recursive : true } ) ;
242
242
243
243
// copy cordova.js, cordova.jar
244
244
exports . copyJsAndLibrary ( project_path , options . link , safe_activity_name , target_api ) ;
@@ -247,9 +247,9 @@ exports.create = function (project_path, config, options, events) {
247
247
const java_path = path . join ( app_path , 'java' ) ;
248
248
const assets_path = path . join ( app_path , 'assets' ) ;
249
249
const resource_path = path . join ( app_path , 'res' ) ;
250
- fs . ensureDirSync ( java_path ) ;
251
- fs . ensureDirSync ( assets_path ) ;
252
- fs . ensureDirSync ( resource_path ) ;
250
+ fs . mkdirSync ( java_path , { recursive : true } ) ;
251
+ fs . mkdirSync ( assets_path , { recursive : true } ) ;
252
+ fs . mkdirSync ( resource_path , { recursive : true } ) ;
253
253
254
254
// store package name in cdv-gradle-config
255
255
const cdvGradleConfig = CordovaGradleConfigParserFactory . create ( project_path ) ;
@@ -261,8 +261,8 @@ exports.create = function (project_path, config, options, events) {
261
261
const activity_dir = path . join ( java_path , packagePath ) ;
262
262
const activity_path = path . join ( activity_dir , safe_activity_name + '.java' ) ;
263
263
264
- fs . ensureDirSync ( activity_dir ) ;
265
- fs . copySync ( path . join ( project_template_dir , 'Activity.java' ) , activity_path ) ;
264
+ fs . mkdirSync ( activity_dir , { recursive : true } ) ;
265
+ fs . cpSync ( path . join ( project_template_dir , 'Activity.java' ) , activity_path ) ;
266
266
utils . replaceFileContents ( activity_path , / _ _ A C T I V I T Y _ _ / , safe_activity_name ) ;
267
267
utils . replaceFileContents ( path . join ( app_path , 'res' , 'values' , 'strings.xml' ) , / _ _ N A M E _ _ / , utils . escape ( project_name ) ) ;
268
268
utils . replaceFileContents ( activity_path , / _ _ I D _ _ / , package_name ) ;
0 commit comments