create-atelier-ui-workspace 0.0.11 → 0.0.13

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/CHANGELOG.md ADDED
@@ -0,0 +1,10 @@
1
+ ## 0.0.12 (2026-04-22)
2
+
3
+ ### 🩹 Fixes
4
+
5
+ - **create-workspace:** always write preflight npm script in scaffolded package.json ([8813785](https://github.com/DominikPieper/atelier-ui/commit/8813785))
6
+
7
+ ### ā¤ļø Thank You
8
+
9
+ - Claude Opus 4.7 (1M context)
10
+ - Dominik Pieper @DominikPieper
package/bin/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ export declare function main(): Promise<void>;
package/bin/index.js CHANGED
@@ -1,13 +1,50 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.main = main;
4
5
  const tslib_1 = require("tslib");
5
6
  const create_nx_workspace_1 = require("create-nx-workspace");
6
- // eslint-disable-next-line @typescript-eslint/no-var-requires
7
7
  const enquirer = require('enquirer');
8
+ const VALID_FRAMEWORKS = ['angular', 'react', 'vue'];
9
+ const FIGMA_SETUP_URL = 'https://atelier.pieper.io/figma-token';
10
+ function parseFlag(args, name) {
11
+ const eqPrefix = `--${name}=`;
12
+ const withEq = args.find((a) => a.startsWith(eqPrefix));
13
+ if (withEq)
14
+ return withEq.slice(eqPrefix.length);
15
+ const idx = args.indexOf(`--${name}`);
16
+ if (idx >= 0) {
17
+ const next = args[idx + 1];
18
+ if (next && !next.startsWith('-'))
19
+ return next;
20
+ }
21
+ return undefined;
22
+ }
23
+ function parseBooleanFlag(args, name) {
24
+ // --name / --name=true / --name true → true
25
+ // --no-name / --name=false / --name false → false
26
+ if (args.includes(`--no-${name}`))
27
+ return false;
28
+ const raw = parseFlag(args, name);
29
+ if (raw === undefined) {
30
+ return args.includes(`--${name}`) ? true : undefined;
31
+ }
32
+ if (raw === 'true')
33
+ return true;
34
+ if (raw === 'false')
35
+ return false;
36
+ throw new Error(`Invalid --${name} value: "${raw}". Must be "true" or "false".`);
37
+ }
8
38
  function main() {
9
39
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
- let name = process.argv.slice(2).find((arg) => !arg.startsWith('-'));
40
+ var _a;
41
+ const argv = process.argv.slice(2);
42
+ let name = argv.find((arg) => !arg.startsWith('-'));
43
+ let framework = parseFlag(argv, 'framework');
44
+ let figmaMcp = parseBooleanFlag(argv, 'figma');
45
+ if (framework && !VALID_FRAMEWORKS.includes(framework)) {
46
+ throw new Error(`Invalid --framework value: "${framework}". Must be one of: ${VALID_FRAMEWORKS.join(', ')}.`);
47
+ }
11
48
  if (!name) {
12
49
  const res = yield enquirer.prompt({
13
50
  type: 'input',
@@ -20,32 +57,56 @@ function main() {
20
57
  if (!name) {
21
58
  throw new Error('Please provide a name for the workspace');
22
59
  }
23
- const { framework } = yield enquirer.prompt({
24
- type: 'select',
25
- name: 'framework',
26
- message: 'Which framework do you want to use?',
27
- choices: [
28
- { name: 'angular', message: 'Angular' },
29
- { name: 'react', message: 'React' },
30
- { name: 'vue', message: 'Vue' },
31
- ],
32
- });
60
+ if (!framework) {
61
+ const res = yield enquirer.prompt({
62
+ type: 'select',
63
+ name: 'framework',
64
+ message: 'Which framework do you want to use?',
65
+ choices: [
66
+ { name: 'angular', message: 'Angular' },
67
+ { name: 'react', message: 'React' },
68
+ { name: 'vue', message: 'Vue' },
69
+ ],
70
+ });
71
+ framework = res.framework;
72
+ }
73
+ if (figmaMcp === undefined) {
74
+ const res = yield enquirer.prompt({
75
+ type: 'confirm',
76
+ name: 'figma',
77
+ message: `Add the Figma Desktop Bridge MCP (figma-console-mcp)?\n Setup guide: ${FIGMA_SETUP_URL}`,
78
+ initial: true,
79
+ });
80
+ figmaMcp = res.figma;
81
+ }
33
82
  console.log(`\nScaffolding Atelier UI workshop: ${name} (${framework})\n`);
34
- // eslint-disable-next-line @typescript-eslint/no-var-requires
35
83
  const presetVersion = require('../package.json').version;
36
- const { directory } = yield (0, create_nx_workspace_1.createWorkspace)(`@atelier-ui/create-workspace@${presetVersion}`, {
84
+ // ATELIER_PRESET_SPEC overrides the published preset — used by the e2e test
85
+ // to install the locally-packed tarball instead of fetching from npm.
86
+ const presetSpec = (_a = process.env.ATELIER_PRESET_SPEC) !== null && _a !== void 0 ? _a : `@atelier-ui/create-workspace@${presetVersion}`;
87
+ const { directory } = yield (0, create_nx_workspace_1.createWorkspace)(presetSpec, {
37
88
  name,
38
89
  nxCloud: 'skip',
39
90
  packageManager: 'npm',
40
91
  frameworks: framework,
92
+ figmaMcp,
41
93
  });
42
94
  const appName = `workshop-${framework}`;
43
95
  console.log(`\nāœ“ Workspace created at: ${directory}`);
44
96
  console.log(`\nGet started:\n`);
45
97
  console.log(` cd ${directory}`);
46
98
  console.log(` npx nx serve ${appName}`);
47
- console.log(`\nApp scaffolded: ${appName}\n`);
99
+ console.log(`\nApp scaffolded: ${appName}`);
100
+ if (figmaMcp) {
101
+ console.log(`\nFigma MCP enabled — install the Desktop Bridge plugin:`);
102
+ console.log(` ${FIGMA_SETUP_URL}\n`);
103
+ }
104
+ else {
105
+ console.log('');
106
+ }
48
107
  });
49
108
  }
50
- main();
109
+ if (require.main === module) {
110
+ main();
111
+ }
51
112
  //# sourceMappingURL=index.js.map
package/bin/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/create-atelier-ui-workspace/bin/index.ts"],"names":[],"mappings":";;;;AAEA,6DAAsD;AAEtD,8DAA8D;AAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAErC,SAAe,IAAI;;QACjB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAChC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,aAAa;aACvB,CAAC,CAAC;YACH,IAAI,GAAI,GAAwB,CAAC,IAAI,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC1C,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,qCAAqC;YAC9C,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;gBACvC,EAAE,IAAI,EAAE,OAAO,EAAI,OAAO,EAAE,OAAO,EAAE;gBACrC,EAAE,IAAI,EAAE,KAAK,EAAM,OAAO,EAAE,KAAK,EAAE;aACpC;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,sCAAsC,IAAI,KAAK,SAAS,KAAK,CAAC,CAAC;QAE3E,8DAA8D;QAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;QAEzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,qCAAe,EACzC,gCAAgC,aAAa,EAAE,EAC/C;YACE,IAAI;YACJ,OAAO,EAAE,MAAM;YACf,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,SAAS;SACtB,CACF,CAAC;QAEF,MAAM,OAAO,GAAG,YAAY,SAAS,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,SAAS,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,IAAI,CAAC,CAAC;IAChD,CAAC;CAAA;AAED,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/create-atelier-ui-workspace/bin/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-atelier-ui-workspace",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "description": "Create an Atelier UI Angular workshop workspace in one command",
5
5
  "keywords": [
6
6
  "nx",
@@ -19,7 +19,7 @@
19
19
  "type": "commonjs",
20
20
  "main": "./bin/index.js",
21
21
  "dependencies": {
22
- "create-nx-workspace": "22.6.0",
22
+ "create-nx-workspace": "22.6.5",
23
23
  "enquirer": "^2.3.6",
24
24
  "tslib": "^2.3.0"
25
25
  },
@@ -27,4 +27,4 @@
27
27
  "create-atelier-ui-workspace": "./bin/index.js"
28
28
  },
29
29
  "types": "./bin/index.d.ts"
30
- }
30
+ }