@rankmyseo/scheduler 0.1.1 → 1.0.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.
package/dist/index.cjs CHANGED
@@ -38,7 +38,6 @@ __export(index_exports, {
38
38
  module.exports = __toCommonJS(index_exports);
39
39
 
40
40
  // src/manual.ts
41
- var import_server_only = require("server-only");
42
41
  var ManualScheduler = class {
43
42
  jobs = /* @__PURE__ */ new Map();
44
43
  runs = [];
@@ -62,7 +61,6 @@ var ManualScheduler = class {
62
61
  };
63
62
 
64
63
  // src/node-cron.ts
65
- var import_server_only2 = require("server-only");
66
64
  var import_node_cron = __toESM(require("node-cron"), 1);
67
65
  var NodeCronScheduler = class {
68
66
  jobs = /* @__PURE__ */ new Map();
@@ -88,7 +86,6 @@ var NodeCronScheduler = class {
88
86
  };
89
87
 
90
88
  // src/ingest-job.ts
91
- var import_server_only3 = require("server-only");
92
89
  var import_core = require("@rankmyseo/core");
93
90
  function registerIngestionJob(scheduler, options) {
94
91
  scheduler.register({
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/manual.ts","../src/node-cron.ts","../src/ingest-job.ts"],"sourcesContent":["export { ManualScheduler } from \"./manual.js\";\nexport { NodeCronScheduler } from \"./node-cron.js\";\nexport {\n registerIngestionJob,\n runIngestionNow,\n type IngestionJobOptions,\n} from \"./ingest-job.js\";\n","import \"server-only\";\n\nimport type { ScheduledJob, Scheduler } from \"@rankmyseo/core\";\n\nexport class ManualScheduler implements Scheduler {\n private jobs = new Map<string, ScheduledJob>();\n readonly runs: string[] = [];\n\n register(job: ScheduledJob): void {\n this.jobs.set(job.id, job);\n }\n\n async start(): Promise<void> {\n /* no-op for manual scheduler */\n }\n\n async stop(): Promise<void> {\n this.jobs.clear();\n }\n\n async run(jobId: string): Promise<void> {\n const job = this.jobs.get(jobId);\n if (!job) throw new Error(`Job not found: ${jobId}`);\n this.runs.push(jobId);\n await job.handler();\n }\n\n listJobs(): ScheduledJob[] {\n return [...this.jobs.values()];\n }\n}\n","import \"server-only\";\n\nimport cron, { type ScheduledTask } from \"node-cron\";\nimport type { ScheduledJob, Scheduler } from \"@rankmyseo/core\";\n\nexport class NodeCronScheduler implements Scheduler {\n private jobs = new Map<string, ScheduledJob>();\n private tasks = new Map<string, ScheduledTask>();\n\n register(job: ScheduledJob): void {\n this.jobs.set(job.id, job);\n }\n\n async start(): Promise<void> {\n for (const job of this.jobs.values()) {\n if (this.tasks.has(job.id)) continue;\n const task = cron.schedule(job.cron, () => {\n void job.handler();\n });\n this.tasks.set(job.id, task);\n }\n }\n\n async stop(): Promise<void> {\n for (const task of this.tasks.values()) {\n task.stop();\n }\n this.tasks.clear();\n }\n}\n","import \"server-only\";\n\nimport type {\n PositionQuery,\n RankDataSource,\n RankStore,\n Scheduler,\n} from \"@rankmyseo/core\";\nimport { ingestPositions } from \"@rankmyseo/core\";\nimport type { ManualScheduler } from \"./manual.js\";\n\nexport interface IngestionJobOptions {\n id?: string;\n cron?: string;\n dataSource: RankDataSource;\n store: RankStore;\n getQuery: () => Promise<PositionQuery>;\n}\n\nexport function registerIngestionJob(\n scheduler: Scheduler,\n options: IngestionJobOptions,\n): void {\n scheduler.register({\n id: options.id ?? \"rank-ingestion\",\n cron: options.cron ?? \"0 6 * * *\",\n handler: async () => {\n const query = await options.getQuery();\n await ingestPositions(options.dataSource, options.store, query);\n },\n });\n}\n\nexport async function runIngestionNow(\n scheduler: ManualScheduler,\n jobId = \"rank-ingestion\",\n): Promise<void> {\n await scheduler.run(jobId);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,yBAAO;AAIA,IAAM,kBAAN,MAA2C;AAAA,EACxC,OAAO,oBAAI,IAA0B;AAAA,EACpC,OAAiB,CAAC;AAAA,EAE3B,SAAS,KAAyB;AAChC,SAAK,KAAK,IAAI,IAAI,IAAI,GAAG;AAAA,EAC3B;AAAA,EAEA,MAAM,QAAuB;AAAA,EAE7B;AAAA,EAEA,MAAM,OAAsB;AAC1B,SAAK,KAAK,MAAM;AAAA,EAClB;AAAA,EAEA,MAAM,IAAI,OAA8B;AACtC,UAAM,MAAM,KAAK,KAAK,IAAI,KAAK;AAC/B,QAAI,CAAC,IAAK,OAAM,IAAI,MAAM,kBAAkB,KAAK,EAAE;AACnD,SAAK,KAAK,KAAK,KAAK;AACpB,UAAM,IAAI,QAAQ;AAAA,EACpB;AAAA,EAEA,WAA2B;AACzB,WAAO,CAAC,GAAG,KAAK,KAAK,OAAO,CAAC;AAAA,EAC/B;AACF;;;AC9BA,IAAAA,sBAAO;AAEP,uBAAyC;AAGlC,IAAM,oBAAN,MAA6C;AAAA,EAC1C,OAAO,oBAAI,IAA0B;AAAA,EACrC,QAAQ,oBAAI,IAA2B;AAAA,EAE/C,SAAS,KAAyB;AAChC,SAAK,KAAK,IAAI,IAAI,IAAI,GAAG;AAAA,EAC3B;AAAA,EAEA,MAAM,QAAuB;AAC3B,eAAW,OAAO,KAAK,KAAK,OAAO,GAAG;AACpC,UAAI,KAAK,MAAM,IAAI,IAAI,EAAE,EAAG;AAC5B,YAAM,OAAO,iBAAAC,QAAK,SAAS,IAAI,MAAM,MAAM;AACzC,aAAK,IAAI,QAAQ;AAAA,MACnB,CAAC;AACD,WAAK,MAAM,IAAI,IAAI,IAAI,IAAI;AAAA,IAC7B;AAAA,EACF;AAAA,EAEA,MAAM,OAAsB;AAC1B,eAAW,QAAQ,KAAK,MAAM,OAAO,GAAG;AACtC,WAAK,KAAK;AAAA,IACZ;AACA,SAAK,MAAM,MAAM;AAAA,EACnB;AACF;;;AC7BA,IAAAC,sBAAO;AAQP,kBAAgC;AAWzB,SAAS,qBACd,WACA,SACM;AACN,YAAU,SAAS;AAAA,IACjB,IAAI,QAAQ,MAAM;AAAA,IAClB,MAAM,QAAQ,QAAQ;AAAA,IACtB,SAAS,YAAY;AACnB,YAAM,QAAQ,MAAM,QAAQ,SAAS;AACrC,gBAAM,6BAAgB,QAAQ,YAAY,QAAQ,OAAO,KAAK;AAAA,IAChE;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,gBACpB,WACA,QAAQ,kBACO;AACf,QAAM,UAAU,IAAI,KAAK;AAC3B;","names":["import_server_only","cron","import_server_only"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/manual.ts","../src/node-cron.ts","../src/ingest-job.ts"],"sourcesContent":["export { ManualScheduler } from \"./manual.js\";\nexport { NodeCronScheduler } from \"./node-cron.js\";\nexport {\n registerIngestionJob,\n runIngestionNow,\n type IngestionJobOptions,\n} from \"./ingest-job.js\";\n","import type { ScheduledJob, Scheduler } from \"@rankmyseo/core\";\n\nexport class ManualScheduler implements Scheduler {\n private jobs = new Map<string, ScheduledJob>();\n readonly runs: string[] = [];\n\n register(job: ScheduledJob): void {\n this.jobs.set(job.id, job);\n }\n\n async start(): Promise<void> {\n /* no-op for manual scheduler */\n }\n\n async stop(): Promise<void> {\n this.jobs.clear();\n }\n\n async run(jobId: string): Promise<void> {\n const job = this.jobs.get(jobId);\n if (!job) throw new Error(`Job not found: ${jobId}`);\n this.runs.push(jobId);\n await job.handler();\n }\n\n listJobs(): ScheduledJob[] {\n return [...this.jobs.values()];\n }\n}\n","import cron, { type ScheduledTask } from \"node-cron\";\nimport type { ScheduledJob, Scheduler } from \"@rankmyseo/core\";\n\nexport class NodeCronScheduler implements Scheduler {\n private jobs = new Map<string, ScheduledJob>();\n private tasks = new Map<string, ScheduledTask>();\n\n register(job: ScheduledJob): void {\n this.jobs.set(job.id, job);\n }\n\n async start(): Promise<void> {\n for (const job of this.jobs.values()) {\n if (this.tasks.has(job.id)) continue;\n const task = cron.schedule(job.cron, () => {\n void job.handler();\n });\n this.tasks.set(job.id, task);\n }\n }\n\n async stop(): Promise<void> {\n for (const task of this.tasks.values()) {\n task.stop();\n }\n this.tasks.clear();\n }\n}\n","import type {\n PositionQuery,\n RankDataSource,\n RankStore,\n Scheduler,\n} from \"@rankmyseo/core\";\nimport { ingestPositions } from \"@rankmyseo/core\";\nimport type { ManualScheduler } from \"./manual.js\";\n\nexport interface IngestionJobOptions {\n id?: string;\n cron?: string;\n dataSource: RankDataSource;\n store: RankStore;\n getQuery: () => Promise<PositionQuery>;\n}\n\nexport function registerIngestionJob(\n scheduler: Scheduler,\n options: IngestionJobOptions,\n): void {\n scheduler.register({\n id: options.id ?? \"rank-ingestion\",\n cron: options.cron ?? \"0 6 * * *\",\n handler: async () => {\n const query = await options.getQuery();\n await ingestPositions(options.dataSource, options.store, query);\n },\n });\n}\n\nexport async function runIngestionNow(\n scheduler: ManualScheduler,\n jobId = \"rank-ingestion\",\n): Promise<void> {\n await scheduler.run(jobId);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAM,kBAAN,MAA2C;AAAA,EACxC,OAAO,oBAAI,IAA0B;AAAA,EACpC,OAAiB,CAAC;AAAA,EAE3B,SAAS,KAAyB;AAChC,SAAK,KAAK,IAAI,IAAI,IAAI,GAAG;AAAA,EAC3B;AAAA,EAEA,MAAM,QAAuB;AAAA,EAE7B;AAAA,EAEA,MAAM,OAAsB;AAC1B,SAAK,KAAK,MAAM;AAAA,EAClB;AAAA,EAEA,MAAM,IAAI,OAA8B;AACtC,UAAM,MAAM,KAAK,KAAK,IAAI,KAAK;AAC/B,QAAI,CAAC,IAAK,OAAM,IAAI,MAAM,kBAAkB,KAAK,EAAE;AACnD,SAAK,KAAK,KAAK,KAAK;AACpB,UAAM,IAAI,QAAQ;AAAA,EACpB;AAAA,EAEA,WAA2B;AACzB,WAAO,CAAC,GAAG,KAAK,KAAK,OAAO,CAAC;AAAA,EAC/B;AACF;;;AC5BA,uBAAyC;AAGlC,IAAM,oBAAN,MAA6C;AAAA,EAC1C,OAAO,oBAAI,IAA0B;AAAA,EACrC,QAAQ,oBAAI,IAA2B;AAAA,EAE/C,SAAS,KAAyB;AAChC,SAAK,KAAK,IAAI,IAAI,IAAI,GAAG;AAAA,EAC3B;AAAA,EAEA,MAAM,QAAuB;AAC3B,eAAW,OAAO,KAAK,KAAK,OAAO,GAAG;AACpC,UAAI,KAAK,MAAM,IAAI,IAAI,EAAE,EAAG;AAC5B,YAAM,OAAO,iBAAAA,QAAK,SAAS,IAAI,MAAM,MAAM;AACzC,aAAK,IAAI,QAAQ;AAAA,MACnB,CAAC;AACD,WAAK,MAAM,IAAI,IAAI,IAAI,IAAI;AAAA,IAC7B;AAAA,EACF;AAAA,EAEA,MAAM,OAAsB;AAC1B,eAAW,QAAQ,KAAK,MAAM,OAAO,GAAG;AACtC,WAAK,KAAK;AAAA,IACZ;AACA,SAAK,MAAM,MAAM;AAAA,EACnB;AACF;;;ACrBA,kBAAgC;AAWzB,SAAS,qBACd,WACA,SACM;AACN,YAAU,SAAS;AAAA,IACjB,IAAI,QAAQ,MAAM;AAAA,IAClB,MAAM,QAAQ,QAAQ;AAAA,IACtB,SAAS,YAAY;AACnB,YAAM,QAAQ,MAAM,QAAQ,SAAS;AACrC,gBAAM,6BAAgB,QAAQ,YAAY,QAAQ,OAAO,KAAK;AAAA,IAChE;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,gBACpB,WACA,QAAQ,kBACO;AACf,QAAM,UAAU,IAAI,KAAK;AAC3B;","names":["cron"]}
package/dist/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  // src/manual.ts
2
- import "server-only";
3
2
  var ManualScheduler = class {
4
3
  jobs = /* @__PURE__ */ new Map();
5
4
  runs = [];
@@ -23,7 +22,6 @@ var ManualScheduler = class {
23
22
  };
24
23
 
25
24
  // src/node-cron.ts
26
- import "server-only";
27
25
  import cron from "node-cron";
28
26
  var NodeCronScheduler = class {
29
27
  jobs = /* @__PURE__ */ new Map();
@@ -49,7 +47,6 @@ var NodeCronScheduler = class {
49
47
  };
50
48
 
51
49
  // src/ingest-job.ts
52
- import "server-only";
53
50
  import { ingestPositions } from "@rankmyseo/core";
54
51
  function registerIngestionJob(scheduler, options) {
55
52
  scheduler.register({
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/manual.ts","../src/node-cron.ts","../src/ingest-job.ts"],"sourcesContent":["import \"server-only\";\n\nimport type { ScheduledJob, Scheduler } from \"@rankmyseo/core\";\n\nexport class ManualScheduler implements Scheduler {\n private jobs = new Map<string, ScheduledJob>();\n readonly runs: string[] = [];\n\n register(job: ScheduledJob): void {\n this.jobs.set(job.id, job);\n }\n\n async start(): Promise<void> {\n /* no-op for manual scheduler */\n }\n\n async stop(): Promise<void> {\n this.jobs.clear();\n }\n\n async run(jobId: string): Promise<void> {\n const job = this.jobs.get(jobId);\n if (!job) throw new Error(`Job not found: ${jobId}`);\n this.runs.push(jobId);\n await job.handler();\n }\n\n listJobs(): ScheduledJob[] {\n return [...this.jobs.values()];\n }\n}\n","import \"server-only\";\n\nimport cron, { type ScheduledTask } from \"node-cron\";\nimport type { ScheduledJob, Scheduler } from \"@rankmyseo/core\";\n\nexport class NodeCronScheduler implements Scheduler {\n private jobs = new Map<string, ScheduledJob>();\n private tasks = new Map<string, ScheduledTask>();\n\n register(job: ScheduledJob): void {\n this.jobs.set(job.id, job);\n }\n\n async start(): Promise<void> {\n for (const job of this.jobs.values()) {\n if (this.tasks.has(job.id)) continue;\n const task = cron.schedule(job.cron, () => {\n void job.handler();\n });\n this.tasks.set(job.id, task);\n }\n }\n\n async stop(): Promise<void> {\n for (const task of this.tasks.values()) {\n task.stop();\n }\n this.tasks.clear();\n }\n}\n","import \"server-only\";\n\nimport type {\n PositionQuery,\n RankDataSource,\n RankStore,\n Scheduler,\n} from \"@rankmyseo/core\";\nimport { ingestPositions } from \"@rankmyseo/core\";\nimport type { ManualScheduler } from \"./manual.js\";\n\nexport interface IngestionJobOptions {\n id?: string;\n cron?: string;\n dataSource: RankDataSource;\n store: RankStore;\n getQuery: () => Promise<PositionQuery>;\n}\n\nexport function registerIngestionJob(\n scheduler: Scheduler,\n options: IngestionJobOptions,\n): void {\n scheduler.register({\n id: options.id ?? \"rank-ingestion\",\n cron: options.cron ?? \"0 6 * * *\",\n handler: async () => {\n const query = await options.getQuery();\n await ingestPositions(options.dataSource, options.store, query);\n },\n });\n}\n\nexport async function runIngestionNow(\n scheduler: ManualScheduler,\n jobId = \"rank-ingestion\",\n): Promise<void> {\n await scheduler.run(jobId);\n}\n"],"mappings":";AAAA,OAAO;AAIA,IAAM,kBAAN,MAA2C;AAAA,EACxC,OAAO,oBAAI,IAA0B;AAAA,EACpC,OAAiB,CAAC;AAAA,EAE3B,SAAS,KAAyB;AAChC,SAAK,KAAK,IAAI,IAAI,IAAI,GAAG;AAAA,EAC3B;AAAA,EAEA,MAAM,QAAuB;AAAA,EAE7B;AAAA,EAEA,MAAM,OAAsB;AAC1B,SAAK,KAAK,MAAM;AAAA,EAClB;AAAA,EAEA,MAAM,IAAI,OAA8B;AACtC,UAAM,MAAM,KAAK,KAAK,IAAI,KAAK;AAC/B,QAAI,CAAC,IAAK,OAAM,IAAI,MAAM,kBAAkB,KAAK,EAAE;AACnD,SAAK,KAAK,KAAK,KAAK;AACpB,UAAM,IAAI,QAAQ;AAAA,EACpB;AAAA,EAEA,WAA2B;AACzB,WAAO,CAAC,GAAG,KAAK,KAAK,OAAO,CAAC;AAAA,EAC/B;AACF;;;AC9BA,OAAO;AAEP,OAAO,UAAkC;AAGlC,IAAM,oBAAN,MAA6C;AAAA,EAC1C,OAAO,oBAAI,IAA0B;AAAA,EACrC,QAAQ,oBAAI,IAA2B;AAAA,EAE/C,SAAS,KAAyB;AAChC,SAAK,KAAK,IAAI,IAAI,IAAI,GAAG;AAAA,EAC3B;AAAA,EAEA,MAAM,QAAuB;AAC3B,eAAW,OAAO,KAAK,KAAK,OAAO,GAAG;AACpC,UAAI,KAAK,MAAM,IAAI,IAAI,EAAE,EAAG;AAC5B,YAAM,OAAO,KAAK,SAAS,IAAI,MAAM,MAAM;AACzC,aAAK,IAAI,QAAQ;AAAA,MACnB,CAAC;AACD,WAAK,MAAM,IAAI,IAAI,IAAI,IAAI;AAAA,IAC7B;AAAA,EACF;AAAA,EAEA,MAAM,OAAsB;AAC1B,eAAW,QAAQ,KAAK,MAAM,OAAO,GAAG;AACtC,WAAK,KAAK;AAAA,IACZ;AACA,SAAK,MAAM,MAAM;AAAA,EACnB;AACF;;;AC7BA,OAAO;AAQP,SAAS,uBAAuB;AAWzB,SAAS,qBACd,WACA,SACM;AACN,YAAU,SAAS;AAAA,IACjB,IAAI,QAAQ,MAAM;AAAA,IAClB,MAAM,QAAQ,QAAQ;AAAA,IACtB,SAAS,YAAY;AACnB,YAAM,QAAQ,MAAM,QAAQ,SAAS;AACrC,YAAM,gBAAgB,QAAQ,YAAY,QAAQ,OAAO,KAAK;AAAA,IAChE;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,gBACpB,WACA,QAAQ,kBACO;AACf,QAAM,UAAU,IAAI,KAAK;AAC3B;","names":[]}
1
+ {"version":3,"sources":["../src/manual.ts","../src/node-cron.ts","../src/ingest-job.ts"],"sourcesContent":["import type { ScheduledJob, Scheduler } from \"@rankmyseo/core\";\n\nexport class ManualScheduler implements Scheduler {\n private jobs = new Map<string, ScheduledJob>();\n readonly runs: string[] = [];\n\n register(job: ScheduledJob): void {\n this.jobs.set(job.id, job);\n }\n\n async start(): Promise<void> {\n /* no-op for manual scheduler */\n }\n\n async stop(): Promise<void> {\n this.jobs.clear();\n }\n\n async run(jobId: string): Promise<void> {\n const job = this.jobs.get(jobId);\n if (!job) throw new Error(`Job not found: ${jobId}`);\n this.runs.push(jobId);\n await job.handler();\n }\n\n listJobs(): ScheduledJob[] {\n return [...this.jobs.values()];\n }\n}\n","import cron, { type ScheduledTask } from \"node-cron\";\nimport type { ScheduledJob, Scheduler } from \"@rankmyseo/core\";\n\nexport class NodeCronScheduler implements Scheduler {\n private jobs = new Map<string, ScheduledJob>();\n private tasks = new Map<string, ScheduledTask>();\n\n register(job: ScheduledJob): void {\n this.jobs.set(job.id, job);\n }\n\n async start(): Promise<void> {\n for (const job of this.jobs.values()) {\n if (this.tasks.has(job.id)) continue;\n const task = cron.schedule(job.cron, () => {\n void job.handler();\n });\n this.tasks.set(job.id, task);\n }\n }\n\n async stop(): Promise<void> {\n for (const task of this.tasks.values()) {\n task.stop();\n }\n this.tasks.clear();\n }\n}\n","import type {\n PositionQuery,\n RankDataSource,\n RankStore,\n Scheduler,\n} from \"@rankmyseo/core\";\nimport { ingestPositions } from \"@rankmyseo/core\";\nimport type { ManualScheduler } from \"./manual.js\";\n\nexport interface IngestionJobOptions {\n id?: string;\n cron?: string;\n dataSource: RankDataSource;\n store: RankStore;\n getQuery: () => Promise<PositionQuery>;\n}\n\nexport function registerIngestionJob(\n scheduler: Scheduler,\n options: IngestionJobOptions,\n): void {\n scheduler.register({\n id: options.id ?? \"rank-ingestion\",\n cron: options.cron ?? \"0 6 * * *\",\n handler: async () => {\n const query = await options.getQuery();\n await ingestPositions(options.dataSource, options.store, query);\n },\n });\n}\n\nexport async function runIngestionNow(\n scheduler: ManualScheduler,\n jobId = \"rank-ingestion\",\n): Promise<void> {\n await scheduler.run(jobId);\n}\n"],"mappings":";AAEO,IAAM,kBAAN,MAA2C;AAAA,EACxC,OAAO,oBAAI,IAA0B;AAAA,EACpC,OAAiB,CAAC;AAAA,EAE3B,SAAS,KAAyB;AAChC,SAAK,KAAK,IAAI,IAAI,IAAI,GAAG;AAAA,EAC3B;AAAA,EAEA,MAAM,QAAuB;AAAA,EAE7B;AAAA,EAEA,MAAM,OAAsB;AAC1B,SAAK,KAAK,MAAM;AAAA,EAClB;AAAA,EAEA,MAAM,IAAI,OAA8B;AACtC,UAAM,MAAM,KAAK,KAAK,IAAI,KAAK;AAC/B,QAAI,CAAC,IAAK,OAAM,IAAI,MAAM,kBAAkB,KAAK,EAAE;AACnD,SAAK,KAAK,KAAK,KAAK;AACpB,UAAM,IAAI,QAAQ;AAAA,EACpB;AAAA,EAEA,WAA2B;AACzB,WAAO,CAAC,GAAG,KAAK,KAAK,OAAO,CAAC;AAAA,EAC/B;AACF;;;AC5BA,OAAO,UAAkC;AAGlC,IAAM,oBAAN,MAA6C;AAAA,EAC1C,OAAO,oBAAI,IAA0B;AAAA,EACrC,QAAQ,oBAAI,IAA2B;AAAA,EAE/C,SAAS,KAAyB;AAChC,SAAK,KAAK,IAAI,IAAI,IAAI,GAAG;AAAA,EAC3B;AAAA,EAEA,MAAM,QAAuB;AAC3B,eAAW,OAAO,KAAK,KAAK,OAAO,GAAG;AACpC,UAAI,KAAK,MAAM,IAAI,IAAI,EAAE,EAAG;AAC5B,YAAM,OAAO,KAAK,SAAS,IAAI,MAAM,MAAM;AACzC,aAAK,IAAI,QAAQ;AAAA,MACnB,CAAC;AACD,WAAK,MAAM,IAAI,IAAI,IAAI,IAAI;AAAA,IAC7B;AAAA,EACF;AAAA,EAEA,MAAM,OAAsB;AAC1B,eAAW,QAAQ,KAAK,MAAM,OAAO,GAAG;AACtC,WAAK,KAAK;AAAA,IACZ;AACA,SAAK,MAAM,MAAM;AAAA,EACnB;AACF;;;ACrBA,SAAS,uBAAuB;AAWzB,SAAS,qBACd,WACA,SACM;AACN,YAAU,SAAS;AAAA,IACjB,IAAI,QAAQ,MAAM;AAAA,IAClB,MAAM,QAAQ,QAAQ;AAAA,IACtB,SAAS,YAAY;AACnB,YAAM,QAAQ,MAAM,QAAQ,SAAS;AACrC,YAAM,gBAAgB,QAAQ,YAAY,QAAQ,OAAO,KAAK;AAAA,IAChE;AAAA,EACF,CAAC;AACH;AAEA,eAAsB,gBACpB,WACA,QAAQ,kBACO;AACf,QAAM,UAAU,IAAI,KAAK;AAC3B;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rankmyseo/scheduler",
3
- "version": "0.1.1",
3
+ "version": "1.0.0",
4
4
  "type": "module",
5
5
  "description": "RankMySEO scheduler adapters (node-cron, manual)",
6
6
  "license": "Apache-2.0",
@@ -39,8 +39,7 @@
39
39
  ],
40
40
  "dependencies": {
41
41
  "node-cron": "^4.2.1",
42
- "server-only": "^0.0.1",
43
- "@rankmyseo/core": "0.1.1"
42
+ "@rankmyseo/core": "1.0.0"
44
43
  },
45
44
  "devDependencies": {
46
45
  "@types/node-cron": "^3.0.11",