@spinajs/email 2.0.275 → 2.0.277

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.
@@ -8,6 +8,10 @@ interface EmailOptions {
8
8
  model?: string;
9
9
  subject: string;
10
10
  content?: string;
11
+ deferred?: boolean;
12
+ scheduleCron?: string;
13
+ scheduleDelay?: number;
14
+ scheduleRepeat?: number;
11
15
  }
12
16
  export declare class SendEmailCommand extends CliCommand {
13
17
  protected Log: Log;
@@ -1 +1 @@
1
- {"version":3,"file":"SendEmail.d.ts","sourceRoot":"","sources":["../../../src/cli/SendEmail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAU,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAGlD,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAQa,gBAAiB,SAAQ,UAAU;IAE9C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEN,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CA6B3D"}
1
+ {"version":3,"file":"SendEmail.d.ts","sourceRoot":"","sources":["../../../src/cli/SendEmail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAU,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAGlD,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAYa,gBAAiB,SAAQ,UAAU;IAE9C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEN,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAwC3D"}
@@ -49,7 +49,7 @@ let SendEmailCommand = class SendEmailCommand extends cli_1.CliCommand {
49
49
  const mText = fs.readFileSync(options.model, { encoding: 'utf-8' });
50
50
  model = JSON.parse(mText);
51
51
  }
52
- await emails.send({
52
+ const email = {
53
53
  from: options.from,
54
54
  to: options.to.split(','),
55
55
  connection: options.connection,
@@ -57,7 +57,18 @@ let SendEmailCommand = class SendEmailCommand extends cli_1.CliCommand {
57
57
  model: model,
58
58
  subject: options.subject,
59
59
  text: options.content,
60
- });
60
+ schedule: {
61
+ cron: options.scheduleCron,
62
+ delay: options.scheduleDelay,
63
+ repeat: options.scheduleRepeat,
64
+ },
65
+ };
66
+ if (options.deferred) {
67
+ await emails.sendDeferred(email);
68
+ }
69
+ else {
70
+ await emails.send(email);
71
+ }
61
72
  this.Log.success(`Email send succesyfully to: ${options.to}, from: ${options.from}, subject: ${options.subject}`);
62
73
  }
63
74
  catch (err) {
@@ -78,6 +89,10 @@ exports.SendEmailCommand = SendEmailCommand = __decorate([
78
89
  (0, cli_1.Option)('-e, --template [template]', false, 'template name'),
79
90
  (0, cli_1.Option)('-m, --model [model]', false, 'path to model data for template, in json format'),
80
91
  (0, cli_1.Option)('-s, --subject [model]', true, 'subject'),
81
- (0, cli_1.Option)('-c, --content [content]', false, 'text content if template is not provided')
92
+ (0, cli_1.Option)('-ct, --content [content]', false, 'text content if template is not provided'),
93
+ (0, cli_1.Option)('-sd, --schedule-delay', false, 'email delay'),
94
+ (0, cli_1.Option)('-sc, --schedule-cron', false, 'send email with cron schedule'),
95
+ (0, cli_1.Option)('-sr, --schedule-repeat', false, 'How many times to send'),
96
+ (0, cli_1.Option)('-df, --deferred', false, 'send email deferred ( send using queue & email srv')
82
97
  ], SendEmailCommand);
83
98
  //# sourceMappingURL=SendEmail.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SendEmail.js","sourceRoot":"","sources":["../../../src/cli/SendEmail.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAA2D;AAC3D,oCAAiC;AACjC,uCAAyB;AACzB,oDAAkD;AAClD,4CAA8C;AAoBvC,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,gBAAU;IAIvC,KAAK,CAAC,OAAO,CAAC,OAAqB;QACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEjF,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,OAAE,CAAC,OAAO,CAAC,uBAAY,CAAC,CAAC;YAC9C,IAAI,KAAK,GAAG,EAAE,CAAC;YAEf,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,OAAO,CAAC,KAAK,kCAAkC,CAAC,CAAC;gBAEvF,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC3B;YAED,MAAM,MAAM,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;gBACzB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,OAAO;aACtB,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,+BAA+B,OAAO,CAAC,EAAE,WAAW,OAAO,CAAC,IAAI,cAAc,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;SACnH;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,OAAO,YAAY,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;SAClF;IACH,CAAC;CACF,CAAA;AAjCY,4CAAgB;AAEjB;IADT,IAAA,mBAAM,EAAC,OAAO,CAAC;8BACD,gBAAG;6CAAC;2BAFR,gBAAgB;IAR5B,IAAA,aAAO,EAAC,YAAY,EAAE,4DAA4D,CAAC;IACnF,IAAA,YAAM,EAAC,+BAA+B,EAAE,IAAI,EAAE,oBAAoB,CAAC;IACnE,IAAA,YAAM,EAAC,mBAAmB,EAAE,IAAI,EAAE,YAAY,CAAC;IAC/C,IAAA,YAAM,EAAC,eAAe,EAAE,IAAI,EAAE,8CAA8C,CAAC;IAC7E,IAAA,YAAM,EAAC,2BAA2B,EAAE,KAAK,EAAE,eAAe,CAAC;IAC3D,IAAA,YAAM,EAAC,qBAAqB,EAAE,KAAK,EAAE,iDAAiD,CAAC;IACvF,IAAA,YAAM,EAAC,uBAAuB,EAAE,IAAI,EAAE,SAAS,CAAC;IAChD,IAAA,YAAM,EAAC,yBAAyB,EAAE,KAAK,EAAE,0CAA0C,CAAC;GACxE,gBAAgB,CAiC5B"}
1
+ {"version":3,"file":"SendEmail.js","sourceRoot":"","sources":["../../../src/cli/SendEmail.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BV,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BV,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -3,13 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const path_1 = require("path");
4
4
  function dir(path) {
5
5
  const inCommonJs = typeof module !== 'undefined';
6
- return (0, path_1.resolve)((0, path_1.normalize)((0, path_1.join)(process.cwd(), 'node_modules', '@spinajs', 'email', 'lib', inCommonJs ? 'cjs' : 'mjs', path)));
6
+ return [
7
+ (0, path_1.resolve)((0, path_1.normalize)((0, path_1.join)(process.cwd(), 'node_modules', '@spinajs', 'email', 'lib', inCommonJs ? 'cjs' : 'mjs', path))),
8
+ // one up if we run from app or build folder
9
+ (0, path_1.resolve)((0, path_1.normalize)((0, path_1.join)(process.cwd(), '../', 'node_modules', '@spinajs', 'email', 'lib', inCommonJs ? 'cjs' : 'mjs', path))),
10
+ ];
7
11
  }
8
12
  const email = {
9
13
  system: {
10
14
  dirs: {
11
- cli: [dir('cli')],
12
- jobs: [dir('jobs')],
15
+ cli: [...dir('cli')],
16
+ jobs: [...dir('jobs')],
13
17
  },
14
18
  },
15
19
  email: {
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":";;AAAA,+BAAgD;AAEhD,SAAS,GAAG,CAAC,IAAY;IACvB,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;IACjD,OAAO,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/H,CAAC;AACD,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjB,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACpB;KACF;IACD,KAAK,EAAE;QACL,kCAAkC;QAClC,KAAK,EAAE,wBAAwB;KAChC;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,YAAY,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;YACtD,SAAS,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;SACpD;QAED,0DAA0D;QAC1D,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,sBAAsB;gBAC/B,mBAAmB,EAAE,YAAY;gBACjC,mBAAmB,EAAE,cAAc;aACpC;SACF;KACF;CACF,CAAC;AAEF,kBAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":";;AAAA,+BAAgD;AAEhD,SAAS,GAAG,CAAC,IAAY;IACvB,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;IACjD,OAAO;QACL,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAErH,4CAA4C;QAC5C,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAC,KAAK,EAAC,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KAC3H,CAAC;AACJ,CAAC;AAED,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;SACvB;KACF;IACD,KAAK,EAAE;QACL,kCAAkC;QAClC,KAAK,EAAE,wBAAwB;KAChC;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,YAAY,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;YACtD,SAAS,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;SACpD;QAED,0DAA0D;QAC1D,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,sBAAsB;gBAC/B,mBAAmB,EAAE,YAAY;gBACjC,mBAAmB,EAAE,cAAc;aACpC;SACF;KACF;CACF,CAAC;AAEF,kBAAe,KAAK,CAAC"}
@@ -8,6 +8,10 @@ interface EmailOptions {
8
8
  model?: string;
9
9
  subject: string;
10
10
  content?: string;
11
+ deferred?: boolean;
12
+ scheduleCron?: string;
13
+ scheduleDelay?: number;
14
+ scheduleRepeat?: number;
11
15
  }
12
16
  export declare class SendEmailCommand extends CliCommand {
13
17
  protected Log: Log;
@@ -1 +1 @@
1
- {"version":3,"file":"SendEmail.d.ts","sourceRoot":"","sources":["../../../src/cli/SendEmail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAU,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAGlD,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAQa,gBAAiB,SAAQ,UAAU;IAE9C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEN,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CA6B3D"}
1
+ {"version":3,"file":"SendEmail.d.ts","sourceRoot":"","sources":["../../../src/cli/SendEmail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAU,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAGlD,UAAU,YAAY;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAYa,gBAAiB,SAAQ,UAAU;IAE9C,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEN,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;CAwC3D"}
@@ -23,7 +23,7 @@ let SendEmailCommand = class SendEmailCommand extends CliCommand {
23
23
  const mText = fs.readFileSync(options.model, { encoding: 'utf-8' });
24
24
  model = JSON.parse(mText);
25
25
  }
26
- await emails.send({
26
+ const email = {
27
27
  from: options.from,
28
28
  to: options.to.split(','),
29
29
  connection: options.connection,
@@ -31,7 +31,18 @@ let SendEmailCommand = class SendEmailCommand extends CliCommand {
31
31
  model: model,
32
32
  subject: options.subject,
33
33
  text: options.content,
34
- });
34
+ schedule: {
35
+ cron: options.scheduleCron,
36
+ delay: options.scheduleDelay,
37
+ repeat: options.scheduleRepeat,
38
+ },
39
+ };
40
+ if (options.deferred) {
41
+ await emails.sendDeferred(email);
42
+ }
43
+ else {
44
+ await emails.send(email);
45
+ }
35
46
  this.Log.success(`Email send succesyfully to: ${options.to}, from: ${options.from}, subject: ${options.subject}`);
36
47
  }
37
48
  catch (err) {
@@ -51,7 +62,11 @@ SendEmailCommand = __decorate([
51
62
  Option('-e, --template [template]', false, 'template name'),
52
63
  Option('-m, --model [model]', false, 'path to model data for template, in json format'),
53
64
  Option('-s, --subject [model]', true, 'subject'),
54
- Option('-c, --content [content]', false, 'text content if template is not provided')
65
+ Option('-ct, --content [content]', false, 'text content if template is not provided'),
66
+ Option('-sd, --schedule-delay', false, 'email delay'),
67
+ Option('-sc, --schedule-cron', false, 'send email with cron schedule'),
68
+ Option('-sr, --schedule-repeat', false, 'How many times to send'),
69
+ Option('-df, --deferred', false, 'send email deferred ( send using queue & email srv')
55
70
  ], SendEmailCommand);
56
71
  export { SendEmailCommand };
57
72
  //# sourceMappingURL=SendEmail.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SendEmail.js","sourceRoot":"","sources":["../../../src/cli/SendEmail.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAG,YAAY,EAAE,MAAM,eAAe,CAAC;AAoBvC,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAIvC,KAAK,CAAC,OAAO,CAAC,OAAqB;QACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEjF,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,KAAK,GAAG,EAAE,CAAC;YAEf,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,OAAO,CAAC,KAAK,kCAAkC,CAAC,CAAC;gBAEvF,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC3B;YAED,MAAM,MAAM,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;gBACzB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,KAAK;gBACZ,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,IAAI,EAAE,OAAO,CAAC,OAAO;aACtB,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,+BAA+B,OAAO,CAAC,EAAE,WAAW,OAAO,CAAC,IAAI,cAAc,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;SACnH;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,OAAO,YAAY,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;SAClF;IACH,CAAC;CACF,CAAA;AA/BW;IADT,MAAM,CAAC,OAAO,CAAC;8BACD,GAAG;6CAAC;AAFR,gBAAgB;IAR5B,OAAO,CAAC,YAAY,EAAE,4DAA4D,CAAC;IACnF,MAAM,CAAC,+BAA+B,EAAE,IAAI,EAAE,oBAAoB,CAAC;IACnE,MAAM,CAAC,mBAAmB,EAAE,IAAI,EAAE,YAAY,CAAC;IAC/C,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,8CAA8C,CAAC;IAC7E,MAAM,CAAC,2BAA2B,EAAE,KAAK,EAAE,eAAe,CAAC;IAC3D,MAAM,CAAC,qBAAqB,EAAE,KAAK,EAAE,iDAAiD,CAAC;IACvF,MAAM,CAAC,uBAAuB,EAAE,IAAI,EAAE,SAAS,CAAC;IAChD,MAAM,CAAC,yBAAyB,EAAE,KAAK,EAAE,0CAA0C,CAAC;GACxE,gBAAgB,CAiC5B"}
1
+ {"version":3,"file":"SendEmail.js","sourceRoot":"","sources":["../../../src/cli/SendEmail.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BV,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BV,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -1,13 +1,17 @@
1
1
  import { join, normalize, resolve } from 'path';
2
2
  function dir(path) {
3
3
  const inCommonJs = typeof module !== 'undefined';
4
- return resolve(normalize(join(process.cwd(), 'node_modules', '@spinajs', 'email', 'lib', inCommonJs ? 'cjs' : 'mjs', path)));
4
+ return [
5
+ resolve(normalize(join(process.cwd(), 'node_modules', '@spinajs', 'email', 'lib', inCommonJs ? 'cjs' : 'mjs', path))),
6
+ // one up if we run from app or build folder
7
+ resolve(normalize(join(process.cwd(), '../', 'node_modules', '@spinajs', 'email', 'lib', inCommonJs ? 'cjs' : 'mjs', path))),
8
+ ];
5
9
  }
6
10
  const email = {
7
11
  system: {
8
12
  dirs: {
9
- cli: [dir('cli')],
10
- jobs: [dir('jobs')],
13
+ cli: [...dir('cli')],
14
+ jobs: [...dir('jobs')],
11
15
  },
12
16
  },
13
17
  email: {
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEhD,SAAS,GAAG,CAAC,IAAY;IACvB,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;IACjD,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/H,CAAC;AACD,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjB,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACpB;KACF;IACD,KAAK,EAAE;QACL,kCAAkC;QAClC,KAAK,EAAE,wBAAwB;KAChC;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,YAAY,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;YACtD,SAAS,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;SACpD;QAED,0DAA0D;QAC1D,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,sBAAsB;gBAC/B,mBAAmB,EAAE,YAAY;gBACjC,mBAAmB,EAAE,cAAc;aACpC;SACF;KACF;CACF,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEhD,SAAS,GAAG,CAAC,IAAY;IACvB,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;IACjD,OAAO;QACL,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAErH,4CAA4C;QAC5C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAC,KAAK,EAAC,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KAC3H,CAAC;AACJ,CAAC;AAED,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;SACvB;KACF;IACD,KAAK,EAAE;QACL,kCAAkC;QAClC,KAAK,EAAE,wBAAwB;KAChC;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,YAAY,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;YACtD,SAAS,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;SACpD;QAED,0DAA0D;QAC1D,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,sBAAsB;gBAC/B,mBAAmB,EAAE,YAAY;gBACjC,mBAAmB,EAAE,cAAc;aACpC;SACF;KACF;CACF,CAAC;AAEF,eAAe,KAAK,CAAC"}