@explorer02/cfm-survey-sdk 0.0.8 → 0.1.0

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 (35) hide show
  1. package/dist/cli/const.d.ts +3 -17
  2. package/dist/cli/const.d.ts.map +1 -1
  3. package/dist/cli/const.js +3 -21
  4. package/dist/cli/const.js.map +1 -1
  5. package/dist/cli/deploy.js +1 -1
  6. package/dist/cli/deploy.js.map +1 -1
  7. package/dist/cli/index.js +2 -2
  8. package/dist/cli/index.js.map +1 -1
  9. package/dist/cli/init.d.ts +0 -51
  10. package/dist/cli/init.d.ts.map +1 -1
  11. package/dist/cli/init.js +123 -269
  12. package/dist/cli/init.js.map +1 -1
  13. package/dist/cli/utils/nodeCheck.d.ts +1 -1
  14. package/dist/cli/utils/nodeCheck.d.ts.map +1 -1
  15. package/dist/cli/utils/nodeCheck.js +9 -1
  16. package/dist/cli/utils/nodeCheck.js.map +1 -1
  17. package/dist/fetchSurvey/useFetchSurvey.d.ts +1 -0
  18. package/dist/fetchSurvey/useFetchSurvey.d.ts.map +1 -1
  19. package/dist/fetchSurvey/useFetchSurvey.js +1 -1
  20. package/dist/fetchSurvey/useFetchSurvey.js.map +1 -1
  21. package/dist/fetchSurvey/utils/mappers/questionMapper.test.d.ts +2 -0
  22. package/dist/fetchSurvey/utils/mappers/questionMapper.test.d.ts.map +1 -0
  23. package/dist/fetchSurvey/utils/mappers/questionMapper.test.js +79 -0
  24. package/dist/fetchSurvey/utils/mappers/questionMapper.test.js.map +1 -0
  25. package/dist/fetchSurvey/utils/url.d.ts +1 -1
  26. package/dist/fetchSurvey/utils/url.d.ts.map +1 -1
  27. package/dist/fetchSurvey/utils/url.js +5 -2
  28. package/dist/fetchSurvey/utils/url.js.map +1 -1
  29. package/dist/surveySDK/types.d.ts +1 -0
  30. package/dist/surveySDK/types.d.ts.map +1 -1
  31. package/dist/surveySDK/useSurveySDK.d.ts.map +1 -1
  32. package/dist/surveySDK/useSurveySDK.js +1 -0
  33. package/dist/surveySDK/useSurveySDK.js.map +1 -1
  34. package/package.json +11 -6
  35. package/postinstall.js +6 -6
@@ -1,24 +1,10 @@
1
1
  export declare const colors: {
2
2
  reset: string;
3
3
  bold: string;
4
- dim: string;
5
- italic: string;
6
- underline: string;
7
- black: string;
8
- red: string;
9
4
  green: string;
10
- yellow: string;
11
- blue: string;
12
- magenta: string;
5
+ red: string;
13
6
  cyan: string;
14
- white: string;
15
- bgBlack: string;
16
- bgRed: string;
17
- bgGreen: string;
18
- bgYellow: string;
19
- bgBlue: string;
20
- bgMagenta: string;
21
- bgCyan: string;
22
- bgWhite: string;
7
+ yellow: string;
8
+ dim: string;
23
9
  };
24
10
  //# sourceMappingURL=const.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/cli/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;CA0BlB,CAAC"}
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../../src/cli/const.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;CAQlB,CAAC"}
package/dist/cli/const.js CHANGED
@@ -2,30 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.colors = void 0;
4
4
  exports.colors = {
5
- // Reset
6
5
  reset: '\x1b[0m',
7
- // Styles
8
6
  bold: '\x1b[1m',
9
- dim: '\x1b[2m',
10
- italic: '\x1b[3m',
11
- underline: '\x1b[4m',
12
- // Foreground colors
13
- black: '\x1b[30m',
14
- red: '\x1b[31m',
15
7
  green: '\x1b[32m',
16
- yellow: '\x1b[33m',
17
- blue: '\x1b[34m',
18
- magenta: '\x1b[35m',
8
+ red: '\x1b[31m',
19
9
  cyan: '\x1b[36m',
20
- white: '\x1b[37m',
21
- // Background colors
22
- bgBlack: '\x1b[40m',
23
- bgRed: '\x1b[41m',
24
- bgGreen: '\x1b[42m',
25
- bgYellow: '\x1b[43m',
26
- bgBlue: '\x1b[44m',
27
- bgMagenta: '\x1b[45m',
28
- bgCyan: '\x1b[46m',
29
- bgWhite: '\x1b[47m',
10
+ yellow: '\x1b[33m',
11
+ dim: '\x1b[2m',
30
12
  };
31
13
  //# sourceMappingURL=const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/cli/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;IACpB,QAAQ;IACR,KAAK,EAAE,SAAS;IAChB,SAAS;IACT,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;IACpB,oBAAoB;IACpB,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,UAAU;IACjB,oBAAoB;IACpB,OAAO,EAAE,UAAU;IACnB,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,UAAU;IACrB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,UAAU;CACpB,CAAC"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/cli/const.ts"],"names":[],"mappings":";;;AAAa,QAAA,MAAM,GAAG;IACpB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,UAAU;IACjB,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,UAAU;IAClB,GAAG,EAAE,SAAS;CACf,CAAC"}
