UNPKG

ness

Version:

✪ No-effort static sites deployed to your AWS account.

79 lines 7.32 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.gitIgnore = exports.gitIgnoreNessDirectory = exports.isIgnoringNessDirectory = void 0; const fs = __importStar(require("fs-extra")); const path = __importStar(require("path")); /** * Check whether .ness is already being gitignored. */ async function isIgnoringNessDirectory() { try { const gitIgnorePath = path.resolve('.gitignore'); const gitIgnoreContents = await fs.readFile(gitIgnorePath, 'utf8'); return gitIgnoreContents.includes('.ness'); } catch (_a) { return false; } } exports.isIgnoringNessDirectory = isIgnoringNessDirectory; /** * Add .ness to .gitignore if it's not already there. */ async function gitIgnoreNessDirectory() { return await gitIgnore('.ness', 'Local Ness directory'); } exports.gitIgnoreNessDirectory = gitIgnoreNessDirectory; /** * Add a pattern to .gitignore. If .gitignore does not exist, it will be created. * * @param pattern The pattern to be added to .gitignore. * @param comment An optional comment above the ignore statement. */ async function gitIgnore(pattern, comment) { const gitIgnorePath = path.resolve('.gitignore'); const content = comment ? `\n# ${comment}\n${pattern}` : `\n${pattern}`; const hasGitIgnore = await fs.pathExists(gitIgnorePath); if (!hasGitIgnore) { // No .gitignore file. Create one and add ignore statement. await fs.writeFile(gitIgnorePath, content, 'utf8'); return true; } let gitIgnoreContents; let gitIgnoreLines; try { gitIgnoreContents = await fs.readFile(gitIgnorePath, 'utf8'); gitIgnoreLines = gitIgnoreContents.split(/[\r\n]+/); } catch (_a) { // ignore } // Not already ignoring pattern so add it to .gitignore. if (gitIgnoreLines && !gitIgnoreLines.includes(pattern)) { const updatedContents = `${gitIgnoreContents}\n${content}`; await fs.writeFile(gitIgnorePath, updatedContents, 'utf8'); return true; } return false; } exports.gitIgnore = gitIgnore; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aWdub3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2dpdGlnbm9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQThCO0FBQzlCLDJDQUE0QjtBQUU1Qjs7R0FFRztBQUNJLEtBQUssVUFBVSx1QkFBdUI7SUFDM0MsSUFBSTtRQUNGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDaEQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ2xFLE9BQU8saUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0tBQzNDO0lBQUMsV0FBTTtRQUNOLE9BQU8sS0FBSyxDQUFBO0tBQ2I7QUFDSCxDQUFDO0FBUkQsMERBUUM7QUFFRDs7R0FFRztBQUNJLEtBQUssVUFBVSxzQkFBc0I7SUFDMUMsT0FBTyxNQUFNLFNBQVMsQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLENBQUMsQ0FBQTtBQUN6RCxDQUFDO0FBRkQsd0RBRUM7QUFFRDs7Ozs7R0FLRztBQUNJLEtBQUssVUFBVSxTQUFTLENBQUMsT0FBZSxFQUFFLE9BQWdCO0lBQy9ELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDaEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLE9BQU8sS0FBSyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQTtJQUV2RSxNQUFNLFlBQVksR0FBRyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDdkQsSUFBSSxDQUFDLFlBQVksRUFBRTtRQUNqQiwyREFBMkQ7UUFDM0QsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDbEQsT0FBTyxJQUFJLENBQUE7S0FDWjtJQUVELElBQUksaUJBQWlCLENBQUE7SUFDckIsSUFBSSxjQUFjLENBQUE7SUFDbEIsSUFBSTtRQUNGLGlCQUFpQixHQUFHLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDNUQsY0FBYyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTtLQUNwRDtJQUFDLFdBQU07UUFDTixTQUFTO0tBQ1Y7SUFFRCx3REFBd0Q7SUFDeEQsSUFBSSxjQUFjLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3ZELE1BQU0sZUFBZSxHQUFHLEdBQUcsaUJBQWlCLEtBQUssT0FBTyxFQUFFLENBQUE7UUFDMUQsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDMUQsT0FBTyxJQUFJLENBQUE7S0FDWjtJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQTVCRCw4QkE0QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSdcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCdcblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIC5uZXNzIGlzIGFscmVhZHkgYmVpbmcgZ2l0aWdub3JlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGlzSWdub3JpbmdOZXNzRGlyZWN0b3J5KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICB0cnkge1xuICAgIGNvbnN0IGdpdElnbm9yZVBhdGggPSBwYXRoLnJlc29sdmUoJy5naXRpZ25vcmUnKVxuICAgIGNvbnN0IGdpdElnbm9yZUNvbnRlbnRzID0gYXdhaXQgZnMucmVhZEZpbGUoZ2l0SWdub3JlUGF0aCwgJ3V0ZjgnKVxuICAgIHJldHVybiBnaXRJZ25vcmVDb250ZW50cy5pbmNsdWRlcygnLm5lc3MnKVxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuXG4vKipcbiAqIEFkZCAubmVzcyB0byAuZ2l0aWdub3JlIGlmIGl0J3Mgbm90IGFscmVhZHkgdGhlcmUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnaXRJZ25vcmVOZXNzRGlyZWN0b3J5KCkge1xuICByZXR1cm4gYXdhaXQgZ2l0SWdub3JlKCcubmVzcycsICdMb2NhbCBOZXNzIGRpcmVjdG9yeScpXG59XG5cbi8qKlxuICogQWRkIGEgcGF0dGVybiB0byAuZ2l0aWdub3JlLiBJZiAuZ2l0aWdub3JlIGRvZXMgbm90IGV4aXN0LCBpdCB3aWxsIGJlIGNyZWF0ZWQuXG4gKlxuICogQHBhcmFtIHBhdHRlcm4gVGhlIHBhdHRlcm4gdG8gYmUgYWRkZWQgdG8gLmdpdGlnbm9yZS5cbiAqIEBwYXJhbSBjb21tZW50IEFuIG9wdGlvbmFsIGNvbW1lbnQgYWJvdmUgdGhlIGlnbm9yZSBzdGF0ZW1lbnQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnaXRJZ25vcmUocGF0dGVybjogc3RyaW5nLCBjb21tZW50Pzogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IGdpdElnbm9yZVBhdGggPSBwYXRoLnJlc29sdmUoJy5naXRpZ25vcmUnKVxuICBjb25zdCBjb250ZW50ID0gY29tbWVudCA/IGBcXG4jICR7Y29tbWVudH1cXG4ke3BhdHRlcm59YCA6IGBcXG4ke3BhdHRlcm59YFxuXG4gIGNvbnN0IGhhc0dpdElnbm9yZSA9IGF3YWl0IGZzLnBhdGhFeGlzdHMoZ2l0SWdub3JlUGF0aClcbiAgaWYgKCFoYXNHaXRJZ25vcmUpIHtcbiAgICAvLyBObyAuZ2l0aWdub3JlIGZpbGUuIENyZWF0ZSBvbmUgYW5kIGFkZCBpZ25vcmUgc3RhdGVtZW50LlxuICAgIGF3YWl0IGZzLndyaXRlRmlsZShnaXRJZ25vcmVQYXRoLCBjb250ZW50LCAndXRmOCcpXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGxldCBnaXRJZ25vcmVDb250ZW50c1xuICBsZXQgZ2l0SWdub3JlTGluZXNcbiAgdHJ5IHtcbiAgICBnaXRJZ25vcmVDb250ZW50cyA9IGF3YWl0IGZzLnJlYWRGaWxlKGdpdElnbm9yZVBhdGgsICd1dGY4JylcbiAgICBnaXRJZ25vcmVMaW5lcyA9IGdpdElnbm9yZUNvbnRlbnRzLnNwbGl0KC9bXFxyXFxuXSsvKVxuICB9IGNhdGNoIHtcbiAgICAvLyBpZ25vcmVcbiAgfVxuXG4gIC8vIE5vdCBhbHJlYWR5IGlnbm9yaW5nIHBhdHRlcm4gc28gYWRkIGl0IHRvIC5naXRpZ25vcmUuXG4gIGlmIChnaXRJZ25vcmVMaW5lcyAmJiAhZ2l0SWdub3JlTGluZXMuaW5jbHVkZXMocGF0dGVybikpIHtcbiAgICBjb25zdCB1cGRhdGVkQ29udGVudHMgPSBgJHtnaXRJZ25vcmVDb250ZW50c31cXG4ke2NvbnRlbnR9YFxuICAgIGF3YWl0IGZzLndyaXRlRmlsZShnaXRJZ25vcmVQYXRoLCB1cGRhdGVkQ29udGVudHMsICd1dGY4JylcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG4iXX0=