create-auto-app 0.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/LICENSE +10 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +253 -0
- package/dist/index.js.map +1 -0
- package/package.json +48 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Elastic License 2.0
|
|
2
|
+
|
|
3
|
+
Copyright 2024 Sam Hatoum
|
|
4
|
+
|
|
5
|
+
This software and associated documentation files (the "Software") are licensed under the Elastic License 2.0 (the "License"). You may not use this file except in compliance with the License.
|
|
6
|
+
|
|
7
|
+
You may obtain a copy of the License at:
|
|
8
|
+
https://www.elastic.co/licensing/elastic-license
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { program } from 'commander';
|
|
3
|
+
import inquirer from 'inquirer';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import ora from 'ora';
|
|
6
|
+
import { execa } from 'execa';
|
|
7
|
+
import fs from 'fs-extra';
|
|
8
|
+
import path from 'path';
|
|
9
|
+
import { fileURLToPath } from 'url';
|
|
10
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
11
|
+
const __dirname = path.dirname(__filename);
|
|
12
|
+
async function detectPackageManager() {
|
|
13
|
+
try {
|
|
14
|
+
await execa('pnpm', ['--version']);
|
|
15
|
+
return 'pnpm';
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
try {
|
|
19
|
+
await execa('yarn', ['--version']);
|
|
20
|
+
return 'yarn';
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return 'npm';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async function createProject(options) {
|
|
28
|
+
const { name, template, packageManager, installDeps } = options;
|
|
29
|
+
const targetDir = path.resolve(process.cwd(), name);
|
|
30
|
+
// Check if directory exists
|
|
31
|
+
if (await fs.pathExists(targetDir)) {
|
|
32
|
+
const { overwrite } = await inquirer.prompt([
|
|
33
|
+
{
|
|
34
|
+
type: 'confirm',
|
|
35
|
+
name: 'overwrite',
|
|
36
|
+
message: `Directory ${name} already exists. Overwrite?`,
|
|
37
|
+
default: false,
|
|
38
|
+
},
|
|
39
|
+
]);
|
|
40
|
+
if (!overwrite) {
|
|
41
|
+
console.log(chalk.yellow('Operation cancelled'));
|
|
42
|
+
process.exit(0);
|
|
43
|
+
}
|
|
44
|
+
await fs.remove(targetDir);
|
|
45
|
+
}
|
|
46
|
+
console.log(chalk.blue(`\nCreating Auto Engineer project in ${chalk.bold(targetDir)}\n`));
|
|
47
|
+
// Create project directory
|
|
48
|
+
await fs.ensureDir(targetDir);
|
|
49
|
+
// Generate package.json
|
|
50
|
+
const packageJson = {
|
|
51
|
+
name,
|
|
52
|
+
version: '0.1.0',
|
|
53
|
+
private: true,
|
|
54
|
+
scripts: {
|
|
55
|
+
dev: 'auto dev',
|
|
56
|
+
build: 'auto build',
|
|
57
|
+
test: 'auto test',
|
|
58
|
+
},
|
|
59
|
+
devDependencies: {},
|
|
60
|
+
};
|
|
61
|
+
// Add dependencies based on template
|
|
62
|
+
const dependencies = {};
|
|
63
|
+
const devDependencies = {
|
|
64
|
+
'@auto-engineer/cli': 'latest',
|
|
65
|
+
};
|
|
66
|
+
if (template === 'minimal') {
|
|
67
|
+
devDependencies['@auto-engineer/flowlang'] = 'latest';
|
|
68
|
+
devDependencies['@auto-engineer/emmett-generator'] = 'latest';
|
|
69
|
+
}
|
|
70
|
+
else if (template === 'shopping-assistant') {
|
|
71
|
+
devDependencies['@auto-engineer/flowlang'] = 'latest';
|
|
72
|
+
devDependencies['@auto-engineer/emmett-generator'] = 'latest';
|
|
73
|
+
devDependencies['@auto-engineer/react-graphql-generator'] = 'latest';
|
|
74
|
+
devDependencies['@auto-engineer/frontend-implementation'] = 'latest';
|
|
75
|
+
// Copy example files from flowlang templates
|
|
76
|
+
const templatesSource = path.join(__dirname, 'templates', 'shopping-assistant');
|
|
77
|
+
if (await fs.pathExists(templatesSource)) {
|
|
78
|
+
await fs.copy(templatesSource, targetDir);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
// If templates don't exist in our package, use flowlang's create:example
|
|
82
|
+
console.log(chalk.yellow('Using flowlang example template...'));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else if (template === 'full') {
|
|
86
|
+
// Install all available packages
|
|
87
|
+
devDependencies['@auto-engineer/flowlang'] = 'latest';
|
|
88
|
+
devDependencies['@auto-engineer/emmett-generator'] = 'latest';
|
|
89
|
+
devDependencies['@auto-engineer/react-graphql-generator'] = 'latest';
|
|
90
|
+
devDependencies['@auto-engineer/frontend-implementation'] = 'latest';
|
|
91
|
+
devDependencies['@auto-engineer/backend-checks'] = 'latest';
|
|
92
|
+
devDependencies['@auto-engineer/frontend-checks'] = 'latest';
|
|
93
|
+
devDependencies['@auto-engineer/information-architect'] = 'latest';
|
|
94
|
+
devDependencies['@auto-engineer/design-system-importer'] = 'latest';
|
|
95
|
+
devDependencies['@auto-engineer/server-implementer'] = 'latest';
|
|
96
|
+
}
|
|
97
|
+
packageJson.devDependencies = devDependencies;
|
|
98
|
+
// Write package.json
|
|
99
|
+
await fs.writeJson(path.join(targetDir, 'package.json'), packageJson, { spaces: 2 });
|
|
100
|
+
// Create auto.config.ts
|
|
101
|
+
const plugins = Object.keys(devDependencies)
|
|
102
|
+
.filter((pkg) => pkg !== '@auto-engineer/cli')
|
|
103
|
+
.map((pkg) => ` '${pkg}',`)
|
|
104
|
+
.join('\n');
|
|
105
|
+
const autoConfig = `export default {
|
|
106
|
+
plugins: [
|
|
107
|
+
${plugins}
|
|
108
|
+
],
|
|
109
|
+
};
|
|
110
|
+
`;
|
|
111
|
+
await fs.writeFile(path.join(targetDir, 'auto.config.ts'), autoConfig);
|
|
112
|
+
// Create basic directory structure
|
|
113
|
+
await fs.ensureDir(path.join(targetDir, 'flows'));
|
|
114
|
+
await fs.ensureDir(path.join(targetDir, '.context'));
|
|
115
|
+
// Create .gitignore
|
|
116
|
+
const gitignore = `node_modules
|
|
117
|
+
dist
|
|
118
|
+
.tmp
|
|
119
|
+
.env.local
|
|
120
|
+
*.log
|
|
121
|
+
`;
|
|
122
|
+
await fs.writeFile(path.join(targetDir, '.gitignore'), gitignore);
|
|
123
|
+
// Create README.md
|
|
124
|
+
const readme = `# ${name}
|
|
125
|
+
|
|
126
|
+
An Auto Engineer project.
|
|
127
|
+
|
|
128
|
+
## Getting Started
|
|
129
|
+
|
|
130
|
+
\`\`\`bash
|
|
131
|
+
# Install dependencies
|
|
132
|
+
${packageManager} install
|
|
133
|
+
|
|
134
|
+
# Start development
|
|
135
|
+
${packageManager} run dev
|
|
136
|
+
\`\`\`
|
|
137
|
+
|
|
138
|
+
## Available Commands
|
|
139
|
+
|
|
140
|
+
- \`auto generate:server\` - Generate server from flows
|
|
141
|
+
- \`auto generate:client\` - Generate client application
|
|
142
|
+
- \`auto check:frontend\` - Run frontend checks
|
|
143
|
+
- \`auto check:backend\` - Run backend checks
|
|
144
|
+
|
|
145
|
+
## Learn More
|
|
146
|
+
|
|
147
|
+
Visit [Auto Engineer Documentation](https://github.com/solguru310/auto-engineer) to learn more.
|
|
148
|
+
`;
|
|
149
|
+
await fs.writeFile(path.join(targetDir, 'README.md'), readme);
|
|
150
|
+
// Install dependencies if requested
|
|
151
|
+
if (installDeps) {
|
|
152
|
+
const spinner = ora('Installing dependencies...').start();
|
|
153
|
+
try {
|
|
154
|
+
await execa(packageManager, ['install'], { cwd: targetDir });
|
|
155
|
+
spinner.succeed('Dependencies installed');
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
spinner.fail('Failed to install dependencies');
|
|
159
|
+
console.error(error);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// Success message
|
|
163
|
+
console.log(chalk.green('\n✓ Project created successfully!\n'));
|
|
164
|
+
console.log('Next steps:');
|
|
165
|
+
console.log(chalk.cyan(` cd ${name}`));
|
|
166
|
+
if (!installDeps) {
|
|
167
|
+
console.log(chalk.cyan(` ${packageManager} install`));
|
|
168
|
+
}
|
|
169
|
+
if (template === 'shopping-assistant' && !(await fs.pathExists(path.join(targetDir, 'flows')))) {
|
|
170
|
+
console.log(chalk.cyan(' npx auto create:example shopping-assistant .'));
|
|
171
|
+
}
|
|
172
|
+
console.log(chalk.cyan(` ${packageManager} run dev\n`));
|
|
173
|
+
}
|
|
174
|
+
async function main() {
|
|
175
|
+
program
|
|
176
|
+
.name('create-auto-engineer')
|
|
177
|
+
.description('Create a new Auto Engineer project')
|
|
178
|
+
.version('0.1.0')
|
|
179
|
+
.argument('[project-name]', 'Name of the project')
|
|
180
|
+
.option('-t, --template <template>', 'Project template (minimal, shopping-assistant, full)', 'minimal')
|
|
181
|
+
.option('--no-install', 'Skip dependency installation')
|
|
182
|
+
.option('--use-npm', 'Use npm as package manager')
|
|
183
|
+
.option('--use-yarn', 'Use yarn as package manager')
|
|
184
|
+
.option('--use-pnpm', 'Use pnpm as package manager')
|
|
185
|
+
.parse(process.argv);
|
|
186
|
+
const options = program.opts();
|
|
187
|
+
let projectName = program.args[0];
|
|
188
|
+
// Interactive mode if no project name provided
|
|
189
|
+
if (!projectName) {
|
|
190
|
+
const answers = await inquirer.prompt([
|
|
191
|
+
{
|
|
192
|
+
type: 'input',
|
|
193
|
+
name: 'name',
|
|
194
|
+
message: 'Project name:',
|
|
195
|
+
default: 'my-auto-engineer-app',
|
|
196
|
+
validate: (input) => {
|
|
197
|
+
if (!input.trim())
|
|
198
|
+
return 'Project name is required';
|
|
199
|
+
if (!/^[a-z0-9-_]+$/i.test(input)) {
|
|
200
|
+
return 'Project name can only contain letters, numbers, hyphens, and underscores';
|
|
201
|
+
}
|
|
202
|
+
return true;
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
type: 'list',
|
|
207
|
+
name: 'template',
|
|
208
|
+
message: 'Select a template:',
|
|
209
|
+
choices: [
|
|
210
|
+
{ name: 'Minimal - Just the essentials', value: 'minimal' },
|
|
211
|
+
{ name: 'Shopping Assistant - E-commerce example', value: 'shopping-assistant' },
|
|
212
|
+
{ name: 'Full - All packages installed', value: 'full' },
|
|
213
|
+
],
|
|
214
|
+
default: 'minimal',
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
type: 'confirm',
|
|
218
|
+
name: 'installDeps',
|
|
219
|
+
message: 'Install dependencies?',
|
|
220
|
+
default: true,
|
|
221
|
+
},
|
|
222
|
+
]);
|
|
223
|
+
projectName = answers.name;
|
|
224
|
+
options.template = answers.template;
|
|
225
|
+
options.install = answers.installDeps;
|
|
226
|
+
}
|
|
227
|
+
// Detect package manager
|
|
228
|
+
let packageManager;
|
|
229
|
+
if (options.useNpm) {
|
|
230
|
+
packageManager = 'npm';
|
|
231
|
+
}
|
|
232
|
+
else if (options.useYarn) {
|
|
233
|
+
packageManager = 'yarn';
|
|
234
|
+
}
|
|
235
|
+
else if (options.usePnpm) {
|
|
236
|
+
packageManager = 'pnpm';
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
packageManager = await detectPackageManager();
|
|
240
|
+
}
|
|
241
|
+
const projectOptions = {
|
|
242
|
+
name: projectName,
|
|
243
|
+
template: options.template,
|
|
244
|
+
packageManager,
|
|
245
|
+
installDeps: options.install !== false,
|
|
246
|
+
};
|
|
247
|
+
await createProject(projectOptions);
|
|
248
|
+
}
|
|
249
|
+
main().catch((error) => {
|
|
250
|
+
console.error(chalk.red('Error:'), error);
|
|
251
|
+
process.exit(1);
|
|
252
|
+
});
|
|
253
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "create-auto-app",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Create Auto Engineer apps with no configuration",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"create-auto-app": "./dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"templates"
|
|
12
|
+
],
|
|
13
|
+
"keywords": [
|
|
14
|
+
"auto-engineer",
|
|
15
|
+
"create",
|
|
16
|
+
"init",
|
|
17
|
+
"scaffold",
|
|
18
|
+
"cli"
|
|
19
|
+
],
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"chalk": "^5.3.0",
|
|
25
|
+
"commander": "^12.0.0",
|
|
26
|
+
"execa": "^9.6.0",
|
|
27
|
+
"fs-extra": "^11.2.0",
|
|
28
|
+
"inquirer": "^9.2.15",
|
|
29
|
+
"ora": "^8.0.1"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@types/fs-extra": "^11.0.4",
|
|
33
|
+
"@types/inquirer": "^9.0.7",
|
|
34
|
+
"@types/node": "^20.11.19",
|
|
35
|
+
"tsx": "^4.20.3",
|
|
36
|
+
"typescript": "^5.3.3"
|
|
37
|
+
},
|
|
38
|
+
"engines": {
|
|
39
|
+
"node": ">=18.0.0"
|
|
40
|
+
},
|
|
41
|
+
"scripts": {
|
|
42
|
+
"build": "tsc && chmod +x dist/index.js",
|
|
43
|
+
"dev": "tsx src/index.ts",
|
|
44
|
+
"type-check": "tsc --noEmit",
|
|
45
|
+
"lint": "eslint 'src/**/*.ts' --max-warnings 0 --config ../../eslint.config.ts",
|
|
46
|
+
"format": "prettier --write \"**/*.{js,ts,json,md,yml,yaml}\" --ignore-path ../../.prettierignore"
|
|
47
|
+
}
|
|
48
|
+
}
|