@raisenow/tamaro-cli 1.6.1 → 1.7.0-dev.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.
Files changed (122) hide show
  1. package/.history/.eslintignore_20220609190420 +4 -0
  2. package/.history/.eslintignore_20230911190227 +6 -0
  3. package/.history/.eslintignore_20230911211247 +7 -0
  4. package/.history/.eslintignore_20230911211250 +7 -0
  5. package/.history/.eslintrc_20230911201601.js +49 -0
  6. package/.history/.eslintrc_20230911201643.js +49 -0
  7. package/.history/.eslintrc_20230911201735.js +49 -0
  8. package/.history/.eslintrc_20230911201913.js +64 -0
  9. package/.history/.eslintrc_20230911202002.js +62 -0
  10. package/.history/.eslintrc_20230911202138.js +133 -0
  11. package/.history/.eslintrc_20230911202140.js +133 -0
  12. package/.history/.eslintrc_20230911202145.js +133 -0
  13. package/.history/.eslintrc_20230911202147.js +133 -0
  14. package/.history/.eslintrc_20230911202406.js +133 -0
  15. package/.history/.eslintrc_20230911202447.js +133 -0
  16. package/.history/.eslintrc_20230911202453.js +133 -0
  17. package/.history/.eslintrc_20230911202511.js +133 -0
  18. package/.history/.eslintrc_20230911202527.js +133 -0
  19. package/.history/.eslintrc_20230911202639.js +125 -0
  20. package/.history/.eslintrc_20230911202721.js +149 -0
  21. package/.history/.eslintrc_20230911202746.js +149 -0
  22. package/.history/.eslintrc_20240423125702.cjs +148 -0
  23. package/.history/.gitignore_20220609190420 +14 -0
  24. package/.history/.gitignore_20230911185959 +4 -0
  25. package/.history/.gitignore_20230911190006 +4 -0
  26. package/.history/.gitignore_20230911190007 +4 -0
  27. package/.history/.nmprc_20241004144025 +0 -0
  28. package/.history/.nmprc_20241004144041 +1 -0
  29. package/.history/.npmrc_20241004144040 +1 -0
  30. package/.history/.npmrc_20241004144152 +1 -0
  31. package/.history/.npmrc_20241004145639 +2 -0
  32. package/.history/.npmrc_20241004145649 +1 -0
  33. package/.history/.nvmrc_20250729181039 +1 -0
  34. package/.history/.prettierignore_20220609190420 +5 -0
  35. package/.history/.prettierignore_20230911190242 +7 -0
  36. package/.history/.prettierignore_20230911190245 +7 -0
  37. package/.history/.prettierignore_20230911211301 +8 -0
  38. package/.history/CHANGELOG_20250729195139.md +28 -0
  39. package/.history/CHANGELOG_20250729195148.md +29 -0
  40. package/.history/CHANGELOG_20250729195156.md +28 -0
  41. package/.history/CHANGELOG_20250729195218.md +29 -0
  42. package/.history/CHANGELOG_20250729195223.md +27 -0
  43. package/.history/CHANGELOG_20250729195506.md +29 -0
  44. package/.history/CHANGELOG_20250729224404.md +30 -0
  45. package/.history/CHANGELOG_20250729224411.md +30 -0
  46. package/.history/CHANGELOG_20250730124538.md +41 -0
  47. package/.history/CHANGELOG_20250730124603.md +38 -0
  48. package/.history/CHANGELOG_20250730124627.md +36 -0
  49. package/.history/CHANGELOG_20250730124638.md +36 -0
  50. package/.history/CHANGELOG_20250730124640.md +36 -0
  51. package/.history/README_20230911145033.md +245 -0
  52. package/.history/README_20230911151749.md +245 -0
  53. package/.history/README_20230911151844.md +245 -0
  54. package/.history/README_20230911153040.md +245 -0
  55. package/.history/README_20230911202959.md +245 -0
  56. package/.history/bitbucket-pipelines_20250729111540.yml +46 -0
  57. package/.history/bitbucket-pipelines_20250729210338.yml +46 -0
  58. package/.history/bitbucket-pipelines_20250729210340.yml +46 -0
  59. package/.history/bitbucket-pipelines_20250729210342.yml +46 -0
  60. package/.history/bitbucket-pipelines_20250729222234.yml +47 -0
  61. package/.history/bitbucket-pipelines_20250729222554.yml +47 -0
  62. package/.history/bitbucket-pipelines_20250729222555.yml +47 -0
  63. package/.history/bitbucket-pipelines_20250729223022.yml +46 -0
  64. package/.history/bitbucket-pipelines_20250729223024.yml +46 -0
  65. package/.history/cli_20241005014539 +3 -0
  66. package/.history/cli_20241005014542 +3 -0
  67. package/.history/cli_20241005014848 +3 -0
  68. package/.history/dist/chunk-FICM3HUI_20230912183408.js +302 -0
  69. package/{dist/chunk-5D6F3T2J.js → .history/dist/chunk-FICM3HUI_20230912201610.js} +45 -98
  70. package/.history/package_20250729182417.json +111 -0
  71. package/.history/package_20250729182419.json +111 -0
  72. package/.history/package_20250729182618.json +110 -0
  73. package/.history/package_20250729182834.json +110 -0
  74. package/.history/package_20250729183032.json +110 -0
  75. package/.history/package_20250729183033.json +110 -0
  76. package/.history/package_20250729185750.json +110 -0
  77. package/.history/package_20250729185815.json +110 -0
  78. package/.history/package_20250729185846.json +110 -0
  79. package/.history/package_20250729185854.json +110 -0
  80. package/.history/package_20250729185943.json +110 -0
  81. package/.history/package_20250729190645.json +110 -0
  82. package/.history/package_20250729195934.json +110 -0
  83. package/.history/package_20250729200013.json +110 -0
  84. package/.history/package_20250729200056.json +110 -0
  85. package/.history/package_20250729200434.json +110 -0
  86. package/.history/package_20250729200808.json +110 -0
  87. package/.history/package_20250729200944.json +110 -0
  88. package/.history/package_20250729214420.json +114 -0
  89. package/.history/package_20250729223112.json +110 -0
  90. package/.history/package_20250729223127.json +110 -0
  91. package/.history/package_20250729223134.json +110 -0
  92. package/.history/package_20250730124647.json +114 -0
  93. package/.history/tsconfig_20241005001442.json +34 -0
  94. package/.history/tsconfig_20241005001500.json +34 -0
  95. package/.history/tsconfig_20241005001540.json +34 -0
  96. package/.history/tsconfig_20241005014429.json +42 -0
  97. package/.history/tsconfig_20241005014436.json +42 -0
  98. package/.history/tsconfig_20241005014439.json +38 -0
  99. package/.history/tsconfig_20241005014455.json +38 -0
  100. package/.history/tsconfig_20241005014521.json +38 -0
  101. package/.history/vitest.config_20250729214539.ts +0 -0
  102. package/.history/vitest.config_20250729214659.ts +24 -0
  103. package/.history/vitest.config_20250729214748.ts +21 -0
  104. package/.history/vitest.config_20250729214825.ts +21 -0
  105. package/.history/vitest.config_20250729214902.ts +21 -0
  106. package/.history/vitest.config_20250729222125.ts +20 -0
  107. package/.history/vitest.config_20250729222213.ts +20 -0
  108. package/.idea/codeStyles/Project.xml +131 -0
  109. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  110. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  111. package/.idea/misc.xml +17 -0
  112. package/.idea/modules.xml +8 -0
  113. package/.idea/prettier.xml +6 -0
  114. package/.idea/tamaro-cli.iml +12 -0
  115. package/.idea/vcs.xml +6 -0
  116. package/.nvmrc +1 -1
  117. package/bitbucket-pipelines.yml +1 -1
  118. package/dist/cli.js +754 -1160
  119. package/dist/env-C_Jkayak.js +261 -0
  120. package/dist/webpack.config.js +310 -441
  121. package/package.json +18 -22
  122. package/tsdown.config.ts +11 -0
