šŸŽ© You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP →
Sign In

create-codetie

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

create-codetie - npm Package Compare versions

Comparing version
1.0.3
to
1.0.4
+3
-3
dist/index.mjs

@@ -1,5 +0,5 @@

import t from"fs-extra";import n from"path";import S from"minimist";import j from"prompts";import l from"chalk";import{fileURLToPath as x}from"url";import b from"mustache";const v=x(import.meta.url),_=n.dirname(v),w={_gitignore:".gitignore"};async function P(){console.log(l.green(`Welcome to the codetie (Sync swift + xcode) Project Setup \u{1F680}
`));let e=S(process.argv.slice(2),{string:["_"]})._[0];const i=e||"codetie-project",o=await j([{type:e?null:"text",name:"projectName",message:"Project name:",initial:i,onState:r=>{e=r.value.trim()||i}}]),c=n.join(process.cwd(),e);t.existsSync(c)?t.readdirSync(c).length===0?console.log(`Directory ${l.cyan(e)} is empty. Proceeding with project creation.`):(console.log(l.red(`Error: Directory ${e} is not empty. Please choose a different directory or empty it.`)),process.exit(1)):t.mkdirSync(c,{recursive:!0});const s=n.resolve(_,"../template"),d=(r,p)=>{const m=n.join(c,w[r]??r);p?t.writeFileSync(m,p):y(n.join(s,r),m)},a=t.readdirSync(s);for(const r of a)d(r);const u={projectName:e,setupType:o.setupType,bundleIdPrefix:o.bundleIdPrefix,deploymentTarget:o.deploymentTarget,xcodeVersion:o.xcodeVersion,swiftVersion:o.swiftVersion,appVersion:o.appVersion,buildNumber:o.buildNumber},f=a.filter(r=>r.endsWith(".mustache"));for(const r of f){const p=t.readFileSync(n.join(s,r),"utf-8"),m=b.render(p,u);d(r.replace(".mustache",""),m),t.removeSync(n.join(c,r))}const g={project_name:e,setup_type:o.setupType,bundle_id_prefix:o.bundleIdPrefix,deployment_target:o.deploymentTarget,xcode_version:o.xcodeVersion,swift_version:o.swiftVersion,app_version:o.appVersion,build_number:o.buildNumber};t.writeFileSync(n.join(c,"codetie.yml"),JSON.stringify(g,null,2)),console.log(l.green(`
import t from"fs-extra";import r from"path";import S from"minimist";import j from"prompts";import m from"chalk";import{fileURLToPath as h}from"url";import V from"mustache";const b=h(import.meta.url),v=r.dirname(b),w={_gitignore:".gitignore"},_=["project.yml.mustache","scripts/generate.sh.mustache","scripts/run_simulator.sh.mustache","scripts/setup_project.sh.mustache",".vscode/tasks.json.mustache",".vscode/settings.json.mustache",".vscode/extensions.json.mustache"];async function P(){console.log(m.green(`Welcome to the codetie (Sync swift + xcode) Project Setup \u{1F680}
`));let e=S(process.argv.slice(2),{string:["_"]})._[0];const i=e||"codetie-project",o=await j([{type:e?null:"text",name:"projectName",message:"Project name:",initial:i,onState:n=>{e=n.value.trim()||i}},{type:"text",name:"bundleIdPrefix",message:"Enter Bundle ID Prefix:",initial:"com.zunderai"},{type:"text",name:"deploymentTarget",message:"Enter Deployment Target iOS Version:",initial:"17.0"},{type:"text",name:"xcodeVersion",message:"Enter Xcode Version:",initial:"15.3"},{type:"text",name:"swiftVersion",message:"Enter Swift Version:",initial:"5.10.1"},{type:"text",name:"appVersion",message:"Enter App Version:",initial:"1.0.0"},{type:"text",name:"buildNumber",message:"Enter Build Number:",initial:"1"}]),s=r.join(process.cwd(),e);t.existsSync(s)?t.readdirSync(s).length===0?console.log(`Directory ${m.cyan(e)} is empty. Proceeding with project creation.`):(console.log(m.red(`Error: Directory ${e} is not empty. Please choose a different directory or empty it.`)),process.exit(1)):t.mkdirSync(s,{recursive:!0});const a=r.resolve(v,"../template"),d=(n,l)=>{const c=r.join(s,w[n]??n);l?(t.ensureDirSync(r.dirname(c)),t.writeFileSync(c,l)):p(r.join(a,n),c)},u=t.readdirSync(a);for(const n of u)d(n);const y={projectName:e,bundleIdPrefix:o.bundleIdPrefix,deploymentTarget:o.deploymentTarget,xcodeVersion:o.xcodeVersion,swiftVersion:o.swiftVersion,appVersion:o.appVersion,buildNumber:o.buildNumber};for(const n of _){const l=r.join(a,n),c=r.join(s,n.replace(".mustache",""));if(t.existsSync(l)){const f=t.readFileSync(l,"utf-8"),x=V.render(f,y);t.ensureDirSync(r.dirname(c)),t.writeFileSync(c,x),console.log(`Processed ${n}`)}else console.log(`Warning: ${n} not found in template directory`)}const g={project_name:e,bundle_id_prefix:o.bundleIdPrefix,deployment_target:o.deploymentTarget,xcode_version:o.xcodeVersion,swift_version:o.swiftVersion,app_version:o.appVersion,build_number:o.buildNumber};t.writeFileSync(r.join(s,"codetie.yml"),JSON.stringify(g,null,2)),console.log(m.green(`
\u2705 Project setup complete! Happy coding! \u{1F388}
`)),console.log(`
Next steps:`),console.log(` cd ${e}`),console.log(" pnpm install"),console.log(" pnpm dev")}function y(e,i){t.statSync(e).isDirectory()?V(e,i):t.copyFileSync(e,i)}function V(e,i){t.mkdirSync(i,{recursive:!0});for(const o of t.readdirSync(e)){const c=n.resolve(e,o),s=n.resolve(i,o);y(c,s)}}P().catch(e=>{console.error(l.red("Error:"),e),process.exit(1)});
Next steps:`),console.log(` cd ${e}`),console.log(" pnpm install"),console.log(" pnpm dev")}function p(e,i){t.statSync(e).isDirectory()?N(e,i):t.copyFileSync(e,i)}function N(e,i){t.mkdirSync(i,{recursive:!0});for(const o of t.readdirSync(e)){const s=r.resolve(e,o),a=r.resolve(i,o);p(s,a)}}P().catch(e=>{console.error(m.red("Error:"),e),process.exit(1)});
{
"name": "create-codetie",
"version": "1.0.3",
"version": "1.0.4",
"description": "CLI tool to set up codetie projects",

@@ -5,0 +5,0 @@ "homepage": "https://codetie.ai",

@@ -16,2 +16,12 @@ import fs from 'fs-extra';

const mustacheFiles = [
'project.yml.mustache',
'scripts/generate.sh.mustache',
'scripts/run_simulator.sh.mustache',
'scripts/setup_project.sh.mustache',
'.vscode/tasks.json.mustache',
'.vscode/settings.json.mustache',
'.vscode/extensions.json.mustache'
];
async function init() {

@@ -34,3 +44,38 @@ console.log(chalk.green('Welcome to the codetie (Sync swift + xcode) Project Setup šŸš€\n'));

},
// ... (keep your other prompts)
{
type: 'text',
name: 'bundleIdPrefix',
message: 'Enter Bundle ID Prefix:',
initial: 'com.zunderai',
},
{
type: 'text',
name: 'deploymentTarget',
message: 'Enter Deployment Target iOS Version:',
initial: '17.0',
},
{
type: 'text',
name: 'xcodeVersion',
message: 'Enter Xcode Version:',
initial: '15.3',
},
{
type: 'text',
name: 'swiftVersion',
message: 'Enter Swift Version:',
initial: '5.10.1',
},
{
type: 'text',
name: 'appVersion',
message: 'Enter App Version:',
initial: '1.0.0',
},
{
type: 'text',
name: 'buildNumber',
message: 'Enter Build Number:',
initial: '1',
},
]);

