@atelier-ui/create-workspace 0.0.1
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 +11 -0
- package/generators.json +10 -0
- package/package.json +30 -0
- package/src/generators/preset/preset.d.ts +4 -0
- package/src/generators/preset/preset.js +101 -0
- package/src/generators/preset/preset.js.map +1 -0
- package/src/generators/preset/schema.d.ts +4 -0
- package/src/generators/preset/schema.json +22 -0
- package/src/index.d.ts +0 -0
- package/src/index.js +1 -0
- package/src/index.js.map +1 -0
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# create-workspace
|
|
2
|
+
|
|
3
|
+
This library was generated with [Nx](https://nx.dev).
|
|
4
|
+
|
|
5
|
+
## Building
|
|
6
|
+
|
|
7
|
+
Run `nx build create-workspace` to build the library.
|
|
8
|
+
|
|
9
|
+
## Running unit tests
|
|
10
|
+
|
|
11
|
+
Run `nx test create-workspace` to execute the unit tests via [Jest](https://jestjs.io).
|
package/generators.json
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@atelier-ui/create-workspace",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Nx preset for Atelier UI workshop workspaces",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"nx",
|
|
7
|
+
"preset",
|
|
8
|
+
"atelier-ui",
|
|
9
|
+
"angular",
|
|
10
|
+
"workshop"
|
|
11
|
+
],
|
|
12
|
+
"author": "Atelier UI",
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "https://github.com/DominikPieper/atelier-ui.git",
|
|
17
|
+
"directory": "libs/create-workspace"
|
|
18
|
+
},
|
|
19
|
+
"type": "commonjs",
|
|
20
|
+
"main": "./src/index.js",
|
|
21
|
+
"types": "./src/index.d.ts",
|
|
22
|
+
"generators": "./generators.json",
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"@nx/devkit": "22.6.1",
|
|
25
|
+
"tslib": "^2.3.0"
|
|
26
|
+
},
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"@nx/angular": ">=22.0.0"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.presetGenerator = presetGenerator;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const devkit_1 = require("@nx/devkit");
|
|
6
|
+
const generators_1 = require("@nx/angular/generators");
|
|
7
|
+
const react_1 = require("@nx/react");
|
|
8
|
+
const SITE_URL = 'https://atelier-ui.netlify.app';
|
|
9
|
+
function presetGenerator(tree, options) {
|
|
10
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
11
|
+
var _a;
|
|
12
|
+
const frameworks = ((_a = options.frameworks) !== null && _a !== void 0 ? _a : 'angular')
|
|
13
|
+
.split(',')
|
|
14
|
+
.map((f) => f.trim())
|
|
15
|
+
.filter(Boolean);
|
|
16
|
+
const deps = {
|
|
17
|
+
'@atelier-ui/spec': 'latest',
|
|
18
|
+
};
|
|
19
|
+
for (const framework of frameworks) {
|
|
20
|
+
const appName = `workshop-${framework}`;
|
|
21
|
+
if (framework === 'angular') {
|
|
22
|
+
yield (0, generators_1.applicationGenerator)(tree, {
|
|
23
|
+
name: appName,
|
|
24
|
+
directory: appName,
|
|
25
|
+
style: 'css',
|
|
26
|
+
routing: true,
|
|
27
|
+
standalone: true,
|
|
28
|
+
ssr: false,
|
|
29
|
+
skipTests: true,
|
|
30
|
+
skipFormat: true,
|
|
31
|
+
});
|
|
32
|
+
deps['@atelier-ui/angular'] = 'latest';
|
|
33
|
+
}
|
|
34
|
+
if (framework === 'react') {
|
|
35
|
+
yield (0, react_1.applicationGenerator)(tree, {
|
|
36
|
+
name: appName,
|
|
37
|
+
directory: appName,
|
|
38
|
+
style: 'css',
|
|
39
|
+
routing: true,
|
|
40
|
+
bundler: 'vite',
|
|
41
|
+
unitTestRunner: 'none',
|
|
42
|
+
skipFormat: true,
|
|
43
|
+
});
|
|
44
|
+
deps['@atelier-ui/react'] = 'latest';
|
|
45
|
+
}
|
|
46
|
+
if (framework === 'vue') {
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
48
|
+
const { applicationGenerator: vueAppGenerator } = yield (0, devkit_1.ensurePackage)('@nx/vue', 'latest');
|
|
49
|
+
yield vueAppGenerator(tree, {
|
|
50
|
+
name: appName,
|
|
51
|
+
directory: appName,
|
|
52
|
+
style: 'css',
|
|
53
|
+
routing: true,
|
|
54
|
+
unitTestRunner: 'none',
|
|
55
|
+
skipFormat: true,
|
|
56
|
+
});
|
|
57
|
+
deps['@atelier-ui/vue'] = 'latest';
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Install selected @atelier-ui/* packages
|
|
61
|
+
const installTask = (0, devkit_1.addDependenciesToPackageJson)(tree, deps, {});
|
|
62
|
+
// Write .claude/settings.json with MCP servers for selected frameworks
|
|
63
|
+
const mcpServers = {
|
|
64
|
+
'nx-mcp': {
|
|
65
|
+
type: 'stdio',
|
|
66
|
+
command: 'npx',
|
|
67
|
+
args: ['nx', 'mcp'],
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
for (const framework of frameworks) {
|
|
71
|
+
mcpServers[`storybook-${framework}`] = {
|
|
72
|
+
type: 'http',
|
|
73
|
+
url: `${SITE_URL}/storybook-${framework}/mcp`,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
(0, devkit_1.writeJson)(tree, '.claude/settings.json', { mcpServers });
|
|
77
|
+
// Write README
|
|
78
|
+
tree.write('README.md', `# Atelier UI Workshop
|
|
79
|
+
|
|
80
|
+
## Apps
|
|
81
|
+
|
|
82
|
+
${frameworks.map((f) => `- \`workshop-${f}\` — \`@atelier-ui/${f}\``).join('\n')}
|
|
83
|
+
|
|
84
|
+
## Getting started
|
|
85
|
+
|
|
86
|
+
\`\`\`bash
|
|
87
|
+
npm install
|
|
88
|
+
npx nx serve workshop-${frameworks[0]}
|
|
89
|
+
\`\`\`
|
|
90
|
+
|
|
91
|
+
## MCP
|
|
92
|
+
|
|
93
|
+
Claude Code MCP servers are pre-configured in \`.claude/settings.json\`.
|
|
94
|
+
Browse components at ${SITE_URL}
|
|
95
|
+
`);
|
|
96
|
+
yield (0, devkit_1.formatFiles)(tree);
|
|
97
|
+
return (0, devkit_1.runTasksInSerial)(installTask, () => (0, devkit_1.installPackagesTask)(tree));
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
exports.default = presetGenerator;
|
|
101
|
+
//# sourceMappingURL=preset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preset.js","sourceRoot":"","sources":["../../../../../../libs/create-workspace/src/generators/preset/preset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "Preset",
|
|
4
|
+
"title": "Atelier UI Workshop Preset",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"name": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Workspace name",
|
|
10
|
+
"$default": {
|
|
11
|
+
"$source": "argv",
|
|
12
|
+
"index": 0
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"frameworks": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Comma-separated list of frameworks to scaffold: angular,react,vue",
|
|
18
|
+
"default": "angular"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": ["name"]
|
|
22
|
+
}
|
package/src/index.d.ts
ADDED
|
File without changes
|
package/src/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/create-workspace/src/index.ts"],"names":[],"mappings":""}
|