@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 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).
@@ -0,0 +1,10 @@
1
+ {
2
+ "generators": {
3
+ "preset": {
4
+ "factory": "./src/generators/preset/preset",
5
+ "schema": "./src/generators/preset/schema.json",
6
+ "description": "preset generator",
7
+ "x-use-standalone-layout": true
8
+ }
9
+ }
10
+ }
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,4 @@
1
+ import { Tree } from '@nx/devkit';
2
+ import { PresetGeneratorSchema } from './schema';
3
+ export declare function presetGenerator(tree: Tree, options: PresetGeneratorSchema): Promise<import("@nx/devkit").GeneratorCallback>;
4
+ export default presetGenerator;
@@ -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,4 @@
1
+ export interface PresetGeneratorSchema {
2
+ name: string;
3
+ frameworks?: string;
4
+ }
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/create-workspace/src/index.ts"],"names":[],"mappings":""}