@sasjs/cli 3.11.0 → 3.12.0

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.
@@ -126,6 +126,11 @@ exports.angularAppFiles = {
126
126
  subFolders: []
127
127
  }
128
128
  ]
129
+ },
130
+ {
131
+ folderName: 'docs',
132
+ files: [{ fileName: 'index.html' }],
133
+ subFolders: []
129
134
  }
130
135
  ]
131
136
  };
@@ -140,6 +140,9 @@ describe('sasjs create', function () {
140
140
  _a.sent();
141
141
  return [4 /*yield*/, verifyCreateWeb('.', 'react')];
142
142
  case 4:
143
+ _a.sent();
144
+ return [4 /*yield*/, (0, test_1.verifyGitNotPresent)(process.projectDir)];
145
+ case 5:
143
146
  _a.sent();
144
147
  return [2 /*return*/];
145
148
  }
@@ -164,6 +167,9 @@ describe('sasjs create', function () {
164
167
  _a.sent();
165
168
  return [4 /*yield*/, verifyCreateWeb('test-react-app', 'react')];
166
169
  case 4:
170
+ _a.sent();
171
+ return [4 /*yield*/, (0, test_1.verifyGitNotPresent)(process.projectDir)];
172
+ case 5:
167
173
  _a.sent();
168
174
  return [2 /*return*/];
169
175
  }
@@ -212,6 +218,9 @@ describe('sasjs create', function () {
212
218
  _a.sent();
213
219
  return [4 /*yield*/, verifyCreateWeb('test-angular-app', 'angular')];
214
220
  case 4:
221
+ _a.sent();
222
+ return [4 /*yield*/, (0, test_1.verifyGitNotPresent)(process.projectDir)];
223
+ case 5:
215
224
  _a.sent();
216
225
  return [2 /*return*/];
217
226
  }
@@ -77,6 +77,17 @@ exports.reactAppFiles = {
77
77
  subFolders: []
78
78
  }
79
79
  ]
80
+ },
81
+ {
82
+ folderName: 'public',
83
+ files: [],
84
+ subFolders: [
85
+ {
86
+ folderName: 'docs',
87
+ files: [{ fileName: 'index.html' }],
88
+ subFolders: []
89
+ }
90
+ ]
80
91
  }
81
92
  ]
82
93
  };
@@ -21,3 +21,4 @@ export declare const verifyDotFiles: (docsFolder: string) => Promise<void>;
21
21
  export declare const verifyDotFilesNotGenerated: (docsFolder: string) => Promise<void>;
22
22
  export declare const verifyCompiledService: (compiledContent: string, macrosToTest: string[], checkInit?: boolean, checkTerm?: boolean) => Promise<void>;
23
23
  export declare const verifyCompiledJob: (compiledContent: string, macrosToTest: string[], checkInit?: boolean, checkTerm?: boolean) => Promise<void>;
24
+ export declare const verifyGitNotPresent: (folder: string) => Promise<void>;
@@ -50,7 +50,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
50
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
51
51
  };
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
- exports.verifyCompiledJob = exports.verifyCompiledService = exports.verifyDotFilesNotGenerated = exports.verifyDotFiles = exports.verifyDocs = exports.updateConfig = exports.updateTarget = exports.removeAllTargetsFromConfigs = exports.verifyPackageJsonContent = exports.verifyFolder = exports.mockProcessExit = exports.verifyStep = exports.createTestGlobalTarget = exports.generateTestTarget = exports.removeTestServerFolder = exports.removeTestApp = exports.createTestMinimalApp = exports.createTestJobsApp = exports.createTestApp = void 0;
53
+ exports.verifyGitNotPresent = exports.verifyCompiledJob = exports.verifyCompiledService = exports.verifyDotFilesNotGenerated = exports.verifyDotFiles = exports.verifyDocs = exports.updateConfig = exports.updateTarget = exports.removeAllTargetsFromConfigs = exports.verifyPackageJsonContent = exports.verifyFolder = exports.mockProcessExit = exports.verifyStep = exports.createTestGlobalTarget = exports.generateTestTarget = exports.removeTestServerFolder = exports.removeTestApp = exports.createTestMinimalApp = exports.createTestJobsApp = exports.createTestApp = void 0;
54
54
  var path_1 = __importDefault(require("path"));
55
55
  var dotenv_1 = __importDefault(require("dotenv"));
56
56
  var utils_1 = require("@sasjs/utils");
@@ -629,3 +629,20 @@ var verifyCompile = function (compiledContent, macrosToTest, checkInit, checkTer
629
629
  return [2 /*return*/];
630
630
  });
631
631
  }); };