@@ -0,0 +1,302 @@
1
+ // node_modules/.pnpm/tsup@7.2.0_postcss@8.4.29_typescript@5.2.2/node_modules/tsup/assets/esm_shims.js
2
+ import { fileURLToPath } from "url";
3
+ import path from "path";
4
+ var getFilename = () => fileURLToPath(import.meta.url);
5
+ var getDirname = () => path.dirname(getFilename());
6
+ var __dirname = /* @__PURE__ */ getDirname();
7
+
8
+ // src/lib/logging.ts
9
+ import chalk from "chalk";
10
+ import columnify from "columnify";
11
+ import stripIndent from "strip-indent";
12
+ var logTitle = (title) => {
13
+ console.log(`${chalk.bold(title)}`);
14
+ };
15
+ var logError = (message) => {
16
+ if (message) {
17
+ console.log(chalk.red(message));
18
+ }
19
+ };
20
+ var logCommand = (cmd) => {
21
+ console.log(`
22
+ ${chalk.dim(stripIndent(cmd).trim())}
23
+ `);
24
+ };
25
+ var logDataTable = (data) => {
26
+ console.log(columnify(data, { showHeaders: false }));
27
+ console.log("");
28
+ };
29
+
30
+ // src/lib/constants.ts
31
+ var DEFAULT_TAG = "latest";
32
+ var DEFAULT_PORT = 1234;
33
+ var AWS_S3_EMAIL_CONFIG_PROD_BUCKET = "rnw-email-service";
34
+ var AWS_S3_EMAIL_CONFIG_STAGE_BUCKET = "rnw-stage-email-service";
35
+ var AWS_S3_BUCKET = "tamaro.raisenow.com";
36
+ var CORE_CONFIG_NAME = "tamaro-core";
37
+ var AWS_CLOUDFRONT_DISTRIBUTION_ID = "EHJ1OM458YQ0I";
38
+ var HTTPS_CRT_FILE = "localhost.crt";
39
+ var HTTPS_KEY_FILE = "localhost.key";
40
+
41
+ // src/lib/resolve.ts
42
+ import { existsSync, realpathSync } from "fs";
43
+ import { createRequire } from "module";
44
+ import { basename, dirname, join, relative, resolve } from "path";
45
+ import chalk2 from "chalk";
46
+ import stripIndent2 from "strip-indent";
47
+ import { getIfUtils } from "webpack-config-utils";
48
+ var require2 = createRequire(import.meta.url);
49
+ var moduleFileExtensions = ["ts", "tsx", "js", "jsx"];
50
+ var extensions = moduleFileExtensions.map((v) => `.${v}`);
51
+ var TAMARO_CORE_PACKAGE_NAMES = ["@raisenow/tamaro-core"];
52
+ var TAMARO_CONFIGURATIONS_PACKAGE_NAMES = ["@raisenow/tamaro-configurations"];
53
+ var TAMARO_SELF_SERVICE_PACKAGE_NAMES = ["@raisenow/tamaro-self-service"];
54
+ var resolveApp = (relativePath) => resolve(realpathSync(process.cwd()), relativePath);
55
+ var resolveOwn = (relativePath) => resolve(__dirname, "..", relativePath);
56
+ var resolveModule = (resolveFn, filePath) => {
57
+ const extension = moduleFileExtensions.find(
58
+ (extension2) => existsSync(resolveFn(`${filePath}.${extension2}`))
59
+ );
60
+ if (extension) {
61
+ return resolveFn(`${filePath}.${extension}`);
62
+ }
63
+ return resolveFn(`${filePath}.js`);
64
+ };
65
+ var resolveBin = (name) => {
66
+ const pkgPath = require2.resolve(`${name}/package.json`);
67
+ const { bin } = require2(pkgPath);
68
+ const dir = dirname(pkgPath);
69
+ const binPath = typeof bin === "object" ? bin[name] : bin;
70
+ return join(dir, binPath);
71
+ };
72
+ var getWidgetUuid = () => basename(resolveApp("."));
73
+ var getPaths = (ifCore) => {
74
+ return ifCore(
75
+ {
76
+ root: resolveApp("."),
77
+ app: resolveApp("."),
78
+ appEntry: resolveModule(resolveApp, "src/index"),
79
+ appDist: resolveApp("dist"),
80
+ appNodeModules: resolveApp("node_modules"),
81
+ appTsConfig: resolveApp("tsconfig.json"),
82
+ appHtml: resolveApp("src/*.html"),
83
+ appEnv: resolveApp(".env*"),
84
+ appTailwindConfig: resolveApp("tailwind.config.js")
85
+ },
86
+ {
87
+ root: resolveApp("../.."),
88
+ app: resolveApp("."),
89
+ appEntry: resolveModule(resolveApp, "widget"),
90
+ appDist: resolveApp(`../../dist/${getWidgetUuid()}`),
91
+ appNodeModules: resolveApp("../../node_modules"),
92
+ appTsConfig: resolveApp("tsconfig.json"),
93
+ appHtml: resolveApp("*.html"),
94
+ appEnv: resolveApp(".env*"),
95
+ appTailwindConfig: void 0
96
+ }
97
+ );
98
+ };
99
+ var getRelativePaths = (paths) => {
100
+ const relativePaths = {};
101
+ for (const [type, absPath] of Object.entries(paths)) {
102
+ if (absPath) {
103
+ relativePaths[type] = relative("./", absPath) || ".";
104
+ }
105
+ }
106
+ return relativePaths;
107
+ };
108
+ var getIfCoreFns = () => {
109
+ const corePkgPath = resolveApp("package.json");
110
+ const configsPkgPath = resolveApp("../../package.json");
111
+ let packageName;
112
+ if (existsSync(corePkgPath)) {
113
+ packageName = require2(corePkgPath).name;
114
+ } else if (existsSync(configsPkgPath)) {
115
+ packageName = require2(configsPkgPath).name;
116
+ }
117
+ if (packageName) {
118
+ return getIfUtils({ core: TAMARO_CORE_PACKAGE_NAMES.includes(packageName) }, [
119
+ "core"
120
+ ]);
121
+ }
122
+ logError(
123
+ stripIndent2(` You must run "npx @raisenow/tamaro-cli" commands from:
124
+ 1. Root of "${chalk2.bold(TAMARO_CORE_PACKAGE_NAMES[0])}" package folder.
125
+ 2. Root of particular customer configuration folder of "${chalk2.bold(
126
+ TAMARO_CONFIGURATIONS_PACKAGE_NAMES[0]
127
+ )}" package.
128
+ 3. "src/self-service" folder of "${chalk2.bold(
129
+ TAMARO_SELF_SERVICE_PACKAGE_NAMES[0]
130
+ )}" package.
131
+ You are currently in "${chalk2.bold(realpathSync(process.cwd()))}".
132
+ `)
133
+ );
134
+ process.exit(1);
135
+ };
136
+
137
+ // src/lib/env.ts
138
+ import { createRequire as createRequire2 } from "module";
139
+ import { basename as basename2 } from "path";
140
+ import { config as dotenvConfig } from "dotenv";
141
+ import { expand as dotenvExpand } from "dotenv-expand";
142
+ import { globSync } from "glob";
143
+ import stripIndent3 from "strip-indent";
144
+
145
+ // src/lib/command.ts
146
+ import {
147
+ execaCommandSync
148
+ } from "execa";
149
+ var halt = (message, exitCode = 1) => {
150
+ logError(message);
151
+ process.exit(exitCode);
152
+ };
153
+ var prepareCommand = (cmd) => {
154
+ return cmd.replace(/\n/gm, " ").replace(/[ \t]{2,}/gm, " ").trim();
155
+ };
156
+ var runCommandSync = (cmd, options) => {
157
+ return execaCommandSync(prepareCommand(cmd), options);
158
+ };
159
+
160
+ // src/lib/env.ts
161
+ var require3 = createRequire2(import.meta.url);
162
+ var getEnvVars = (files, ifMin, ifCore, ifLocalCore, ifHttps) => {
163
+ const filePath = files.find((file) => basename2(file) === ".env");
164
+ if (filePath) {
165
+ dotenvExpand(dotenvConfig({ path: filePath }));
166
+ }
167
+ process.env.NODE_ENV ??= ifMin("production", "development");
168
+ process.env.BABEL_ENV ??= ifMin("production", "development");
169
+ process.env.EXPOSE_VAR ??= ifCore("rnw.tamaroCore", "rnw.tamaro");
170
+ process.env.ELEMENT_ATTRIBUTE_DATA_WIDGET ??= ifCore(
171
+ "rnw-tamaro-core",
172
+ "rnw-tamaro"
173
+ );
174
+ process.env.WEBPACK_UNIQUE_NAME ??= ifCore("RnwTamaroCore", "RnwTamaro");
175
+ process.env.BUILD_DATE = (/* @__PURE__ */ new Date()).toISOString();
176
+ process.env.PUBLIC_URL ??= "";
177
+ process.env.HMR_ENABLED ??= ifMin("false", "true");
178
+ if (ifCore()) {
179
+ process.env.PRODUCT_NAME = "tamaro";
180
+ const corePkgPath = resolveApp("package.json");
181
+ const { version } = require3(corePkgPath);
182
+ process.env.PRODUCT_VERSION = version;
183
+ }
184
+ if (!ifCore()) {
185
+ process.env.WIDGET_UUID = getWidgetUuid();
186
+ if (ifLocalCore()) {
187
+ const protocol = ifHttps() ? "https" : "http";
188
+ process.env.CORE_URL = `${protocol}://0.0.0.0:1234/index.js`;
189
+ } else {
190
+ let version = process.env.CORE_VERSION;
191
+ version = version ? `@${version}` : "";
192
+ process.env.CORE_URL ??= `https://cdn.jsdelivr.net/npm/@raisenow/tamaro-core${version}/dist/index.js`;
193
+ }
194
+ }
195
+ const varNames = [
196
+ // common
197
+ "NODE_ENV",
198
+ "BABEL_ENV",
199
+ "EXPOSE_VAR",
200
+ "ELEMENT_ATTRIBUTE_DATA_WIDGET",
201
+ "WEBPACK_UNIQUE_NAME",
202
+ "BUILD_DATE",
203
+ "PUBLIC_URL",
204
+ // core
205
+ "PRODUCT_NAME",
206
+ "PRODUCT_VERSION",
207
+ // config
208
+ "WIDGET_UUID",
209
+ "CORE_URL",
210
+ "CORE_VERSION",
211
+ // should be explicitly specified in each config
212
+ // epik (obsolete since Tamaro v2.5.0)
213
+ "EPP_API_KEY_DEFAULT",
214
+ "EPP_API_URL_STAGE",
215
+ "EPP_API_URL_PROD",
216
+ "EPMS_API_URL_STAGE",
217
+ "EPMS_API_URL_PROD",
218
+ "EPP_PROXY_URL_STAGE",
219
+ "EPP_PROXY_URL_PROD",
220
+ "EPMS_PROXY_URL_STAGE",
221
+ "EPMS_PROXY_URL_PROD",
222
+ "EPMS_TWINT_CHECKOUT_URL_STAGE",
223
+ "EPMS_TWINT_CHECKOUT_URL_PROD"
224
+ ];
225
+ const raw = Object.keys(process.env).filter((key) => key.startsWith("PUBLIC_") || varNames.includes(key)).reduce((env, key) => {
226
+ env[key] = process.env[key];
227
+ return env;
228
+ }, {});
229
+ const stringified = {
230
+ "process.env": Object.keys(raw).reduce((env, key) => {
231
+ env[key] = JSON.stringify(raw[key]);
232
+ return env;
233
+ }, {})
234
+ };
235
+ return { raw, stringified };
236
+ };
237
+ var assertEnvValid = (env) => {
238
+ const { ifCore } = getIfCoreFns();
239
+ const paths = getPaths(ifCore);
240
+ const files = globSync(paths.appEnv);
241
+ const envs = files.map((file) => basename2(file).replace(/^\.env\./, "")).map((file) => basename2(file).replace(/^\.env$/, "")).filter((v) => !!v);
242
+ if (envs.length === 0) {
243
+ if (env) {
244
+ console.log('Flag "--env" is ignored.');
245
+ }
246
+ }
247
+ if (envs.length !== 0) {
248
+ if (!env) {
249
+ halt('Flag "--env" is required.');
250
+ }
251
+ if (env && !envs.includes(env)) {
252
+ halt(
253
+ stripIndent3(`
254
+ Flag "--env" has wrong value.
255
+ Available values are: ${envs.map((v) => `"${v}"`).join(", ")}.
256
+ `)
257
+ );
258
+ }
259
+ }
260
+ };
261
+ var applyEnv = (env) => {
262
+ if (!env) {
263
+ return;
264
+ }
265
+ const { ifCore } = getIfCoreFns();
266
+ const paths = getPaths(ifCore);
267
+ const files = globSync(paths.appEnv);
268
+ const filePath = files.find((file) => basename2(file) === `.env.${env}`);
269
+ if (filePath) {
270
+ dotenvExpand(dotenvConfig({ path: filePath }));
271
+ }
272
+ };
273
+
274
+ export {
275
+ logTitle,
276
+ logError,
277
+ logCommand,
278
+ logDataTable,
279
+ halt,
280
+ runCommandSync,
281
+ DEFAULT_TAG,
282
+ DEFAULT_PORT,
283
+ AWS_S3_EMAIL_CONFIG_PROD_BUCKET,
284
+ AWS_S3_EMAIL_CONFIG_STAGE_BUCKET,
285
+ AWS_S3_BUCKET,
286
+ CORE_CONFIG_NAME,
287
+ AWS_CLOUDFRONT_DISTRIBUTION_ID,
288
+ HTTPS_CRT_FILE,
289
+ HTTPS_KEY_FILE,
290
+ moduleFileExtensions,
291
+ extensions,
292
+ resolveApp,
293
+ resolveOwn,
294
+ resolveBin,
295
+ getWidgetUuid,
296
+ getPaths,
297
+ getRelativePaths,
298
+ getIfCoreFns,
299
+ getEnvVars,
300
+ assertEnvValid,
301
+ applyEnv
302
+ };
@@ -1,6 +1,6 @@
1
- // node_modules/.pnpm/tsup@8.5.1_jiti@2.6.0_postcss@8.5.6_tsx@4.19.1_typescript@5.9.3/node_modules/tsup/assets/esm_shims.js
2
- import path from "path";
1
+ // node_modules/.pnpm/tsup@7.2.0_postcss@8.4.29_typescript@5.2.2/node_modules/tsup/assets/esm_shims.js
3
2
  import { fileURLToPath } from "url";
