@sasjs/cli
Version:
Command line interface for SASjs
67 lines (66 loc) • 5.37 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (g && (g = 0, op[0] && (_ = 0)), _) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createReadme = void 0;
var path_1 = __importDefault(require("path"));
var utils_1 = require("@sasjs/utils");
var contentReadMe = "\n# SASjs Project Repo\n\n## Contributing\n\nContributions are warmly welcomed! To avoid any misunderstandings, do please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before submitting a PR.\n\nPlease note we have a [code of conduct](https://www.contributor-covenant.org/version/2/0/code_of_conduct/), please follow it in all your interactions with the project.\n\n## Environment Setup\n\nThis repository makes use of the [SASjs](https://sasjs.io) framework for code organisation, compilation, documentation, and deployment. The following tools are highly recommended:\n\n- [NPM](https://sasjs.io/windows/#npm) - the runtime and dependency manager for [SASjs CLI](https://cli.sasjs.io) (batteries included)\n- [VSCode](https://sasjs.io/windows/#vscode) - feature packed IDE for code editing (warning - highly effective!)\n- [GIT](https://sasjs.io/windows/#git) - a safety net you cannot (and should not) do without.\n\nFor generating the documentation (`sasjs doc`) it is also necessary to install [doxygen](https://www.doxygen.nl/manual/install.html).\n\nTo get configured:\n\n1. Clone the repository\n2. Install local dependencies (`npm install`)\n3. Install the SASjs CLI globally (`npm install -g @sasjs/cli`)\n4. Add a target, and authentication (`npm add`). See [docs](https://cli.sasjs.io/add/).\n\nTo contribute:\n\n1. Create your feature branch (`git checkout -b myfeature`)\n2. Make your change\n3. Commit the change, using the [conventional commit](https://www.conventionalcommits.org/en/v1.0.0) standard\n4. Push and make a PR\n";
function createReadme(folderPath) {
return __awaiter(this, void 0, void 0, function () {
var readMeDestinationPath, pathExists;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
readMeDestinationPath = path_1.default.join(process.projectDir, folderPath, 'README.md');
return [4 /*yield*/, (0, utils_1.fileExists)(readMeDestinationPath)];
case 1:
pathExists = _a.sent();
if (!!pathExists) return [3 /*break*/, 3];
return [4 /*yield*/, (0, utils_1.createFile)(readMeDestinationPath, contentReadMe)];
case 2:
_a.sent();
_a.label = 3;
case 3: return [2 /*return*/];
}
});
});
}
exports.createReadme = createReadme;