@@ -56,2 +101,3 @@

if (content) {
fs.ensureDirSync(path.dirname(targetPath));
fs.writeFileSync(targetPath, content);

@@ -71,3 +117,2 @@ } else {

projectName: targetDir,
setupType: result.setupType,
bundleIdPrefix: result.bundleIdPrefix,

@@ -81,8 +126,15 @@ deploymentTarget: result.deploymentTarget,

const mustacheFiles = files.filter(file => file.endsWith('.mustache'));
for (const file of mustacheFiles) {
const content = fs.readFileSync(path.join(templateDir, file), 'utf-8');
const rendered = Mustache.render(content, templateVariables);
write(file.replace('.mustache', ''), rendered);
fs.removeSync(path.join(root, file)); // Remove the original .mustache file
const srcPath = path.join(templateDir, file);
const destPath = path.join(root, file.replace('.mustache', ''));
if (fs.existsSync(srcPath)) {
const content = fs.readFileSync(srcPath, 'utf-8');
const rendered = Mustache.render(content, templateVariables);
fs.ensureDirSync(path.dirname(destPath));
fs.writeFileSync(destPath, rendered);
console.log(`Processed ${file}`);
} else {
console.log(`Warning: ${file} not found in template directory`);
}
}

@@ -93,3 +145,2 @@

project_name: targetDir,
setup_type: result.setupType,
bundle_id_prefix: result.bundleIdPrefix,

@@ -96,0 +147,0 @@ deployment_target: result.deploymentTarget,