632
+ var verifyGitNotPresent = function (folder) { return __awaiter(void 0, void 0, void 0, function () {
633
+ var gitFolderOrModules;
634
+ return __generator(this, function (_a) {
635
+ switch (_a.label) {
636
+ case 0: return [4 /*yield*/, (0, utils_1.listFilesAndSubFoldersInFolder)(folder, true)];
637
+ case 1:
638
+ gitFolderOrModules = (_a.sent()).filter(function (sub) {
639
+ return /\.git$/.test(sub) ||
640
+ new RegExp(".git".concat(utils_1.pathSepEscaped)).test(sub) ||
641
+ /\.gitmodules/.test(sub);
642
+ });
643
+ expect(gitFolderOrModules.length).toEqual(0);
644
+ return [2 /*return*/];
645
+ }
646
+ });
647
+ }); };
648
+ exports.verifyGitNotPresent = verifyGitNotPresent;
@@ -191,8 +191,19 @@ function createApp(folderPath, repoUrl, installDependencies) {
191
191
  var spinner = (0, ora_1.default)("Creating SASjs project in ".concat(folderPath, "."));
192
192
  spinner.start();
193
193
  var gitBranch = repoUrl.includes('template_sasonly') ? 'master' : 'main';
194
- shelljs_1.default.exec("cd \"".concat(folderPath, "\" && git clone --depth 1 -b ").concat(gitBranch, " ").concat(repoUrl, " ."), { silent: true });
195
- shelljs_1.default.rm('-rf', path_1.default.join(folderPath, '.git'));
194
+ var gitVersion = (shelljs_1.default
195
+ .exec("git version", { silent: true })
196
+ .stdout.match(/(?<!git version)\d+\.\d+\.\d+/) || '')[0].replace(/\./g, '');
197
+ // NOTE: git version 2.13 and greater are using '--recurse-submodules' instead of '--recurse' attribute to clone submodules
198
+ shelljs_1.default.exec("cd \"".concat(folderPath, "\" && git clone --recurse").concat(parseInt(gitVersion) > 2130 ? '-submodules' : '', " --depth 1 -b ").concat(gitBranch, " ").concat(repoUrl, " ."), { silent: true });
199
+ deleteGitFolder(folderPath);
200
+ shelljs_1.default.rm('-f', [path_1.default.join(folderPath, '.gitmodules')]);
201
+ if (repoUrl.includes('react-seed-app')) {
202
+ deleteGitFolder(path_1.default.join(folderPath, 'public', 'docs'));
203
+ }
204
+ else if (repoUrl.includes('angular-seed-app')) {
205
+ deleteGitFolder(path_1.default.join(folderPath, 'docs'));
206
+ }
196
207
  spinner.stop();
197
208
  if (installDependencies) {
198
209
  spinner.text = 'Installing dependencies...';
@@ -203,6 +214,9 @@ function createApp(folderPath, repoUrl, installDependencies) {
203
214
  spinner.stop();
204
215
  }
205
216
  }
217
+ var deleteGitFolder = function (folderPath) {
218
+ return shelljs_1.default.rm('-rf', path_1.default.join(folderPath, '.git'));
219
+ };
206
220
  function setupNpmProject(folderName) {
207
221
  return __awaiter(this, void 0, void 0, function () {
208
222
  var folderPath;
@@ -241,7 +255,7 @@ exports.setupNpmProject = setupNpmProject;
241
255
  function setupGitIgnore(folderName) {
242
256
  var _a, _b;
243
257
  return __awaiter(this, void 0, void 0, function () {
244
- var gitIgnoreFilePath, gitIgnoreExists, gitIgnoreContent, newgitIgnoreContent, regExpSasjsBuild, regExpSasjsResults, regExpNodeModules, folderPath, gitDirectoryExists;
258
+ var gitIgnoreFilePath, gitIgnoreExists, gitIgnoreContent, newgitIgnoreContent, regExpSasjsBuild, regExpSasjsResults, regExpNodeModules;
245
259
  return __generator(this, function (_c) {
246
260
  switch (_c.label) {
247
261
  case 0:
@@ -278,17 +292,7 @@ function setupGitIgnore(folderName) {
278
292
  _c.sent();
279
293
  (_b = process.logger) === null || _b === void 0 ? void 0 : _b.success('.gitignore file has been created.');
280
294
  _c.label = 7;
281
- case 7:
282
- folderPath = path_1.default.join(process.projectDir, folderName);
283
- return [4 /*yield*/, (0, utils_1.folderExists)(path_1.default.join(folderPath, '.git'))];
284
- case 8:
285
- gitDirectoryExists = _c.sent();
286
- if (!gitDirectoryExists) {
287
- shelljs_1.default.exec("cd ".concat(folderName, " && git init"), {
288
- silent: true
289
- });
290
- }
291
- return [2 /*return*/];
295
+ case 7: return [2 /*return*/];
292
296
  }
293
297
  });
294
298
  });
package/package.json CHANGED
@@ -94,5 +94,5 @@
94
94
  "typescript": "4.5.4",
95
95
  "util": "0.12.4"
96
96
  },
97
- "version": "3.11.0"
97
+ "version": "3.12.0"
98
98
  }