@comet/create-app 1.0.0 → 1.1.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.
- package/README.md +20 -0
- package/bin/index.js +1 -1
- package/lib/index.js +50 -0
- package/lib/scripts/create-app/cleanupReadme.js +34 -0
- package/lib/scripts/create-app/cleanupWorkingDirectory.js +11 -0
- package/lib/{createApp.js → scripts/create-app/createApp.js} +9 -35
- package/lib/{util → scripts/create-app}/createInitialGitCommit.js +1 -1
- package/lib/{util → scripts/create-app}/createWorkingDirectoryCopy.js +4 -11
- package/lib/scripts/remove-showcase/removeShowcase.js +72 -0
- package/lib/scripts/remove-site/removeSite.js +23 -0
- package/lib/util/cwdIsCometProject.js +11 -0
- package/lib/util/isValidProjectName.js +8 -0
- package/lib/util/removeReferenceInFile.js +33 -0
- package/lib/util/replacePlaceholder.js +0 -2
- package/package.json +4 -5
- package/lib/util/cleanupWorkingDirectory.js +0 -9
package/README.md
CHANGED
|
@@ -29,6 +29,26 @@ npx @comet/create-app my-project -v
|
|
|
29
29
|
|
|
30
30
|
This command will create a new Comet app with the name "my-project" and enable verbose logging.
|
|
31
31
|
|
|
32
|
+
### Commands
|
|
33
|
+
|
|
34
|
+
The following commands can be used to customize the project setup:
|
|
35
|
+
|
|
36
|
+
- `remove-showcase`: Removes the showcase content from the project.
|
|
37
|
+
|
|
38
|
+
Example usage:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
npx @comet/create-app remove-showcase
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
- `remove-site`: Removes the site from the project.
|
|
45
|
+
|
|
46
|
+
Example usage:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
npx @comet/create-app remove-site
|
|
50
|
+
```
|
|
51
|
+
|
|
32
52
|
## For developers
|
|
33
53
|
|
|
34
54
|
### Development
|
package/bin/index.js
CHANGED
package/lib/index.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const commander_1 = require("commander");
|
|
7
|
+
const kleur_1 = __importDefault(require("kleur"));
|
|
8
|
+
const createApp_1 = require("./scripts/create-app/createApp");
|
|
9
|
+
const removeShowcase_1 = require("./scripts/remove-showcase/removeShowcase");
|
|
10
|
+
const removeSite_1 = require("./scripts/remove-site/removeSite");
|
|
11
|
+
const cwdIsCometProject_1 = require("./util/cwdIsCometProject");
|
|
12
|
+
const isValidNodeVersion_1 = require("./util/isValidNodeVersion");
|
|
13
|
+
const isValidProjectName_1 = require("./util/isValidProjectName");
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
15
|
+
const { name, version } = require("../package.json");
|
|
16
|
+
if (!(0, isValidNodeVersion_1.isValidNodeVersion)()) {
|
|
17
|
+
console.error("Invalid Node Version (your Node.js version is prior to v18).");
|
|
18
|
+
process.exit(1);
|
|
19
|
+
}
|
|
20
|
+
void (async () => {
|
|
21
|
+
const program = new commander_1.Command();
|
|
22
|
+
program.name(name).description("CLI to create a Comet app").version(version);
|
|
23
|
+
program
|
|
24
|
+
.argument("<projectName>", "Sets the name of the project.")
|
|
25
|
+
.option("-v, --verbose", "Enables extra console logs for verbose output.")
|
|
26
|
+
.action((projectName, options) => {
|
|
27
|
+
if ((0, isValidProjectName_1.isValidProjectName)(projectName)) {
|
|
28
|
+
(0, createApp_1.createApp)({ projectName, verbose: options.verbose });
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
program.error("Please provide a valid project name.");
|
|
32
|
+
}
|
|
33
|
+
})
|
|
34
|
+
.configureOutput({ outputError: (str, write) => write(kleur_1.default.bgRed(str)) });
|
|
35
|
+
program.addCommand(new commander_1.Command("remove-showcase").action(() => {
|
|
36
|
+
if (!(0, cwdIsCometProject_1.cwdIsCometProject)()) {
|
|
37
|
+
program.error(`This command must be run from the root of a Comet project.`);
|
|
38
|
+
}
|
|
39
|
+
console.log(kleur_1.default.white(`Removing showcase content from project`));
|
|
40
|
+
(0, removeShowcase_1.removeShowcaseContent)();
|
|
41
|
+
}));
|
|
42
|
+
program.addCommand(new commander_1.Command("remove-site").action(() => {
|
|
43
|
+
if (!(0, cwdIsCometProject_1.cwdIsCometProject)()) {
|
|
44
|
+
program.error(`This command must be run from the root of a Comet project.`);
|
|
45
|
+
}
|
|
46
|
+
console.log(kleur_1.default.white(`Removing site from project`));
|
|
47
|
+
(0, removeSite_1.removeSite)();
|
|
48
|
+
}));
|
|
49
|
+
program.parse();
|
|
50
|
+
})();
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.cleanupReadme = void 0;
|
|
27
|
+
const fs = __importStar(require("fs"));
|
|
28
|
+
const readmePath = "README.md";
|
|
29
|
+
function cleanupReadme() {
|
|
30
|
+
const originalReadme = fs.readFileSync(readmePath, "utf8").toString();
|
|
31
|
+
const newReadme = originalReadme.replace(/.+<!-- PROJECT_README_BEGIN.+-->\n\n/s, "");
|
|
32
|
+
fs.writeFileSync(readmePath, newReadme, "utf8");
|
|
33
|
+
}
|
|
34
|
+
exports.cleanupReadme = cleanupReadme;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cleanupWorkingDirectory = void 0;
|
|
4
|
+
const deleteFilesAndFolders_1 = require("../../util/deleteFilesAndFolders");
|
|
5
|
+
const removeReferenceInFile_1 = require("../../util/removeReferenceInFile");
|
|
6
|
+
function cleanupWorkingDirectory(verbose) {
|
|
7
|
+
(0, deleteFilesAndFolders_1.deleteFilesAndFolders)(["create-app", ".git", ".github", "LICENSE"], verbose);
|
|
8
|
+
(0, removeReferenceInFile_1.removeReferenceInFile)("lint-staged.config.js", /.*create-app.*\n/gim);
|
|
9
|
+
(0, removeReferenceInFile_1.removeReferenceInFile)(".vscode/settings.json", /, "create-app"/g);
|
|
10
|
+
}
|
|
11
|
+
exports.cleanupWorkingDirectory = cleanupWorkingDirectory;
|
|
@@ -3,45 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
6
|
+
exports.createApp = void 0;
|
|
7
7
|
const kleur_1 = __importDefault(require("kleur"));
|
|
8
8
|
const process_1 = __importDefault(require("process"));
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
15
|
-
const { name, version } = require("../package.json");
|
|
16
|
-
function isValidProjectName(value) {
|
|
17
|
-
const allowedFormat = /^[A-Za-z0-9][A-Za-z0-9-]*$/;
|
|
18
|
-
return allowedFormat.test(value);
|
|
19
|
-
}
|
|
20
|
-
void (async () => {
|
|
21
|
-
const program = new commander_1.Command();
|
|
22
|
-
if (!(0, isValidNodeVersion_1.isValidNodeVersion)()) {
|
|
23
|
-
console.log(kleur_1.default.bgRed("Invalid Node Version (your Node.js version is prior to v18)."));
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
program.name(name).description("CLI to create a comet app").version(version);
|
|
27
|
-
program
|
|
28
|
-
.argument("<projectName>", "Sets the name of the project.")
|
|
29
|
-
.option("-v, --verbose", "Enables extra console logs for verbose output.")
|
|
30
|
-
.action((projectName, options) => {
|
|
31
|
-
if (isValidProjectName(projectName)) {
|
|
32
|
-
createApp({ projectName, verbose: options.verbose });
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
console.log(kleur_1.default.bgRed("Please provide a valid project name."));
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
program.parse();
|
|
39
|
-
})();
|
|
9
|
+
const replacePlaceholder_1 = require("../../util/replacePlaceholder");
|
|
10
|
+
const cleanupReadme_1 = require("./cleanupReadme");
|
|
11
|
+
const cleanupWorkingDirectory_1 = require("./cleanupWorkingDirectory");
|
|
12
|
+
const createInitialGitCommit_1 = require("./createInitialGitCommit");
|
|
13
|
+
const createWorkingDirectoryCopy_1 = require("./createWorkingDirectoryCopy");
|
|
40
14
|
async function createApp(projectConfiguration) {
|
|
41
15
|
console.log(kleur_1.default.white(`Creating a new Comet app in `) + kleur_1.default.yellow(`${process_1.default.cwd()}\n`));
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
16
|
+
(0, createWorkingDirectoryCopy_1.createWorkingDirectoryCopy)(projectConfiguration.projectName, projectConfiguration.verbose);
|
|
17
|
+
(0, cleanupReadme_1.cleanupReadme)();
|
|
45
18
|
(0, cleanupWorkingDirectory_1.cleanupWorkingDirectory)(projectConfiguration.verbose);
|
|
46
19
|
(0, replacePlaceholder_1.replacePlaceholder)(projectConfiguration.projectName, projectConfiguration.verbose);
|
|
47
20
|
(0, createInitialGitCommit_1.createInitialGitCommit)();
|
|
@@ -64,3 +37,4 @@ async function createApp(projectConfiguration) {
|
|
|
64
37
|
console.log(kleur_1.default.white(`Imports fixtures.\n`));
|
|
65
38
|
console.log(kleur_1.default.green(`\n☄️ Successfully created Comet app: ${projectConfiguration.projectName}`));
|
|
66
39
|
}
|
|
40
|
+
exports.createApp = createApp;
|
|
@@ -9,7 +9,7 @@ const kleur_1 = __importDefault(require("kleur"));
|
|
|
9
9
|
function createInitialGitCommit() {
|
|
10
10
|
try {
|
|
11
11
|
(0, child_process_1.execSync)("git init");
|
|
12
|
-
(0, child_process_1.execSync)("git add .");
|
|
12
|
+
(0, child_process_1.execSync)("git add . -f");
|
|
13
13
|
const basedOnCommit = (0, child_process_1.execSync)('git ls-remote https://github.com/vivid-planet/comet-starter.git | head -1 | sed "s/HEAD//"');
|
|
14
14
|
(0, child_process_1.execSync)("git checkout -b setup-project");
|
|
15
15
|
(0, child_process_1.execSync)(`git commit -m "Initial commit from Starter" -m "Based on ${basedOnCommit}"`);
|
|
@@ -9,17 +9,10 @@ const kleur_1 = __importDefault(require("kleur"));
|
|
|
9
9
|
const process_1 = __importDefault(require("process"));
|
|
10
10
|
function createWorkingDirectoryCopy(projectName, verbose) {
|
|
11
11
|
const clone = `git clone --depth 1 https://github.com/vivid-planet/comet-starter.git ./${projectName}`;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
console.log(kleur_1.default.white("Cloned git repository."));
|
|
17
|
-
}
|
|
12
|
+
(0, child_process_1.execSync)(clone);
|
|
13
|
+
process_1.default.chdir(`./${projectName}`);
|
|
14
|
+
if (verbose) {
|
|
15
|
+
console.log(kleur_1.default.white("Cloned git repository."));
|
|
18
16
|
}
|
|
19
|
-
catch (e) {
|
|
20
|
-
console.log(kleur_1.default.bgRed(`Error while cloning working directory to ${projectName}`));
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
return true;
|
|
24
17
|
}
|
|
25
18
|
exports.createWorkingDirectoryCopy = createWorkingDirectoryCopy;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.removeShowcaseContent = void 0;
|
|
7
|
+
const eslint_1 = require("eslint");
|
|
8
|
+
const fs_1 = require("fs");
|
|
9
|
+
const kleur_1 = __importDefault(require("kleur"));
|
|
10
|
+
const deleteFilesAndFolders_1 = require("../../util/deleteFilesAndFolders");
|
|
11
|
+
async function removeFileContent() {
|
|
12
|
+
const contentToRemove = [
|
|
13
|
+
{
|
|
14
|
+
file: `./admin/src/Routes.tsx`,
|
|
15
|
+
replacements: [/<.*?products.*?>/gs],
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
file: `./admin/src/common/MasterMenu.tsx`,
|
|
19
|
+
replacements: [/<MenuItemRouterLink[ \n]*primary={intl.formatMessage\({ id: "comet.menu.products".*products`}[ \n]*\/>/gs],
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
file: `./api/src/app.module.ts`,
|
|
23
|
+
replacements: [/ProductsModule,\n/gs],
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
file: `./api/src/db/fixtures/fixtures.console.ts`,
|
|
27
|
+
replacements: [/constructor.*Product.*{}/gs, /await Promise.all\(\[generateProducts.*]\);/gs],
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
file: `./api/src/db/fixtures/fixtures.module.ts`,
|
|
31
|
+
replacements: [/imports: \[MikroOrmModule.forFeature\(\[Product]\), ConfigModule, ConsoleModule],/gs],
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
const eslint = new eslint_1.ESLint({
|
|
35
|
+
cwd: process.cwd(),
|
|
36
|
+
fix: true,
|
|
37
|
+
});
|
|
38
|
+
for (const content of contentToRemove) {
|
|
39
|
+
if (!(0, fs_1.existsSync)(content.file)) {
|
|
40
|
+
console.log(kleur_1.default.bgYellow(`File: ${content.file} does not exist!`));
|
|
41
|
+
console.log(kleur_1.default.bgYellow(`Skipping: ${content.file}...`));
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
let fileContent = (0, fs_1.readFileSync)(content.file).toString();
|
|
45
|
+
for (const replacement of content.replacements) {
|
|
46
|
+
fileContent = fileContent.replaceAll(replacement, "");
|
|
47
|
+
}
|
|
48
|
+
try {
|
|
49
|
+
const lintedFileContent = await eslint.lintText(fileContent, {
|
|
50
|
+
filePath: content.file,
|
|
51
|
+
});
|
|
52
|
+
const output = lintedFileContent[0] && lintedFileContent[0].output ? lintedFileContent[0].output : lintedFileContent[0].source;
|
|
53
|
+
(0, fs_1.writeFileSync)(content.file, output ?? fileContent);
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
(0, fs_1.writeFileSync)(content.file, fileContent);
|
|
57
|
+
console.log(kleur_1.default.yellow(`Could not lint: ${content.file}!`));
|
|
58
|
+
console.log(e);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async function removeShowcaseContent() {
|
|
63
|
+
await removeFileContent();
|
|
64
|
+
const filesToRemove = [
|
|
65
|
+
"api/src/products",
|
|
66
|
+
"admin/src/products",
|
|
67
|
+
"api/src/db/fixtures/generators/product.fixture.ts",
|
|
68
|
+
"api/src/db/migrations/Migration20220721123033.ts",
|
|
69
|
+
];
|
|
70
|
+
(0, deleteFilesAndFolders_1.deleteFilesAndFolders)(filesToRemove, false);
|
|
71
|
+
}
|
|
72
|
+
exports.removeShowcaseContent = removeShowcaseContent;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removeSite = void 0;
|
|
4
|
+
const deleteFilesAndFolders_1 = require("../../util/deleteFilesAndFolders");
|
|
5
|
+
const removeReferenceInFile_1 = require("../../util/removeReferenceInFile");
|
|
6
|
+
function removeSiteReferences() {
|
|
7
|
+
(0, removeReferenceInFile_1.removeReferenceInFile)(".vscode/settings.json", /, "site"/g);
|
|
8
|
+
(0, removeReferenceInFile_1.removeReferenceInFile)(".env", /.*site.*\n/gim);
|
|
9
|
+
(0, removeReferenceInFile_1.removeReferenceInFile)("install.sh", /.*site.*\n/gim);
|
|
10
|
+
(0, removeReferenceInFile_1.removeReferenceInFile)(".prettierignore", /.*site.*\n/gim);
|
|
11
|
+
(0, removeReferenceInFile_1.removeReferenceInFile)("copy-schema-files.js", /.*site.*\n/gim);
|
|
12
|
+
(0, removeReferenceInFile_1.removeReferenceInFile)("lint-staged.config.js", /.*site.*\n/gim);
|
|
13
|
+
(0, removeReferenceInFile_1.removeReferenceInFile)("admin/src/environment.ts", /, "SITES_CONFIG"/g);
|
|
14
|
+
(0, removeReferenceInFile_1.removeReferenceInFile)("./package.json", / browser:site/g);
|
|
15
|
+
(0, removeReferenceInFile_1.removeReferenceInFile)("./package.json", /.*site.*\n/gim);
|
|
16
|
+
(0, removeReferenceInFile_1.removeReferenceInFile)("admin/src/config.ts", /.*site.*\n/gim);
|
|
17
|
+
(0, removeReferenceInFile_1.removeReferenceInFile)("dev-pm.config.js", /{[\n ]*name: "site.*},\n/gis);
|
|
18
|
+
}
|
|
19
|
+
function removeSite() {
|
|
20
|
+
(0, deleteFilesAndFolders_1.deleteFilesAndFolders)(["site"], false);
|
|
21
|
+
removeSiteReferences();
|
|
22
|
+
}
|
|
23
|
+
exports.removeSite = removeSite;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.cwdIsCometProject = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
function cwdIsCometProject() {
|
|
9
|
+
return fs_1.default.existsSync("api/src/comet-config.json");
|
|
10
|
+
}
|
|
11
|
+
exports.cwdIsCometProject = cwdIsCometProject;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isValidProjectName = void 0;
|
|
4
|
+
function isValidProjectName(value) {
|
|
5
|
+
const allowedFormat = /^[A-Za-z0-9][A-Za-z0-9-]*$/;
|
|
6
|
+
return allowedFormat.test(value);
|
|
7
|
+
}
|
|
8
|
+
exports.isValidProjectName = isValidProjectName;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.removeReferenceInFile = void 0;
|
|
27
|
+
const fs = __importStar(require("fs"));
|
|
28
|
+
function removeReferenceInFile(filePath, regex) {
|
|
29
|
+
const data = fs.readFileSync(filePath, "utf8");
|
|
30
|
+
const result = data.replace(regex, "");
|
|
31
|
+
fs.writeFileSync(filePath, result, "utf8");
|
|
32
|
+
}
|
|
33
|
+
exports.removeReferenceInFile = removeReferenceInFile;
|
|
@@ -46,8 +46,6 @@ function replacePlaceholder(projectName, verbose) {
|
|
|
46
46
|
if (placeholder.test(contents)) {
|
|
47
47
|
if (file.endsWith("intl-update.sh"))
|
|
48
48
|
fs.writeFileSync(file, contents.replaceAll("lang/starter-lang", `lang/${projectName}-lang`));
|
|
49
|
-
else if (file.endsWith("lint-staged.config.js"))
|
|
50
|
-
fs.writeFileSync(file, contents.replaceAll(/"create.*lint:tsc",\n/gs, ""));
|
|
51
49
|
else
|
|
52
50
|
fs.writeFileSync(file, contents.replaceAll(placeholder, projectName));
|
|
53
51
|
changedFiles++;
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@comet/create-app",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Command-line interface to create a new Comet application",
|
|
5
|
-
"homepage": "https://github.com/vivid-planet/comet-starter/create-app#readme",
|
|
5
|
+
"homepage": "https://github.com/vivid-planet/comet-starter/tree/main/create-app#readme",
|
|
6
6
|
"bugs": {
|
|
7
7
|
"url": "https://github.com/vivid-planet/comet-starter/issues"
|
|
8
8
|
},
|
|
@@ -37,11 +37,10 @@
|
|
|
37
37
|
"rimraf": "^5.0.1"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@comet/eslint-config": "^4.
|
|
40
|
+
"@comet/eslint-config": "^5.4.0",
|
|
41
41
|
"@tsconfig/node18": "^18.2.2",
|
|
42
|
-
"@types/prompts": "^2.4.4",
|
|
43
42
|
"prettier": "^2.1.2",
|
|
44
|
-
"typescript": "
|
|
43
|
+
"typescript": "~5.1.0"
|
|
45
44
|
},
|
|
46
45
|
"publishConfig": {
|
|
47
46
|
"access": "public",
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.cleanupWorkingDirectory = void 0;
|
|
4
|
-
const deleteFilesAndFolders_1 = require("./deleteFilesAndFolders");
|
|
5
|
-
function cleanupWorkingDirectory(verbose) {
|
|
6
|
-
const cleanupFilesDirectories = ["create-app", ".git", ".github"];
|
|
7
|
-
(0, deleteFilesAndFolders_1.deleteFilesAndFolders)(cleanupFilesDirectories, verbose);
|
|
8
|
-
}
|
|
9
|
-
exports.cleanupWorkingDirectory = cleanupWorkingDirectory;
|