@tidecloak/create-nextjs 0.0.1 → 0.0.2

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.
@@ -9,6 +9,15 @@ const path_1 = __importDefault(require("path"));
9
9
  const child_process_1 = require("child_process");
10
10
  const enquirer_1 = __importDefault(require("enquirer"));
11
11
  const { prompt } = enquirer_1.default;
12
+ function hasCommand(cmd) {
13
+ try {
14
+ (0, child_process_1.execSync)(`command -v ${cmd}`, { stdio: 'ignore' });
15
+ return true;
16
+ }
17
+ catch {
18
+ return false;
19
+ }
20
+ }
12
21
  async function main() {
13
22
  const [, , targetDir] = process.argv;
14
23
  if (!targetDir) {
@@ -19,7 +28,7 @@ async function main() {
19
28
  const { language } = await prompt({
20
29
  type: 'select',
21
30
  name: 'language',
22
- message: 'Which language would you like?',
31
+ message: 'Preferred app language?',
23
32
  choices: ['TypeScript', 'JavaScript']
24
33
  });
25
34
  // 2. Scaffold template
@@ -34,11 +43,37 @@ async function main() {
34
43
  const { initialize } = await prompt({
35
44
  type: 'confirm',
36
45
  name: 'initialize',
37
- message: 'Run TideCloak initialization now? Ensure your server is running.',
46
+ message: 'Initialize TideCloak now? Your server must be running.',
38
47
  initial: true
39
48
  });
40
- if (initialize) {
41
- // 4. Collect config values
49
+ if (!initialize) {
50
+ console.log('Initialization skipped.');
51
+ }
52
+ else {
53
+ // 4. Check prerequisites
54
+ let missing = ['curl', 'jq'].filter(cmd => !hasCommand(cmd));
55
+ if (missing.length > 0) {
56
+ console.warn(`Missing prerequisites: ${missing.join(', ')}`);
57
+ const { action } = await prompt({
58
+ type: 'input',
59
+ name: 'action',
60
+ message: `Please install the missing prerequisites (${missing.join(', ')}), then press ENTER to retry, or type 'skip' to skip initialization`
61
+ });
62
+ if (action.trim().toLowerCase() === 'skip') {
63
+ console.log('Initialization skipped.');
64
+ console.log(`"${targetDir}" is ready!`);
65
+ console.log(`"Start developing your app here: `);
66
+ console.log(` cd ${targetDir} && npm install`);
67
+ return;
68
+ }
69
+ // retry
70
+ missing = ['curl', 'jq'].filter(cmd => !hasCommand(cmd));
71
+ if (missing.length > 0) {
72
+ console.warn(`Still missing: ${missing.join(', ')}. Skipping initialization.`);
73
+ return;
74
+ }
75
+ }
76
+ // 5. Collect config values
42
77
  const { tideUrl } = await prompt({
43
78
  type: 'input',
44
79
  name: 'tideUrl',
@@ -49,43 +84,43 @@ async function main() {
49
84
  const { realmName } = await prompt({
50
85
  type: 'input',
51
86
  name: 'realmName',
52
- message: 'Realm name:',
87
+ message: 'TideCloak new Realm name:',
53
88
  initial: 'nextjs-test',
54
89
  validate: (input) => input.trim().length > 0 || 'Please enter a realm name'
55
90
  });
56
91
  const { clientName } = await prompt({
57
92
  type: 'input',
58
93
  name: 'clientName',
59
- message: 'Client name:',
94
+ message: 'TideCloak new Client name:',
60
95
  initial: 'myclient',
61
96
  validate: (input) => input.trim().length > 0 || 'Please enter a client name'
62
97
  });
63
98
  const { clientAppUrl } = await prompt({
64
99
  type: 'input',
65
100
  name: 'clientAppUrl',
66
- message: 'Client App URL (e.g. http://localhost:3000):',
101
+ message: 'This App URL (e.g. http://localhost:3000):',
67
102
  initial: 'http://localhost:3000',
68
103
  validate: (input) => input.trim().length > 0 || 'Please enter your app URL'
69
104
  });
70
105
  const { kcUser } = await prompt({
71
106
  type: 'input',
72
107
  name: 'kcUser',
73
- message: 'Master admin username:',
108
+ message: 'TideCloak bootstrap / master admin username:',
74
109
  initial: 'admin',
75
110
  validate: (input) => input.trim().length > 0 || 'Please enter a username'
76
111
  });
77
112
  const { kcPassword } = await prompt({
78
113
  type: 'input',
79
114
  name: 'kcPassword',
80
- message: 'Master admin password:',
115
+ message: 'TideCloak bootstrap / master admin password:',
81
116
  initial: 'password',
82
117
  validate: (input) => input.trim().length > 0 || 'Please enter a password'
83
118
  });
84
- // 5. Run initialization script
119
+ // 6. Run initialization script
85
120
  const { runInit } = await prompt({
86
121
  type: 'confirm',
87
122
  name: 'runInit',
88
- message: 'Continue with tidecloak initialization?',
123
+ message: 'Ready to initialize TideCloak?',
89
124
  initial: true
90
125
  });
91
126
  if (runInit) {
@@ -125,11 +160,9 @@ async function main() {
125
160
  console.log(`To run init later: cd ${targetDir} && bash init/tcinit.sh`);
126
161
  }
127
162
  }
128
- else {
129
- console.log('Initialization skipped.');
130
- }
131
- // 6. Final instructions
163
+ // 7. Final instructions
132
164
  console.log(`"${targetDir}" is ready!`);
165
+ console.log("Proceed to run your app:");
133
166
  console.log(`cd ${targetDir} && npm install && npm run dev`);
134
167
  }
135
168
  main().catch((err) => {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../create.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,15 @@ import path from 'path';
4
4
  import { execSync } from 'child_process';
5
5
  import Enquirer from 'enquirer';
6
6
  const { prompt } = Enquirer;
7
+ function hasCommand(cmd) {
8
+ try {
9
+ execSync(`command -v ${cmd}`, { stdio: 'ignore' });
10
+ return true;
11
+ }
12
+ catch {
13
+ return false;
14
+ }
15
+ }
7
16
  async function main() {
8
17
  const [, , targetDir] = process.argv;
9
18
  if (!targetDir) {
@@ -14,7 +23,7 @@ async function main() {
14
23
  const { language } = await prompt({
15
24
  type: 'select',
16
25
  name: 'language',
17
- message: 'Which language would you like?',
26
+ message: 'Preferred app language?',
18
27
  choices: ['TypeScript', 'JavaScript']
19
28
  });
20
29
  // 2. Scaffold template
@@ -29,11 +38,37 @@ async function main() {
29
38
  const { initialize } = await prompt({
30
39
  type: 'confirm',
31
40
  name: 'initialize',
32
- message: 'Run TideCloak initialization now? Ensure your server is running.',
41
+ message: 'Initialize TideCloak now? Your server must be running.',
33
42
  initial: true
34
43
  });
35
- if (initialize) {
36
- // 4. Collect config values
44
+ if (!initialize) {
45
+ console.log('Initialization skipped.');
46
+ }
47
+ else {
48
+ // 4. Check prerequisites
49
+ let missing = ['curl', 'jq'].filter(cmd => !hasCommand(cmd));
50
+ if (missing.length > 0) {
51
+ console.warn(`Missing prerequisites: ${missing.join(', ')}`);
52
+ const { action } = await prompt({
53
+ type: 'input',
54
+ name: 'action',
55
+ message: `Please install the missing prerequisites (${missing.join(', ')}), then press ENTER to retry, or type 'skip' to skip initialization`
56
+ });
57
+ if (action.trim().toLowerCase() === 'skip') {
58
+ console.log('Initialization skipped.');
59
+ console.log(`"${targetDir}" is ready!`);
60
+ console.log(`"Start developing your app here: `);
61
+ console.log(` cd ${targetDir} && npm install`);
62
+ return;
63
+ }
64
+ // retry
65
+ missing = ['curl', 'jq'].filter(cmd => !hasCommand(cmd));
66
+ if (missing.length > 0) {
67
+ console.warn(`Still missing: ${missing.join(', ')}. Skipping initialization.`);
68
+ return;
69
+ }
70
+ }
71
+ // 5. Collect config values
37
72
  const { tideUrl } = await prompt({
38
73
  type: 'input',
39
74
  name: 'tideUrl',
@@ -44,43 +79,43 @@ async function main() {
44
79
  const { realmName } = await prompt({
45
80
  type: 'input',
46
81
  name: 'realmName',
47
- message: 'Realm name:',
82
+ message: 'TideCloak new Realm name:',
48
83
  initial: 'nextjs-test',
49
84
  validate: (input) => input.trim().length > 0 || 'Please enter a realm name'
50
85
  });
51
86
  const { clientName } = await prompt({
52
87
  type: 'input',
53
88
  name: 'clientName',
54
- message: 'Client name:',
89
+ message: 'TideCloak new Client name:',
55
90
  initial: 'myclient',
56
91
  validate: (input) => input.trim().length > 0 || 'Please enter a client name'
57
92
  });
58
93
  const { clientAppUrl } = await prompt({
59
94
  type: 'input',
60
95
  name: 'clientAppUrl',
61
- message: 'Client App URL (e.g. http://localhost:3000):',
96
+ message: 'This App URL (e.g. http://localhost:3000):',
62
97
  initial: 'http://localhost:3000',
63
98
  validate: (input) => input.trim().length > 0 || 'Please enter your app URL'
64
99
  });
65
100
  const { kcUser } = await prompt({
66
101
  type: 'input',
67
102
  name: 'kcUser',
68
- message: 'Master admin username:',
103
+ message: 'TideCloak bootstrap / master admin username:',
69
104
  initial: 'admin',
70
105
  validate: (input) => input.trim().length > 0 || 'Please enter a username'
71
106
  });
72
107
  const { kcPassword } = await prompt({
73
108
  type: 'input',
74
109
  name: 'kcPassword',
75
- message: 'Master admin password:',
110
+ message: 'TideCloak bootstrap / master admin password:',
76
111
  initial: 'password',
77
112
  validate: (input) => input.trim().length > 0 || 'Please enter a password'
78
113
  });
79
- // 5. Run initialization script
114
+ // 6. Run initialization script
80
115
  const { runInit } = await prompt({
81
116
  type: 'confirm',
82
117
  name: 'runInit',
83
- message: 'Continue with tidecloak initialization?',
118
+ message: 'Ready to initialize TideCloak?',
84
119
  initial: true
85
120
  });
86
121
  if (runInit) {
@@ -120,11 +155,9 @@ async function main() {
120
155
  console.log(`To run init later: cd ${targetDir} && bash init/tcinit.sh`);
121
156
  }
122
157
  }
123
- else {
124
- console.log('Initialization skipped.');
125
- }
126
- // 6. Final instructions
158
+ // 7. Final instructions
127
159
  console.log(`"${targetDir}" is ready!`);
160
+ console.log("Proceed to run your app:");
128
161
  console.log(`cd ${targetDir} && npm install && npm run dev`);
129
162
  }
130
163
  main().catch((err) => {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../create.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,QAAQ,MAAM,UAAU,CAAA;AAE/B,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAA;AAE3B,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC;QACH,QAAQ,CAAC,cAAc,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAClD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,EAAE,AAAD,EAAG,SAAS,CAAC,GAAG,OAAO,CAAC,IAAgB,CAAA;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,qBAAqB;IACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAA4C;QAC3E,IAAI,EAAK,QAAQ;QACjB,IAAI,EAAK,UAAU;QACnB,OAAO,EAAE,yBAAyB;QAClC,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;KACtC,CAAC,CAAA;IAEF,uBAAuB;IACvB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACvD,MAAM,YAAY,GAAG,QAAQ,KAAK,YAAY;QAC5C,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,iBAAiB,CAAA;IACrB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IAC3D,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,mBAAmB,SAAS,GAAG,CAAC,CAAA;IAElE,+BAA+B;IAC/B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAA0B;QAC3D,IAAI,EAAK,SAAS;QAClB,IAAI,EAAK,YAAY;QACrB,OAAO,EAAE,wDAAwD;QACjE,OAAO,EAAE,IAAI;KACd,CAAC,CAAA;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;IACxC,CAAC;SAAM,CAAC;QACN,yBAAyB;QACzB,IAAI,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAqB;gBAClD,IAAI,EAAK,OAAO;gBAChB,IAAI,EAAK,QAAQ;gBACjB,OAAO,EAAE,6CAA6C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qEAAqE;aAC9I,CAAC,CAAA;YACF,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;gBACtC,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,aAAa,CAAC,CAAA;gBACvC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;gBAChD,OAAO,CAAC,GAAG,CAAC,QAAQ,SAAS,iBAAiB,CAAC,CAAA;gBAC/C,OAAM;YACR,CAAC;YACD,QAAQ;YACR,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;YACxD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;gBAC9E,OAAM;YACR,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAsB;YACpD,IAAI,EAAK,OAAO;YAChB,IAAI,EAAK,SAAS;YAClB,OAAO,EAAE,uBAAuB;YAChC,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAC1B,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,oBAAoB;SACjD,CAAC,CAAA;QAEF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAwB;YACxD,IAAI,EAAK,OAAO;YAChB,IAAI,EAAK,WAAW;YACpB,OAAO,EAAE,2BAA2B;YACpC,OAAO,EAAE,aAAa;YACtB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAC1B,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,2BAA2B;SACzD,CAAC,CAAA;QAEF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAyB;YAC1D,IAAI,EAAK,OAAO;YAChB,IAAI,EAAK,YAAY;YACrB,OAAO,EAAE,4BAA4B;YACrC,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAC1B,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,4BAA4B;SAC1D,CAAC,CAAA;QAEF,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAA2B;YAC9D,IAAI,EAAK,OAAO;YAChB,IAAI,EAAK,cAAc;YACvB,OAAO,EAAE,4CAA4C;YACrD,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAC1B,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,2BAA2B;SACzD,CAAC,CAAA;QAEF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAqB;YAClD,IAAI,EAAK,OAAO;YAChB,IAAI,EAAK,QAAQ;YACjB,OAAO,EAAE,8CAA8C;YACvD,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAC1B,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,yBAAyB;SACvD,CAAC,CAAA;QAEF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAyB;YAC1D,IAAI,EAAK,OAAO;YAChB,IAAI,EAAK,YAAY;YACrB,OAAO,EAAE,8CAA8C;YACvD,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE,CAC1B,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,yBAAyB;SACvD,CAAC,CAAA;QAEF,+BAA+B;QAC/B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAuB;YACrD,IAAI,EAAK,SAAS;YAClB,IAAI,EAAK,SAAS;YAClB,OAAO,EAAE,gCAAgC;YACzC,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QAEF,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;YACnC,IAAI,CAAC;gBACH,QAAQ,CACN,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,EAC1D;oBACE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC;oBAC3C,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE;wBACH,GAAG,OAAO,CAAC,GAAG;wBACd,mBAAmB,EAAE,OAAO;wBAC5B,cAAc,EAAO,SAAS;wBAC9B,WAAW,EAAU,UAAU;wBAC/B,cAAc,EAAO,YAAY;wBACjC,OAAO,EAAc,MAAM;wBAC3B,WAAW,EAAU,UAAU;qBAChC;iBACF,CACF,CAAA;gBACD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAA;gBAE5D,2CAA2C;gBAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAA;gBAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAA;gBAC3E,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7B,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;oBACtC,OAAO,CAAC,GAAG,CAAC,4BAA4B,SAAS,kBAAkB,CAAC,CAAA;gBACtE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAA;gBAC1D,CAAC;YACH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;gBAC1D,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,yBAAyB,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,yBAAyB,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,aAAa,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;IACvC,OAAO,CAAC,GAAG,CAAC,MAAM,SAAS,gCAAgC,CAAC,CAAA;AAC9D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;IAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
package/init/tcinit.sh CHANGED
@@ -144,7 +144,7 @@ approve_and_commit clients
144
144
  # Step 4: create admin user + assign role
145
145
  # ─────────────────────────────────────────────────────────────────────────────
146
146
  TOKEN="$(get_admin_token)"
147
- echo "👤 Creating admin user..."
147
+ echo "👤 Creating new admin user..."
148
148
  curl -s -X POST "${TIDECLOAK_LOCAL_URL}/admin/realms/${REALM_NAME}/users" \
149
149
  -H "Authorization: Bearer ${TOKEN}" \
150
150
  -H "Content-Type: application/json" \
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tidecloak/create-nextjs",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "type": "module",
5
5
 
6
6
  "bin": {
@@ -5,7 +5,7 @@ import { useTideCloak } from '@tidecloak/nextjs'
5
5
  import tcConfig from "../../tidecloak.json"
6
6
 
7
7
  export default function HomePage() {
8
- const { logout, getValueFromIdToken, hasRealmRole, getAccessToken } = useTideCloak()
8
+ const { logout, getValueFromIdToken, hasRealmRole, token } = useTideCloak()
9
9
  const username = getValueFromIdToken('preferred_username') || '…'
10
10
  const hasDefaultRole = hasRealmRole(`default-roles-${tcConfig["realm"]}`)
11
11
 
@@ -20,7 +20,6 @@ export default function HomePage() {
20
20
  setVerifying(true)
21
21
  setVerifyResult(null)
22
22
  try {
23
- const token = await getAccessToken()
24
23
  const res = await fetch('/api/protected', {
25
24
  method: 'GET',
26
25
  headers: { Authorization: `Bearer ${token}` },
@@ -36,7 +35,7 @@ export default function HomePage() {
36
35
  } finally {
37
36
  setVerifying(false)
38
37
  }
39
- }, [getAccessToken])
38
+ }, [token])
40
39
 
41
40
  return (
42
41
  <div style={containerStyle}>
@@ -144,7 +144,7 @@ approve_and_commit clients
144
144
  # Step 4: create admin user + assign role
145
145
  # ─────────────────────────────────────────────────────────────────────────────
146
146
  TOKEN="$(get_admin_token)"
147
- echo "👤 Creating admin user..."
147
+ echo "👤 Creating new admin user..."
148
148
  curl -s -X POST "${TIDECLOAK_LOCAL_URL}/admin/realms/${REALM_NAME}/users" \
149
149
  -H "Authorization: Bearer ${TOKEN}" \
150
150
  -H "Content-Type: application/json" \
@@ -144,7 +144,7 @@ approve_and_commit clients
144
144
  # Step 4: create admin user + assign role
145
145
  # ─────────────────────────────────────────────────────────────────────────────
146
146
  TOKEN="$(get_admin_token)"
147
- echo "👤 Creating admin user..."
147
+ echo "👤 Creating new admin user..."
148
148
  curl -s -X POST "${TIDECLOAK_LOCAL_URL}/admin/realms/${REALM_NAME}/users" \
149
149
  -H "Authorization: Bearer ${TOKEN}" \
150
150
  -H "Content-Type: application/json" \