3
+ import path from "path";
4
4
  var getFilename = () => fileURLToPath(import.meta.url);
5
5
  var getDirname = () => path.dirname(getFilename());
6
6
  var __dirname = /* @__PURE__ */ getDirname();
@@ -10,18 +10,13 @@ import chalk from "chalk";
10
10
  import columnify from "columnify";
11
11
  import stripIndent from "strip-indent";
12
12
  var logTitle = (title) => {
13
- console.log(chalk.bold(title));
13
+ console.log(`${chalk.bold(title)}`);
14
14
  };
15
15
  var logError = (message) => {
16
16
  if (message) {
17
17
  console.log(chalk.red(message));
18
18
  }
19
19
  };
20
- var logSuccess = (message) => {
21
- if (message) {
22
- console.log(chalk.green(message));
23
- }
24
- };
25
20
  var logCommand = (cmd) => {
26
21
  console.log(`
27
22
  ${chalk.dim(stripIndent(cmd).trim())}
@@ -32,40 +27,16 @@ var logDataTable = (data) => {
32
27
  console.log("");
33
28
  };
34
29
 
35
- // src/lib/command.ts
36
- import { execaCommandSync } from "execa";
37
- import prompts from "prompts";
38
- var halt = (message) => {
39
- logError(message);
40
- process.exit(1);
41
- };
42
- var prepareCommand = (cmd) => {
43
- return cmd.replace(/\n/gm, " ").replace(/[ \t]{2,}/gm, " ").trim();
44
- };
45
- var runCommandSync = (cmd, options) => {
46
- return execaCommandSync(prepareCommand(cmd), options);
47
- };
48
- var promptConfirmation = async (message, skipConfirmation) => {
49
- if (skipConfirmation) {
50
- return;
51
- }
52
- const { confirmed } = await prompts(
53
- [
54
- {
55
- type: "confirm",
56
- name: "confirmed",
57
- message,
58
- initial: false
59
- }
60
- ],
61
- {
62
- onCancel: () => halt()
63
- }
64
- );
65
- if (!confirmed) {
66
- halt("Operation cancelled.");
67
- }
68
- };
30
+ // src/lib/constants.ts
31
+ var DEFAULT_TAG = "latest";
32
+ var DEFAULT_PORT = 1234;
33
+ var AWS_S3_EMAIL_CONFIG_PROD_BUCKET = "rnw-email-service";
34
+ var AWS_S3_EMAIL_CONFIG_STAGE_BUCKET = "rnw-stage-email-service";
35
+ var AWS_S3_BUCKET = "tamaro.raisenow.com";
36
+ var CORE_CONFIG_NAME = "tamaro-core";
37
+ var AWS_CLOUDFRONT_DISTRIBUTION_ID = "EHJ1OM458YQ0I";
38
+ var HTTPS_CRT_FILE = "localhost.crt";
39
+ var HTTPS_KEY_FILE = "localhost.key";
69
40
 
70
41
  // src/lib/resolve.ts
71
42
  import { existsSync, realpathSync } from "fs";
@@ -91,24 +62,6 @@ var resolveModule = (resolveFn, filePath) => {
91
62
  }
92
63
  return resolveFn(`${filePath}.js`);
93
64
  };
94
- var resolveEslintPluginConfig = (paths) => {
95
- try {
96
- const opts = { paths: [paths.appNodeModules] };
97
- const eslintPath = require2.resolve("eslint", opts);
98
- const pkg = require2(require2.resolve("eslint/package.json", opts));
99
- const version = pkg.version;
100
- const configType = version.startsWith("8.") ? "eslintrc" : "flat";
101
- return {
102
- extensions: moduleFileExtensions,
103
- eslintPath,
104
- cwd: paths.app,
105
- configType
106
- };
107
- } catch (error) {
108
- console.error(error);
109
- return void 0;
110
- }
111
- };
112
65
  var resolveBin = (name) => {
113
66
  const pkgPath = require2.resolve(`${name}/package.json`);
114
67
  const { bin } = require2(pkgPath);
@@ -152,19 +105,14 @@ var getRelativePaths = (paths) => {
152
105
  }
153
106
  return relativePaths;
154
107
  };
155
- var getIfCoreFns = ({
156
- allowArchived = false
157
- } = {}) => {
108
+ var getIfCoreFns = () => {
158
109
  const corePkgPath = resolveApp("package.json");
159
110
  const configsPkgPath = resolveApp("../../package.json");
160
- const archivedConfigsPkgPath = resolveApp("../../../package.json");
161
111
  let packageName;
162
112
  if (existsSync(corePkgPath)) {
163
113
  packageName = require2(corePkgPath).name;
164
114
  } else if (existsSync(configsPkgPath)) {
165
115
  packageName = require2(configsPkgPath).name;
166
- } else if (allowArchived && existsSync(archivedConfigsPkgPath)) {
167
- packageName = require2(archivedConfigsPkgPath).name;
168
116
  }
169
117
  if (packageName) {
170
118
  return getIfUtils({ core: TAMARO_CORE_PACKAGE_NAMES.includes(packageName) }, [
@@ -186,28 +134,35 @@ var getIfCoreFns = ({
186
134
  process.exit(1);
187
135
  };
188
136
 
189
- // src/lib/constants.ts
190
- var DEFAULT_TAG = "latest";
191
- var DEFAULT_PORT = 1234;
192
- var AWS_S3_BUCKET_TAMARO = "tamaro.raisenow.com";
193
- var AWS_S3_BUCKET_TAMARO_EMAIL_CONFIG_STAGE = "rnw-stage-email-service";
194
- var AWS_S3_BUCKET_TAMARO_EMAIL_CONFIG_PROD = "rnw-email-service";
195
- var CORE_CONFIG_NAME = "tamaro-core";
196
- var AWS_CLOUDFRONT_DISTRIBUTION_ID = "EHJ1OM458YQ0I";
197
- var HTTPS_CRT_FILE = "localhost.crt";
198
- var HTTPS_KEY_FILE = "localhost.key";
199
-
200
137
  // src/lib/env.ts
201
138
  import { createRequire as createRequire2 } from "module";
202
139
  import { basename as basename2 } from "path";
203
140
  import { config as dotenvConfig } from "dotenv";
141
+ import { expand as dotenvExpand } from "dotenv-expand";
204
142
  import { globSync } from "glob";
205
143
  import stripIndent3 from "strip-indent";
144
+
145
+ // src/lib/command.ts
146
+ import {
147
+ execaCommandSync
148
+ } from "execa";
149
+ var halt = (message, exitCode = 1) => {
150
+ logError(message);
151
+ process.exit(exitCode);
152
+ };
153
+ var prepareCommand = (cmd) => {
154
+ return cmd.replace(/\n/gm, " ").replace(/[ \t]{2,}/gm, " ").trim();
155
+ };
156
+ var runCommandSync = (cmd, options) => {
157
+ return execaCommandSync(prepareCommand(cmd), options);
158
+ };
159
+
160
+ // src/lib/env.ts
206
161
  var require3 = createRequire2(import.meta.url);
207
162
  var getEnvVars = (files, ifMin, ifCore, ifLocalCore, ifHttps) => {
208
163
  const filePath = files.find((file) => basename2(file) === ".env");
209
164
  if (filePath) {
210
- dotenvConfig({ path: filePath });
165
+ dotenvExpand(dotenvConfig({ path: filePath }));
211
166
  }
212
167
  process.env.NODE_ENV ??= ifMin("production", "development");
213
168
  process.env.BABEL_ENV ??= ifMin("production", "development");
@@ -234,11 +189,7 @@ var getEnvVars = (files, ifMin, ifCore, ifLocalCore, ifHttps) => {
234
189
  } else {
235
190
  let version = process.env.CORE_VERSION;
236
191
  version = version ? `@${version}` : "";
237
- process.env.CORE_URL_PATTERN ??= "https://cdn.jsdelivr.net/npm/@raisenow/tamaro-core{{version}}/dist/index.js";
238
- process.env.CORE_URL ??= process.env.CORE_URL_PATTERN.replace(
239
- "{{version}}",
240
- version
241
- );
192
+ process.env.CORE_URL ??= `https://cdn.jsdelivr.net/npm/@raisenow/tamaro-core${version}/dist/index.js`;
242
193
  }
243
194
  }