@@ -10,7 +10,7 @@ const vercelDeploy_1 = require("./utils/vercelDeploy");
10
10
  async function runDeployment() {
11
11
  console.log(`\n${const_1.colors.bold}${const_1.colors.cyan}🚀 Starting CFM Vercel Deployment...${const_1.colors.reset}\n`);
12
12
  // --- STEP 1: NODE.JS VERSION CHECK & AUTOMATED UPGRADE ---
13
- (0, nodeCheck_1.checkNodeVersion)();
13
+ await (0, nodeCheck_1.checkNodeVersion)();
14
14
  // --- STEP 2: VERCEL CLI VERIFICATION ---
15
15
  const { vercelCmd, useNpx } = await (0, vercelCliCheck_1.checkVercelCli)();
16
16
  // --- STEP 3: VERCEL LOGIN CHECK ---
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/cli/deploy.ts"],"names":[],"mappings":";;AAOA,sCAcC;AArBD,mCAAiC;AACjC,iDAAqD;AACrD,2DAAwD;AACxD,+DAA4D;AAC5D,uDAAuD;AAEvD,0BAA0B;AACnB,KAAK,UAAU,aAAa;IACjC,OAAO,CAAC,GAAG,CAAC,KAAK,cAAM,CAAC,IAAI,GAAG,cAAM,CAAC,IAAI,uCAAuC,cAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IAEnG,4DAA4D;IAC5D,IAAA,4BAAgB,GAAE,CAAC;IAEnB,0CAA0C;IAC1C,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,+BAAc,GAAE,CAAC;IAErD,qCAAqC;IACrC,MAAM,QAAQ,GAAG,MAAM,IAAA,mCAAgB,EAAC,MAAM,CAAC,CAAC;IAEhD,wCAAwC;IACxC,MAAM,IAAA,8BAAe,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../src/cli/deploy.ts"],"names":[],"mappings":";;AAOA,sCAcC;AArBD,mCAAiC;AACjC,iDAAqD;AACrD,2DAAwD;AACxD,+DAA4D;AAC5D,uDAAuD;AAEvD,0BAA0B;AACnB,KAAK,UAAU,aAAa;IACjC,OAAO,CAAC,GAAG,CAAC,KAAK,cAAM,CAAC,IAAI,GAAG,cAAM,CAAC,IAAI,uCAAuC,cAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IAEnG,4DAA4D;IAC5D,MAAM,IAAA,4BAAgB,GAAE,CAAC;IAEzB,0CAA0C;IAC1C,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,+BAAc,GAAE,CAAC;IAErD,qCAAqC;IACrC,MAAM,QAAQ,GAAG,MAAM,IAAA,mCAAgB,EAAC,MAAM,CAAC,CAAC;IAEhD,wCAAwC;IACxC,MAAM,IAAA,8BAAe,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC"}
package/dist/cli/index.js CHANGED
@@ -8,7 +8,7 @@ const c = const_1.colors;
8
8
  const args = process.argv.slice(2);
9
9
  const command = args[0];
10
10
  async function main() {
11
- // ── init: run the full survey configuration wizard ────────────────────────
11
+ // ── init: launch the browser-based setup wizard ───────────────────────────
12
12
  if (command === 'init') {
13
13
  try {
14
14
  await (0, init_1.runInit)();
@@ -32,7 +32,7 @@ async function main() {
32
32
  else {
33
33
  console.log(`\n${c.bold}${c.cyan}CFM SDK CLI Tool${c.reset}`);
34
34
  console.log(`\nUsage:`);
35
- console.log(` npx cfm-sdk init – Interactively configure survey theme/settings`);
35
+ console.log(` npx cfm-sdk init – Launch the survey setup wizard`);
36
36
  console.log(` npx cfm-sdk deploy – Deploy the current project to Vercel`);
37
37
  process.exit(0);
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;AAEA,qCAAyC;AACzC,iCAAuC;AACvC,mCAAwC;AAExC,MAAM,CAAC,GAAM,cAAM,CAAC;AACpB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,KAAK,UAAU,IAAI;IACjB,6EAA6E;IAC7E,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,IAAA,cAAO,GAAE,CAAC;QAClB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,OAAO,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAIH,4EAA4E;IAC5E,CAAC;SAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,IAAA,sBAAa,GAAE,CAAC;QACxB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,OAAO,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAEH,6EAA6E;IAC7E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;QACjG,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;AAEA,qCAAyC;AACzC,iCAAuC;AACvC,mCAAwC;AAExC,MAAM,CAAC,GAAM,cAAM,CAAC;AACpB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,KAAK,UAAU,IAAI;IACjB,6EAA6E;IAC7E,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,IAAA,cAAO,GAAE,CAAC;QAClB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,OAAO,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAEH,4EAA4E;IAC5E,CAAC;SAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,IAAA,sBAAa,GAAE,CAAC;QACxB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,OAAO,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAEH,6EAA6E;IAC7E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;QACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -1,53 +1,2 @@
1
- export interface ColorScheme {
2
- primary: string;
3
- secondary: string;
4
- accent: string;
5
- background: string;
6
- text: string;
7
- buttonText: string;
8
- }
9
- export interface SurveyConfig {
10
- hasMockup: boolean;
11
- surveyTitle: string;
12
- companyName: string;
13
- browserTabTitle: string;
14
- thankYouMessage: string;
15
- logo: {
16
- fileName: string | null;
17
- defaultUrl: string | null;
18
- };
19
- layout: {
20
- showHeader: boolean;
21
- showFooter: boolean;
22
- showProgressBar: boolean;
23
- showLanguageSwitcher: boolean;
24
- showNextButton: boolean;
25
- showBackButton: boolean;
26
- width: 'narrow' | 'standard' | 'wide';
27
- borderStyle: 'sharp' | 'rounded' | 'pill';
28
- fontStyle: 'system' | 'modern' | 'serif';
29
- showQuestionNumbers: boolean;
30
- showRequiredAsterisk: boolean;
31
- animationsEnabled: boolean;
32
- };
33
- buttons: {
34
- submit: string;
35
- next: string;
36
- back: string;
37
- };
38
- colorSource: 'mockup' | 'logo' | 'custom' | 'auto';
39
- colorScheme: ColorScheme;
40
- placeholders: {
41
- firstName: string;
42
- lastName: string;
43
- email: string;
44
- };
45
- debug: boolean;
46
- deployToVercel: boolean;
47
- configuredAt: string;
48
- }
49
- export interface Answers {
50
- [questionId: string]: string | boolean | null;
51
- }
52
1
  export declare function runInit(): Promise<void>;
53
2
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAK,MAAM,CAAC;IACnB,SAAS,EAAG,MAAM,CAAC;IACnB,MAAM,EAAM,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAQ,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAQ,OAAO,CAAC;IACzB,WAAW,EAAM,MAAM,CAAC;IACxB,WAAW,EAAM,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE;QACJ,QAAQ,EAAI,MAAM,GAAG,IAAI,CAAC;QAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC;IACF,MAAM,EAAE;QACN,UAAU,EAAW,OAAO,CAAC;QAC7B,UAAU,EAAW,OAAO,CAAC;QAC7B,eAAe,EAAM,OAAO,CAAC;QAC7B,oBAAoB,EAAE,OAAO,CAAC;QAC9B,cAAc,EAAO,OAAO,CAAC;QAC7B,cAAc,EAAO,OAAO,CAAC;QAC7B,KAAK,EAAgB,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;QACpD,WAAW,EAAU,OAAO,GAAI,SAAS,GAAI,MAAM,CAAC;QACpD,SAAS,EAAY,QAAQ,GAAG,QAAQ,GAAK,OAAO,CAAC;QACrD,mBAAmB,EAAE,OAAO,CAAC;QAC7B,oBAAoB,EAAE,OAAO,CAAC;QAC9B,iBAAiB,EAAI,OAAO,CAAC;KAC9B,CAAC;IACF,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAI,MAAM,CAAC;QACf,IAAI,EAAI,MAAM,CAAC;KAChB,CAAC;IACF,WAAW,EAAI,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrD,WAAW,EAAI,WAAW,CAAC;IAC3B,YAAY,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAG,MAAM,CAAC;QAClB,KAAK,EAAM,MAAM,CAAC;KACnB,CAAC;IACF,KAAK,EAAW,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAI,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CAC/C;AA8KD,wBAAgB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAiHvC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AA6CA,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAiF7C"}
package/dist/cli/init.js CHANGED
@@ -1,291 +1,145 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
5
35
  Object.defineProperty(exports, "__esModule", { value: true });
6
36
  exports.runInit = runInit;
7
- // ─────────────────────────────────────────────────────────────────────────────
8
- // CFM Survey SDK — Init Command
9
- //
10
- // Flow:
11
- // 1. runQuestionnaire() forks the questionnaire-cli child process
12
- // 2. Child runs all questions in the VISIBLE terminal (inherited stdio)
13
- // 3. Child sends answers back via built-in Node IPC channel
14
- // 4. buildSurveyConfig() transforms raw answers into survey-config.json format
15
- // 5. Config is written to the project root
16
- // 6. Clean completion message (no "re-invoke agent" language)
17
- // ─────────────────────────────────────────────────────────────────────────────
18
- const fs_1 = __importDefault(require("fs"));
19
- const path_1 = __importDefault(require("path"));
20
- const http_1 = __importDefault(require("http"));
21
- const child_process_1 = require("child_process");
37
+ const http = __importStar(require("http"));
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
22
40
  const const_1 = require("./const");
23
41
  const c = const_1.colors;
24
- const HEX_INPUTS_KEY = '__hexColors__';
25
- const COLOR_SCHEMES = [
26
- { name: 'Industry Standard (Indigo + Amber)', primary: '#4F46E5', secondary: '#E0E7FF', accent: '#F59E0B', bg: '#FFFFFF', text: '#111827' },
27
- { name: 'Minimalist (Slate + Teal)', primary: '#334155', secondary: '#F1F5F9', accent: '#0D9488', bg: '#FFFFFF', text: '#0F172A' },
28
- { name: 'Warm Corporate (Amber + Brown)', primary: '#B45309', secondary: '#FEF3C7', accent: '#D97706', bg: '#FFFBEB', text: '#1C1917' },
29
- { name: 'Modern Dark (Violet + Green)', primary: '#7C3AED', secondary: '#EDE9FE', accent: '#10B981', bg: '#FFFFFF', text: '#111827' },
30
- { name: 'Professional Blue (Navy + Sky)', primary: '#1E3A5F', secondary: '#DBEAFE', accent: '#0284C7', bg: '#FFFFFF', text: '#1E293B' },
31
- ];
32
- function printSummary(cfg) {
33
- console.log('');
34
- console.log(`${c.bold}${c.bgGreen}${c.black} ✅ Configuration Summary ${c.reset}`);
35
- console.log('');
36
- const print = (key, val) => console.log(` ${c.bold}${key.padEnd(22)}${c.reset} ${c.green}${JSON.stringify(val)}${c.reset}`);
37
- Object.entries(cfg)
38
- .filter(([k]) => k !== 'configuredAt')
39
- .forEach(([k, v]) => print(k, v));
40
- console.log('');
42
+ // ── Helpers ──────────────────────────────────────────────────────────────────
43
+ /** Find an available port starting from `preferred`. */
44
+ function findPort(preferred) {
45
+ return new Promise((resolve, reject) => {
46
+ const srv = http.createServer();
47
+ srv.listen(preferred, () => {
48
+ srv.close(() => resolve(preferred));
49
+ });
50
+ srv.on('error', () => {
51
+ // Port busy — try next
52
+ resolve(findPort(preferred + 1));
53
+ });
54
+ });
41
55
  }
42
- // ── Defaults (Sprinklr branding) ─────────────────────────────────────────────
43
- const DEFAULTS = {
44
- companyName: 'Sprinklr',
45
- surveyTitle: 'Customer Feedback Survey',
46
- browserTabTitle: 'Customer Feedback Survey',
47
- thankYouMessage: 'Thank you for your valuable feedback!',
48
- logoUrl: 'https://www.aprimo.com/wp-content/uploads/2024/03/Sprinklr_Logo-1.png',
49
- colorScheme: {
50
- primary: '#1A1F36',
51
- secondary: '#E8F5FD',
52
- accent: '#00B5AD',
53
- background: '#FFFFFF',
54
- text: '#1A1F36',
55
- buttonText: '#FFFFFF',
56
- },
57
- placeholders: {
58
- firstName: 'Unnat',
59
- lastName: 'Agrawal',
60
- email: 'unnat.agrawal@sprinklr.com',
61
- },
62
- };
63
- // ── Width / border / font lookup maps ────────────────────────────────────────
64
- const WIDTH_MAP = { '1': 'narrow', '2': 'standard', '3': 'wide' };
65
- const BORDER_MAP = { '1': 'sharp', '2': 'rounded', '3': 'pill' };
66
- const FONT_MAP = { '1': 'system', '2': 'modern', '3': 'serif' };
67
- // ── Answer → SurveyConfig transformer ────────────────────────────────────────
68
- function buildSurveyConfig(answers) {
69
- const str = (id, def) => answers[id] || def;
70
- const bool = (id, def) => typeof answers[id] === 'boolean' ? answers[id] : def;
71
- // Resolve colorScheme from colorSource + sub-answers
72
- const colorSourceRaw = str('colorSource', '4');
73
- let colorSource = 'auto';
74
- let colorScheme = { ...DEFAULTS.colorScheme };
75
- if (colorSourceRaw === '1' && bool('hasMockup', false)) {
76
- colorSource = 'mockup';
77
- }
78
- else if (colorSourceRaw === '2') {
79
- colorSource = 'logo';
80
- }
81
- else if (colorSourceRaw === '3') {
82
- colorSource = 'custom';
83
- const customMode = str('colorCustomMode', '');
84
- if (customMode === '1') {
85
- // User picked from pre-defined schemes
86
- const pick = parseInt(str('colorSchemePick', ''), 10) - 1;
87
- if (pick >= 0 && pick < COLOR_SCHEMES.length) {
88
- const s = COLOR_SCHEMES[pick];
89
- colorScheme = {
90
- primary: s.primary,
91
- secondary: s.secondary,
92
- accent: s.accent,
93
- background: s.bg,
94
- text: s.text,
95
- buttonText: '#FFFFFF',
96
- };
97
- }
98
- else {
99
- // No valid pick → auto
100
- colorSource = 'auto';
101
- }
102
- }
103
- else if (customMode === '2') {
104
- // User typed their own hex values (stored under __hexColors__ key)
105
- const hex = answers[HEX_INPUTS_KEY];
106
- if (hex) {
107
- colorScheme = hex;
108
- }
109
- else {
110
- colorSource = 'auto';
111
- }
112
- }
113
- else {
114
- colorSource = 'auto';
115
- }
116
- }
117
- // Next/Back button text: only meaningful if enabled
118
- const showBackButton = bool('showBackButton', true);
119
- const backText = showBackButton
120
- ? str('backButtonText', 'Back')
121
- : 'Back'; // stored but won't be rendered
122
- const showNextButton = bool('showNextButton', true);
123
- const nextText = showNextButton
124
- ? str('nextButtonText', 'Next')
125
- : 'Next'; // stored but won't be rendered
126
- return {
127
- hasMockup: bool('hasMockup', false),
128
- surveyTitle: str('surveyTitle', DEFAULTS.surveyTitle),
129
- companyName: str('companyName', DEFAULTS.companyName),
130
- browserTabTitle: str('browserTabTitle', DEFAULTS.browserTabTitle),
131
- thankYouMessage: str('thankYouMessage', DEFAULTS.thankYouMessage),
132
- logo: {
133
- fileName: str('logoFileName', '') || null,
134
- defaultUrl: str('logoFileName', '') ? null : DEFAULTS.logoUrl,
135
- },
136
- layout: {
137
- showHeader: bool('showHeader', true),
138
- showFooter: bool('showFooter', true),
139
- showProgressBar: bool('showProgressBar', true),
140
- showLanguageSwitcher: bool('showLanguageSwitcher', false),
141
- showNextButton,
142
- showBackButton,
143
- width: WIDTH_MAP[str('layoutWidth', '')] ?? 'standard',
144
- borderStyle: BORDER_MAP[str('borderStyle', '')] ?? 'rounded',
145
- fontStyle: FONT_MAP[str('fontStyle', '')] ?? 'modern',
146
- showQuestionNumbers: bool('showQuestionNumbers', true),
147
- showRequiredAsterisk: bool('showRequiredAsterisk', true),
148
- animationsEnabled: bool('animationsEnabled', true),
149
- },
150
- buttons: {
151
- submit: str('submitButtonText', 'Submit'),
152
- next: nextText,
153
- back: backText,
154
- },
155
- colorSource,
156
- colorScheme: colorSource === 'auto' ? DEFAULTS.colorScheme : colorScheme,
157
- placeholders: {
158
- firstName: str('firstName', DEFAULTS.placeholders.firstName),
159
- lastName: str('lastName', DEFAULTS.placeholders.lastName),
160
- email: str('email', DEFAULTS.placeholders.email),
161
- },
162
- debug: bool('debug', true),
163
- deployToVercel: bool('deployToVercel', true),
164
- configuredAt: new Date().toISOString(),
165
- };
56
+ /** Collect the full body of an incoming request. */
57
+ function readBody(req) {
58
+ return new Promise((resolve, reject) => {
59
+ let body = '';
60
+ req.on('data', (chunk) => (body += chunk));
61
+ req.on('end', () => resolve(body));
62
+ req.on('error', reject);
63
+ });
166
64
  }
167
- // ── Main export ───────────────────────────────────────────────────────────────
65
+ /** Open a URL in the default browser (cross-platform). */
168
66
  function openBrowser(url) {
169
- const start = process.platform === 'darwin'
170
- ? 'open'
171
- : process.platform === 'win32'
172
- ? 'start'
173
- : 'xdg-open';
174
- (0, child_process_1.exec)(`${start} ${url}`, (err) => {
175
- if (err) {
176
- console.log(`\n${c.yellow}👉 Please open your browser manually and visit: ${url}${c.reset}\n`);
177
- }
178
- });
67
+ const { exec } = require('child_process');
68
+ const cmd = process.platform === 'darwin' ? `open "${url}"` :
69
+ process.platform === 'win32' ? `start "" "${url}"` :
70
+ `xdg-open "${url}"`;
71
+ exec(cmd);
179
72
  }
180
- function runInit() {
181
- return new Promise((resolveInit) => {
182
- // Ensure public/ directory exists for logo uploads
183
- const publicDir = path_1.default.join(process.cwd(), 'public');
184
- if (!fs_1.default.existsSync(publicDir)) {
185
- fs_1.default.mkdirSync(publicDir, { recursive: true });
186
- console.log(`\n${c.green}✅ Created ${c.bold}public/${c.reset}${c.green} folder for logo and static files.${c.reset}`);
187
- }
188
- const server = http_1.default.createServer((req, res) => {
189
- if (req.method === 'GET' && (req.url === '/' || req.url === '/index.html')) {
190
- // Serve wizard.html
191
- const templatePath = path_1.default.join(__dirname, '..', '..', 'templates', 'wizard.html');
192
- try {
193
- const html = fs_1.default.readFileSync(templatePath, 'utf8');
73
+ // ── Main entry ───────────────────────────────────────────────────────────────
74
+ async function runInit() {
75
+ const projectRoot = process.env.INIT_CWD || process.cwd();
76
+ const publicDir = path.join(projectRoot, 'public');
77
+ const configPath = path.join(projectRoot, 'survey-config.json');
78
+ const templateDir = path.join(__dirname, '..', '..', 'templates');
79
+ const port = await findPort(4200);
80
+ return new Promise((resolve, reject) => {
81
+ const server = http.createServer(async (req, res) => {
82
+ try {
83
+ // ── GET / — serve wizard.html ──────────────────────────────────────
84
+ if (req.method === 'GET' && (req.url === '/' || req.url === '/index.html')) {
85
+ const htmlPath = path.join(templateDir, 'wizard.html');
86
+ const html = fs.readFileSync(htmlPath, 'utf8');
194
87
  res.writeHead(200, { 'Content-Type': 'text/html' });
195
88
  res.end(html);
89
+ // ── POST /api/upload-logo ──────────────────────────────────────────
196
90
  }
197
- catch (err) {
198
- res.writeHead(500, { 'Content-Type': 'text/plain' });
199
- res.end(`Failed to load wizard template: ${err.message}`);
200
- }
201
- }
202
- else if (req.method === 'POST' && req.url === '/api/upload-logo') {
203
- // Save logo uploaded as Base64 JSON payload
204
- let body = '';
205
- req.on('data', chunk => body += chunk);
206
- req.on('end', () => {
207
- try {
208
- const payload = JSON.parse(body);
209
- const base64Data = payload.base64.replace(/^data:image\/\w+;base64,/, '');
210
- const buffer = Buffer.from(base64Data, 'base64');
211
- // Ensure public/ directory exists
212
- if (!fs_1.default.existsSync(publicDir)) {
213
- fs_1.default.mkdirSync(publicDir, { recursive: true });
214
- }
215
- // Use the sanitised base name
216
- const ext = path_1.default.extname(payload.filename);
217
- const baseName = path_1.default.basename(payload.filename, ext)
218
- .toLowerCase()
219
- .replace(/[^a-z0-9_-]/g, '');
220
- const finalName = `logo_${Date.now()}_${baseName}${ext || '.png'}`;
221
- const finalPath = path_1.default.join(publicDir, finalName);
222
- fs_1.default.writeFileSync(finalPath, buffer);
223
- res.writeHead(200, { 'Content-Type': 'application/json' });
224
- res.end(JSON.stringify({ success: true, fileName: finalName }));
225
- console.log(`\n${c.green}📸 Logo successfully uploaded and saved to: ${c.bold}public/${finalName}${c.reset}`);
226
- }
227
- catch (err) {
228
- res.writeHead(400, { 'Content-Type': 'application/json' });
229
- res.end(JSON.stringify({ success: false, error: err.message }));
91
+ else if (req.method === 'POST' && req.url === '/api/upload-logo') {
92
+ const body = await readBody(req);
93
+ const payload = JSON.parse(body);
94
+ // Ensure public/ directory exists
95
+ if (!fs.existsSync(publicDir)) {
96
+ fs.mkdirSync(publicDir, { recursive: true });
230
97
  }
231
- });
232
- }
233
- else if (req.method === 'POST' && req.url === '/api/save-config') {
234
- // Save full survey config
235
- let body = '';
236
- req.on('data', chunk => body += chunk);
237
- req.on('end', () => {
238
- try {
239
- const rawAnswers = JSON.parse(body);
240
- // If body is empty (user clicked Quit), generate using defaults
241
- let config;
242
- if (Object.keys(rawAnswers).length === 0) {
243
- config = buildSurveyConfig({});
244
- console.log(`\n${c.yellow}⚠️ Setup wizard was aborted. Using all Sprinklr default options.${c.reset}`);
245
- }
246
- else if (rawAnswers.layout && rawAnswers.buttons && rawAnswers.colorScheme) {
247
- config = {
248
- ...rawAnswers,
249
- configuredAt: new Date().toISOString()
250
- };
251
- }
252
- else {
253
- config = buildSurveyConfig(rawAnswers);
254
- }
255
- // Write survey-config.json
256
- const configPath = path_1.default.join(process.cwd(), 'survey-config.json');
257
- fs_1.default.writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf8');
258
- printSummary(config);
259
- console.log(`\n${c.bold}${c.green}✅ Configuration saved to: ${c.underline}${configPath}${c.reset}`);
260
- console.log(`\n${c.bold}${c.cyan}╔════════════════════════════════════════════════════════╗${c.reset}`);
261
- console.log(`${c.bold}${c.cyan}║ 🎉 Setup complete. Proceeding with survey build... ║${c.reset}`);
262
- console.log(`${c.bold}${c.cyan}╚════════════════════════════════════════════════════════╝${c.reset}\n`);
263
- res.writeHead(200, { 'Content-Type': 'application/json' });
264
- res.end(JSON.stringify({ success: true }));
265
- // Shut down server and resolve promise
266
- setTimeout(() => {
267
- server.close();
268
- resolveInit();
269
- }, 500);
270
- }
271
- catch (err) {
272
- res.writeHead(400, { 'Content-Type': 'application/json' });
273
- res.end(JSON.stringify({ success: false, error: err.message }));
274
- }
275
- });
98
+ // Decode base64 and write to public/
99
+ const base64Data = payload.base64.replace(/^data:image\/\w+;base64,/, '');
100
+ const buffer = Buffer.from(base64Data, 'base64');
101
+ const ext = path.extname(payload.filename);
102
+ const baseName = path.basename(payload.filename, ext)
103
+ .toLowerCase()
104
+ .replace(/[^a-z0-9_-]/g, '');
105
+ const fileName = `logo_${Date.now()}_${baseName}${ext || '.png'}`;
106
+ fs.writeFileSync(path.join(publicDir, fileName), buffer);
107
+ res.writeHead(200, { 'Content-Type': 'application/json' });
108
+ res.end(JSON.stringify({ fileName }));
109
+ // ── POST /api/save-config ──────────────────────────────────────────
110
+ }
111
+ else if (req.method === 'POST' && req.url === '/api/save-config') {
112
+ const body = await readBody(req);
113
+ const config = JSON.parse(body);
114
+ // Add timestamp
115
+ config.configuredAt = new Date().toISOString();
116
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf8');
117
+ console.log(`\n${c.green}✅ Configuration saved to ${configPath}${c.reset}`);
118
+ res.writeHead(200, { 'Content-Type': 'application/json' });
119
+ res.end(JSON.stringify({ ok: true }));
120
+ // Shut down server after a short delay so the response is flushed
121
+ setTimeout(() => {
122
+ server.close(() => resolve());
123
+ }, 500);
124
+ // ── 404 ────────────────────────────────────────────────────────────
125
+ }
126
+ else {
127
+ res.writeHead(404, { 'Content-Type': 'text/plain' });
128
+ res.end('Not found');
129
+ }
276
130
  }
277
- else {
278
- res.writeHead(404, { 'Content-Type': 'text/plain' });
279
- res.end('Not Found');
131
+ catch (err) {
132
+ res.writeHead(500, { 'Content-Type': 'text/plain' });
133
+ res.end(`Server error: ${err.message}`);
280
134
  }
281
135
  });
282
- server.listen(0, '127.0.0.1', () => {
283
- const { port } = server.address();
136
+ server.listen(port, () => {
284
137
  const url = `http://localhost:${port}`;
285
- console.log(`\n${c.bold}${c.cyan}🚀 Local Setup Wizard active at: ${c.underline}${url}${c.reset}`);
286
- console.log(`${c.dim}Opening setup wizard in your default browser...${c.reset}`);
138
+ console.log(`\n${c.bold}${c.cyan}🚀 Survey Setup Wizard${c.reset}`);
139
+ console.log(`${c.dim} Running at ${c.reset}${c.green}${url}${c.reset}\n`);
287
140
  openBrowser(url);
288
141
  });
142
+ server.on('error', reject);
289
143
  });
290
144
  }
291
145
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare function checkNodeVersion(): void;
1
+ export declare function checkNodeVersion(): Promise<void>;
2
2
  //# sourceMappingURL=nodeCheck.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodeCheck.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/nodeCheck.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,IAAI,IAAI,CAqDvC"}
1
+ {"version":3,"file":"nodeCheck.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/nodeCheck.ts"],"names":[],"mappings":"AAIA,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA8DtD"}
@@ -3,11 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkNodeVersion = checkNodeVersion;
4
4
  const const_1 = require("../const");
5
5
  const exec_1 = require("./exec");
6
- function checkNodeVersion() {
6
+ const prompts_1 = require("./prompts");
7
+ async function checkNodeVersion() {
7
8
  const majorVersion = parseInt(process.version.slice(1).split('.')[0], 10);
8
9
  console.log(`${const_1.colors.dim}Step 1/4: Checking Node.js version (current: ${process.version})...${const_1.colors.reset}`);
9
10
  if (majorVersion < 18) {
10
11
  console.log(`⚠️ ${const_1.colors.yellow}Outdated Node.js version detected. v18.0.0 or higher is required.${const_1.colors.reset}`);
12
+ console.log(`${const_1.colors.dim}Note: If you already have a higher version installed via nvm, please run 'nvm use <version>' first.${const_1.colors.reset}\n`);
13
+ const answer = await (0, prompts_1.askQuestion)(`Would you like to install/upgrade Node.js v18+ automatically? (y/N): `);
14
+ const installAutomatically = answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes';
15
+ if (!installAutomatically) {
16
+ console.log(`\n❌ ${const_1.colors.red}Aborted. Please manually upgrade Node.js to v18+ and try again.${const_1.colors.reset}\n`);
17
+ process.exit(1);
18
+ }
11
19
  const isWin = process.platform === 'win32';
12
20
  const isMac = process.platform === 'darwin';
13
21
  if (isWin) {
@@ -1 +1 @@
1
- {"version":3,"file":"nodeCheck.js","sourceRoot":"","sources":["../../../src/cli/utils/nodeCheck.ts"],"names":[],"mappings":";;AAGA,4CAqDC;AAxDD,oCAAkC;AAClC,iCAAoD;AAEpD,SAAgB,gBAAgB;IAC9B,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,GAAG,cAAM,CAAC,GAAG,gDAAgD,OAAO,CAAC,OAAO,OAAO,cAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAE/G,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,OAAO,cAAM,CAAC,MAAM,oEAAoE,cAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAEpH,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAE5C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,IAAA,iBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,cAAM,CAAC,KAAK,yEAAyE,cAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACzH,MAAM,OAAO,GAAG,IAAA,qBAAc,EAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,6BAA6B,EAAE,4BAA4B,CAAC,CAAC,CAAC;gBAChJ,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,OAAO,cAAM,CAAC,KAAK,uHAAuH,cAAM,CAAC,KAAK,IAAI,CAAC,CAAC;oBACxK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,OAAO,cAAM,CAAC,GAAG,8EAA8E,cAAM,CAAC,KAAK,IAAI,CAAC,CAAC;oBAC7H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,OAAO,cAAM,CAAC,GAAG,0DAA0D,cAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACvG,OAAO,CAAC,GAAG,CAAC,GAAG,cAAM,CAAC,IAAI,gCAAgC,cAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1E,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;gBAC9E,OAAO,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;gBACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YACjB,IAAI,IAAA,iBAAU,EAAC,MAAM,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,QAAQ,cAAM,CAAC,KAAK,2EAA2E,cAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC3H,MAAM,OAAO,GAAG,IAAA,qBAAc,EAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC5D,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,OAAO,cAAM,CAAC,KAAK,+CAA+C,cAAM,CAAC,KAAK,IAAI,CAAC,CAAC;gBAClG,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,OAAO,cAAM,CAAC,GAAG,uFAAuF,cAAM,CAAC,KAAK,IAAI,CAAC,CAAC;oBACtI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,OAAO,cAAM,CAAC,GAAG,mEAAmE,cAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChH,OAAO,CAAC,GAAG,CAAC,GAAG,cAAM,CAAC,IAAI,gCAAgC,cAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1E,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;gBACzF,OAAO,CAAC,GAAG,CAAC,SAAS,cAAM,CAAC,IAAI,kGAAkG,cAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClJ,OAAO,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAAC;gBACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,OAAO,cAAM,CAAC,GAAG,gFAAgF,cAAM,CAAC,KAAK,IAAI,CAAC,CAAC;YAC/H,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,cAAM,CAAC,KAAK,qBAAqB,YAAY,mBAAmB,cAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACnG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"nodeCheck.js","sourceRoot":"","sources":["../../../src/cli/utils/nodeCheck.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export * from './utils';
10
10
  * @returns Object holding survey, session, loading status, and error references.
11
11
  */
12
12
  export declare function useFetchSurvey(options?: {
13
+ instanceId?: string;
13
14
  language?: string;
14
15
  placeholders?: Record<string, string>;
15
16
  }): {
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchSurvey.d.ts","sourceRoot":"","sources":["../../src/fetchSurvey/useFetchSurvey.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,SAAS,CAAC;AAcrD,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAyCxB;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE;;;;;;;;EAwDpG"}
1
+ {"version":3,"file":"useFetchSurvey.d.ts","sourceRoot":"","sources":["../../src/fetchSurvey/useFetchSurvey.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,SAAS,CAAC;AAcrD,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAyCxB;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE;;;;;;;;EAwDzH"}
@@ -70,7 +70,7 @@ async function fetchRawSurveyData(url) {
70
70
  * @returns Object holding survey, session, loading status, and error references.
71
71
  */
72
72
  function useFetchSurvey(options) {
73
- const url = (0, utils_1.buildSurveyUrl)();
73
+ const url = (0, utils_1.buildSurveyUrl)(options?.instanceId);
74
74
  const targetLanguage = options?.language;
75
75
  const placeholders = options?.placeholders;
76
76
  // The query is keyed purely by url, meaning we fetch the survey layout only once.
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchSurvey.js","sourceRoot":"","sources":["../../src/fetchSurvey/useFetchSurvey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFetchSurvey.js","sourceRoot":"","sources":["../../src/fetchSurvey/useFetchSurvey.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=questionMapper.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questionMapper.test.d.ts","sourceRoot":"","sources":["../../../../src/fetchSurvey/utils/mappers/questionMapper.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const questionMapper_1 = require("./questionMapper");
5
+ (0, vitest_1.describe)('questionMapper translation logic', () => {
6
+ const mockApiQuestion = {
7
+ id: 'q1',
8
+ answerType: 'RATING',
9
+ questionText: 'How are you?',
10
+ translations: {
11
+ fr: {
12
+ questionText: 'Comment allez-vous?'
13
+ }
14
+ },
15
+ answerDetails: [
16
+ {
17
+ answerText: '0',
18
+ translations: {
19
+ fr: { answerText: 'Zéro' }
20
+ }
21
+ },
22
+ {
23
+ answerText: '10',
24
+ translations: {
25
+ fr: { answerText: 'Dix' }
26
+ }
27
+ },
28
+ // Hint text
29
+ {
30
+ answerText: 'Very Bad',
31
+ additional: { isHintText: true },
32
+ translations: { fr: { answerText: 'Très Mal' } }
33
+ },
34
+ {
35
+ answerText: 'Very Good',
36
+ additional: { isHintText: true },
37
+ translations: { fr: { answerText: 'Très Bien' } }
38
+ }
39
+ ],
40
+ questionConfigs: [
41
+ {
42
+ key: 'REQUIRED_ERROR_MESSAGE',
43
+ value: ['This field is required'],
44
+ translations: {
45
+ fr: {
46
+ value: ['Ce champ est obligatoire']
47
+ }
48
+ }
49
+ }
50
+ ]
51
+ };
52
+ (0, vitest_1.it)('returns base language text when no language is passed', () => {
53
+ const question = (0, questionMapper_1.mapQuestion)(mockApiQuestion);
54
+ // Base question text
55
+ (0, vitest_1.expect)(question.text).toBe('How are you?');
56
+ // Base options
57
+ (0, vitest_1.expect)(question.options[0].label).toBe('0');
58
+ (0, vitest_1.expect)(question.options[1].label).toBe('10');
59
+ // Base hints
60
+ (0, vitest_1.expect)(question.minLabel).toBe('Very Bad');
61
+ (0, vitest_1.expect)(question.maxLabel).toBe('Very Good');
62
+ // Base error message
63
+ (0, vitest_1.expect)(question.requiredErrorMessage).toBe('This field is required');
64
+ });
65
+ (0, vitest_1.it)('returns translated text when a specific language is passed', () => {
66
+ const question = (0, questionMapper_1.mapQuestion)(mockApiQuestion, 'fr');
67
+ // Translated question text
68
+ (0, vitest_1.expect)(question.text).toBe('Comment allez-vous?');
69
+ // Translated options
70
+ (0, vitest_1.expect)(question.options[0].label).toBe('Zéro');
71
+ (0, vitest_1.expect)(question.options[1].label).toBe('Dix');
72
+ // Translated hints
73
+ (0, vitest_1.expect)(question.minLabel).toBe('Très Mal');
74
+ (0, vitest_1.expect)(question.maxLabel).toBe('Très Bien');
75
+ // Translated error message
76
+ (0, vitest_1.expect)(question.requiredErrorMessage).toBe('Ce champ est obligatoire');
77
+ });
78
+ });
79
+ //# sourceMappingURL=questionMapper.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questionMapper.test.js","sourceRoot":"","sources":["../../../../src/fetchSurvey/utils/mappers/questionMapper.test.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,5 @@ export declare function buildExternalSurveyUrl(instanceId: string): string;
10
10
  *
11
11
  * @returns Target URL for fetch requests.
12
12
  */
13
- export declare function buildSurveyUrl(): string;
13
+ export declare function buildSurveyUrl(instanceId?: string): string;
14
14
  //# sourceMappingURL=url.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/fetchSurvey/utils/url.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/fetchSurvey/utils/url.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAK1D"}
@@ -17,7 +17,10 @@ function buildExternalSurveyUrl(instanceId) {
17
17
  *
18
18
  * @returns Target URL for fetch requests.
19
19
  */
20
- function buildSurveyUrl() {
21
- return buildExternalSurveyUrl(constants_1.DEFAULT_INSTANCE_ID);
20
+ function buildSurveyUrl(instanceId) {
21
+ const targetId = typeof instanceId === 'string' && instanceId.trim().length > 0
22
+ ? instanceId.trim()
23
+ : constants_1.DEFAULT_INSTANCE_ID;
24
+ return buildExternalSurveyUrl(targetId);
22
25
  }
23
26
  //# sourceMappingURL=url.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/fetchSurvey/utils/url.ts"],"names":[],"mappings":";;AAQA,wDAEC;AAOD,wCAEC;AAnBD,2CAAmE;AAEnE;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,UAAkB;IACvD,OAAO,GAAG,2BAAe,eAAe,kBAAkB,CAAC,UAAU,CAAC,qBAAqB,CAAC;AAC9F,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc;IAC5B,OAAO,sBAAsB,CAAC,+BAAmB,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/fetchSurvey/utils/url.ts"],"names":[],"mappings":";;AAQA,wDAEC;AAOD,wCAKC;AAtBD,2CAAmE;AAEnE;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,UAAkB;IACvD,OAAO,GAAG,2BAAe,eAAe,kBAAkB,CAAC,UAAU,CAAC,qBAAqB,CAAC;AAC9F,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,UAAmB;IAChD,MAAM,QAAQ,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC7E,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE;QACnB,CAAC,CAAC,+BAAmB,CAAC;IACxB,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC"}
@@ -20,6 +20,7 @@ export type SurveyAction = {
20
20
  */
21
21
  export type UseSurveySDKProps = {
22
22
  options?: {
23
+ instanceId?: string;
23
24
  language?: string;
24
25
  placeholders?: Record<string, string>;
25
26
  debug?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/surveySDK/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;IAAC,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAEjG;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/surveySDK/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;IAAC,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAEjG;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSurveySDK.d.ts","sourceRoot":"","sources":["../../src/surveySDK/useSurveySDK.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,GAAE,iBAAsB;;;;;;;;;;;;;;;;;;uBA4BnD,YAAY;EA8DxB"}
1
+ {"version":3,"file":"useSurveySDK.d.ts","sourceRoot":"","sources":["../../src/surveySDK/useSurveySDK.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,GAAE,iBAAsB;;;;;;;;;;;;;;;;;;uBA6BnD,YAAY;EA8DxB"}
@@ -19,6 +19,7 @@ function useSurveySDK({ options } = {}) {
19
19
  logger_1.sdkLogger.setEnabled(options?.debug ?? false);
20
20
  // 1. Fetch survey layout
21
21
  const { survey, session, fetching, fetchError } = (0, useFetchSurvey_1.useFetchSurvey)({
22
+ instanceId: options?.instanceId,
22
23
  language: options?.language,
23
24
  placeholders: options?.placeholders,
24
25
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useSurveySDK.js","sourceRoot":"","sources":["../../src/surveySDK/useSurveySDK.ts"],"names":[],"mappings":";;AAkBA,oCA0FC;AA5GD,iCAA6C;AAC7C,kEAA+D;AAC/D,iFAA8E;AAI9E,6CAA6C;AAC7C,2CAAsC;AAGtC;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,EAAE,OAAO,KAAwB,EAAE;IAC9D,4BAA4B;IAC5B,kBAAS,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;IAE9C,yBAAyB;IACzB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAA,+BAAc,EAAC;QAC/D,QAAQ,EAAE,OAAO,EAAE,QAAQ;QAC3B,YAAY,EAAE,OAAO,EAAE,YAAY;KACpC,CAAC,CAAC;IAEH,oDAAoD;IACpD,MAAM,EACJ,gBAAgB,EAChB,MAAM,EACN,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,EACN,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,UAAU,GACX,GAAG,IAAA,yCAAmB,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAE7C,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAC1B,CAAC,MAAoB,EAAE,EAAE;QACvB,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAO,CAAC,IAAI,IAAI,MAAM,IAAI,gBAAgB,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3F,MAAM,GAAG,EAAE,IAAI,EAAE,mBAAO,CAAC,MAAM,EAAE,CAAC;QACpC,CAAC;QAED,kBAAS,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,sBAAsB;gBACtB,KAAK,mBAAO,CAAC,IAAI;oBACf,MAAM,EAAE,CAAC;oBACT,MAAM;gBACR,KAAK,mBAAO,CAAC,QAAQ;oBACnB,MAAM,EAAE,CAAC;oBACT,MAAM;gBACR,KAAK,mBAAO,CAAC,MAAM;oBACjB,QAAQ,EAAE,CAAC;oBACX,MAAM;gBACR,KAAK,mBAAO,CAAC,MAAM;oBACjB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC1D,MAAM;gBACR;oBACE,MAAM;YACV,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kBAAS,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAC/D,CAAC;IAEF,qBAAqB;IACrB,sBAAsB;IACtB,QAAQ;IACR,WAAW;IACX,OAAO;QACL,4BAA4B;QAC5B,kBAAkB,EAAE;YAClB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,QAAQ;SACpB;QAED,mCAAmC;QACnC,mBAAmB,EAAE;YACnB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,UAAU;SACtB;QAED,wCAAwC;QACxC,KAAK,EAAE;YACL,gBAAgB;YAChB,gBAAgB;YAChB,MAAM;YACN,gBAAgB;YAChB,kBAAkB;SACnB;QAED,uBAAuB;QACvB,QAAQ;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useSurveySDK.js","sourceRoot":"","sources":["../../src/surveySDK/useSurveySDK.ts"],"names":[],"mappings":";;AAkBA,oCA2FC;AA7GD,iCAA6C;AAC7C,kEAA+D;AAC/D,iFAA8E;AAI9E,6CAA6C;AAC7C,2CAAsC;AAGtC;;;;;;;GAOG;AACH,SAAgB,YAAY,CAAC,EAAE,OAAO,KAAwB,EAAE;IAC9D,4BAA4B;IAC5B,kBAAS,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;IAE9C,yBAAyB;IACzB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAA,+BAAc,EAAC;QAC/D,UAAU,EAAE,OAAO,EAAE,UAAU;QAC/B,QAAQ,EAAE,OAAO,EAAE,QAAQ;QAC3B,YAAY,EAAE,OAAO,EAAE,YAAY;KACpC,CAAC,CAAC;IAEH,oDAAoD;IACpD,MAAM,EACJ,gBAAgB,EAChB,MAAM,EACN,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,EACN,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,UAAU,GACX,GAAG,IAAA,yCAAmB,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAE7C,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAC1B,CAAC,MAAoB,EAAE,EAAE;QACvB,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAO,CAAC,IAAI,IAAI,MAAM,IAAI,gBAAgB,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3F,MAAM,GAAG,EAAE,IAAI,EAAE,mBAAO,CAAC,MAAM,EAAE,CAAC;QACpC,CAAC;QAED,kBAAS,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC;YACH,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,sBAAsB;gBACtB,KAAK,mBAAO,CAAC,IAAI;oBACf,MAAM,EAAE,CAAC;oBACT,MAAM;gBACR,KAAK,mBAAO,CAAC,QAAQ;oBACnB,MAAM,EAAE,CAAC;oBACT,MAAM;gBACR,KAAK,mBAAO,CAAC,MAAM;oBACjB,QAAQ,EAAE,CAAC;oBACX,MAAM;gBACR,KAAK,mBAAO,CAAC,MAAM;oBACjB,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC1D,MAAM;gBACR;oBACE,MAAM;YACV,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kBAAS,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAC/D,CAAC;IAEF,qBAAqB;IACrB,sBAAsB;IACtB,QAAQ;IACR,WAAW;IACX,OAAO;QACL,4BAA4B;QAC5B,kBAAkB,EAAE;YAClB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,QAAQ;SACpB;QAED,mCAAmC;QACnC,mBAAmB,EAAE;YACnB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,UAAU;SACtB;QAED,wCAAwC;QACxC,KAAK,EAAE;YACL,gBAAgB;YAChB,gBAAgB;YAChB,MAAM;YACN,gBAAgB;YAChB,kBAAkB;SACnB;QAED,uBAAuB;QACvB,QAAQ;KACT,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@explorer02/cfm-survey-sdk",
3
- "version": "0.0.8",
3
+ "version": "0.1.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "bin": {
@@ -15,16 +15,21 @@
15
15
  "build": "tsc",
16
16
  "lint": "tsc --noEmit",
17
17
  "prepare": "yarn build",
18
- "postinstall": "node postinstall.js"
18
+ "postinstall": "node postinstall.js",
19
+ "test": "vitest run",
20
+ "test:watch": "vitest"
19
21
  },
20
22
  "peerDependencies": {
21
- "react": "^18.0.0 || ^19.0.0",
22
- "@tanstack/react-query": "^5.0.0"
23
+ "react": ">=17.0.0"
23
24
  },
24
25
  "devDependencies": {
26
+ "@testing-library/jest-dom": "^6.4.2",
27
+ "@testing-library/react": "^14.2.1",
28
+ "@testing-library/user-event": "^14.5.2",
25
29
  "@types/react": "^19.1.6",
26
30
  "@tanstack/react-query": "^5.0.0",
27
- "react": "^19.1.0",
28
- "typescript": "^5.8.3"
31
+ "jsdom": "^24.0.0",
32
+ "typescript": "^5.8.3",
33
+ "vitest": "^1.3.1"
29
34
  }
30
35
  }
package/postinstall.js CHANGED
@@ -1,5 +1,5 @@
1
- const fs = require('fs');
2
- const path = require('path');
1
+ const fs = require('fs');// Node's file system module — read/write/copy files
2
+ const path = require('path');// Node's path module — build cross-platform file paths
3
3
 
4
4
  // The directory where the user ran `npm install` (target client project root)
5
5
  const targetDir = process.env.INIT_CWD || path.resolve(__dirname, '../../..');
@@ -9,7 +9,7 @@ console.log('\nRunning CFM Survey SDK postinstall script...');
9
9
  try {
10
10
  // ── Copy AGENT.md to project root ──────────────────────────────────────────
11
11
  const agentTemplatePath = path.join(__dirname, 'templates', 'AGENT.md');
12
- const agentDestPath = path.join(targetDir, 'AGENT.md');
12
+ const agentDestPath = path.join(targetDir, 'AGENT.md');
13
13
 
14
14
  if (fs.existsSync(agentTemplatePath)) {
15
15
  fs.copyFileSync(agentTemplatePath, agentDestPath);
@@ -19,8 +19,8 @@ try {
19
19
  }
20
20
 
21
21
  // ── Write .cursorrules — instructs the AI agent exactly what to do ─────────
22
- const cursorRulesPath = path.join(targetDir, '.cursorrules');
23
- const cursorRulesContent = `You are an AI coding agent tasked with building a survey UI using @explorer02/cfm-survey-sdk.
22
+ const cursorRulesPath = path.join(targetDir, '.cursorrules');
23
+ const cursorRulesContent = `You are an AI coding agent tasked with building a survey UI using @repo/sdk.
24
24
 
25
25
  === CRITICAL OPERATING INSTRUCTIONS — FOLLOW IN ORDER, NO DEVIATION ===
26
26
 
@@ -58,7 +58,7 @@ Open ./AGENT.md and follow every phase in order. Do not skip, reorder, or improv
58
58
  console.log('');
59
59
  console.log(' 1. Open your AI coding agent (Cursor, GitHub Copilot, etc.)');
60
60
  console.log(' 2. Start a new chat and say:');
61
- console.log(' "Start with npm install @explorer02/cfm-survey-sdk');
61
+ console.log(' "Start with npm install @repo/sdk');
62
62
  console.log(' and build survey"');
63
63
  console.log('');
64
64
  console.log(' The agent will:');