244
195
  const varNames = [
@@ -256,10 +207,8 @@ var getEnvVars = (files, ifMin, ifCore, ifLocalCore, ifHttps) => {
256
207
  // config
257
208
  "WIDGET_UUID",
258
209
  "CORE_URL",
259
- "CORE_URL_PATTERN",
260
210
  "CORE_VERSION",
261
211
  // should be explicitly specified in each config
262
- "DISABLE_URL_VERSION_OVERRIDE",
263
212
  // epik (obsolete since Tamaro v2.5.0)
264
213
  "EPP_API_KEY_DEFAULT",
265
214
  "EPP_API_URL_STAGE",
@@ -318,37 +267,35 @@ var applyEnv = (env) => {
318
267
  const files = globSync(paths.appEnv);
319
268
  const filePath = files.find((file) => basename2(file) === `.env.${env}`);
320
269
  if (filePath) {
321
- dotenvConfig({ path: filePath });
270
+ dotenvExpand(dotenvConfig({ path: filePath }));
322
271
  }
323
272
  };
324
273
 
325
274
  export {
326
275
  logTitle,
327
276
  logError,
328
- logSuccess,
329
277
  logCommand,
330
278
  logDataTable,
331
279
  halt,
332
280
  runCommandSync,
333
- promptConfirmation,
281
+ DEFAULT_TAG,
282
+ DEFAULT_PORT,
283
+ AWS_S3_EMAIL_CONFIG_PROD_BUCKET,
284
+ AWS_S3_EMAIL_CONFIG_STAGE_BUCKET,
285
+ AWS_S3_BUCKET,
286
+ CORE_CONFIG_NAME,
287
+ AWS_CLOUDFRONT_DISTRIBUTION_ID,
288
+ HTTPS_CRT_FILE,
289
+ HTTPS_KEY_FILE,
290
+ moduleFileExtensions,
334
291
  extensions,
335
292
  resolveApp,
336
293
  resolveOwn,
337
- resolveEslintPluginConfig,
338
294
  resolveBin,
339
295
  getWidgetUuid,
340
296
  getPaths,
341
297
  getRelativePaths,
342
298
  getIfCoreFns,
343
- DEFAULT_TAG,
344
- DEFAULT_PORT,
345
- AWS_S3_BUCKET_TAMARO,
346
- AWS_S3_BUCKET_TAMARO_EMAIL_CONFIG_STAGE,
347
- AWS_S3_BUCKET_TAMARO_EMAIL_CONFIG_PROD,
348
- CORE_CONFIG_NAME,
349
- AWS_CLOUDFRONT_DISTRIBUTION_ID,
350
- HTTPS_CRT_FILE,
351
- HTTPS_KEY_FILE,
352
299
  getEnvVars,
353
300
  assertEnvValid,
354
301
  applyEnv
@@ -0,0 +1,111 @@
1
+ {
2
+ "name": "@raisenow/tamaro-cli",
3
+ "version": "1.2.0",
4
+ "author": {
5
+ "name": "RaiseNow",
6
+ "email": "development@raisenow.com"
7
+ },
8
+ "type": "module",
9
+ "bin": "dist/cli.js",
10
+ "packageManager": "pnpm@9.14.2",
11
+ "engines": {
12
+ "node": ">=20",
13
+ "pnpm": ">= 9.12",
14
+ "npm": "please-use-pnpm",
15
+ "yarn": "please-use-pnpm"
16
+ },
17
+ "scripts": {
18
+ "prepare": "pnpm build",
19
+ "tscheck": "tsc --noEmit",
20
+ "build": "tsup src/cli.ts src/webpack.config.ts --clean --shims --format esm",
21
+ "build:watch": "pnpm build --watch --ignore-watch .history --ignore-watch .idea",
22
+ "readme": "pnpx http-server . --cors -o /readme.html",
23
+ "lint": "DEBUG=eslint:cli-engine eslint .",
24
+ "lint:fix": "DEBUG=eslint:cli-engine eslint --fix .",
25
+ "format": "prettier --write ."
26
+ },
27
+ "dependencies": {
28
+ "@babel/cli": "^7.28.0",
29
+ "@babel/core": "^7.28.0",
30
+ "@babel/plugin-proposal-decorators": "^7.28.0",
31
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
32
+ "@babel/plugin-transform-runtime": "^7.28.0",
33
+ "@babel/preset-env": "^7.28.0",
34
+ "@babel/preset-react": "^7.27.1",
35
+ "@babel/preset-typescript": "^7.27.1",
36
+ "@babel/runtime-corejs3": "^7.28.2",
37
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.17",
38
+ "@statoscope/webpack-plugin": "^5.29.0",
39
+ "@types/columnify": "^1.5.4",
40
+ "@types/handlebars-helpers": "^0.5.6",
41
+ "@types/lodash": "^4.17.20",
42
+ "@types/node": "^22.17.0",
43
+ "@types/node-notifier": "^8.0.5",
44
+ "@types/prompts": "^2.4.9",
45
+ "@types/resolve-bin": "^0.4.3",
46
+ "@types/webpack-config-utils": "^2.3.4",
47
+ "@typescript-eslint/eslint-plugin": "^7.18.0",
48
+ "@typescript-eslint/parser": "^7.18.0",
49
+ "autoprefixer": "^10.4.21",
50
+ "babel-loader": "^10.0.0",
51
+ "babel-plugin-istanbul": "^7.0.0",
52
+ "babel-plugin-lodash": "^3.3.4",
53
+ "chalk": "^5.4.1",
54
+ "clean-webpack-plugin": "^4.0.0",
55
+ "columnify": "^1.6.0",
56
+ "commander": "^12.1.0",
57
+ "copy-webpack-plugin": "^12.0.2",
58
+ "core-js": "^3.39.0",
59
+ "css-loader": "^7.1.2",
60
+ "css-minimizer-webpack-plugin": "^7.0.0",
61
+ "dotenv": "^16.4.5",
62
+ "escape-string-regexp": "^5.0.0",
63
+ "eslint": "^8.57.1",
64
+ "eslint-config-prettier": "^9.1.0",
65
+ "eslint-import-resolver-typescript": "^3.6.3",
66
+ "eslint-plugin-deprecation": "^3.0.0",
67
+ "eslint-plugin-import": "^2.31.0",
68
+ "eslint-plugin-markdownlint": "^0.6.0",
69
+ "eslint-plugin-promise": "^7.1.0",
70
+ "eslint-plugin-unused-imports": "^3.2.0",
71
+ "eslint-plugin-yml": "^1.15.0",
72
+ "eslint-webpack-plugin": "^4.2.0",
73
+ "execa": "^9.5.1",
74
+ "file-loader": "^6.2.0",
75
+ "fork-ts-checker-webpack-plugin": "^9.0.2",
76
+ "glob": "^11.0.0",
77
+ "handlebars": "^4.7.8",
78
+ "handlebars-helpers": "^0.10.0",
79
+ "html-loader": "^5.1.0",
80
+ "html-webpack-plugin": "^5.6.3",
81
+ "json-loader": "^0.5.7",
82
+ "lodash": "^4.17.21",
83
+ "mini-css-extract-plugin": "^2.9.2",
84
+ "node-notifier": "^10.0.1",
85
+ "portfinder": "^1.0.32",
86
+ "postcss": "^8.4.49",
87
+ "postcss-custom-properties": "^14.0.4",
88
+ "postcss-import": "^16.1.1",
89
+ "postcss-loader": "^8.1.1",
90
+ "postcss-nested": "^7.0.2",
91
+ "prettier": "^3.3.3",
92
+ "prompts": "^2.4.2",
93
+ "react-refresh": "^0.14.2",
94
+ "resolve-url-loader": "^5.0.0",
95
+ "sass": "^1.81.0",
96
+ "sass-loader": "^16.0.3",
97
+ "source-map-loader": "^5.0.0",
98
+ "strip-indent": "^4.0.0",
99
+ "style-loader": "^4.0.0",
100
+ "tsconfig-paths-webpack-plugin": "^4.2.0",
101
+ "tsup": "^8.3.5",
102
+ "typescript": "^5.7.2",
103
+ "url-loader": "^4.1.1",
104
+ "vitest": "^3.2.4",
105
+ "webpack": "^5.96.1",
106
+ "webpack-cli": "^5.1.4",
107
+ "webpack-config-utils": "^2.3.1",
108
+ "webpack-dev-server": "^5.1.0",
109
+ "yaml-loader": "^0.8.1"
110
+ }
111
+ }