@balena/pinejs 23.3.1-build-improve-typing-6c07622ba5fd73ea9f75c11982708b3c0e75de69-1 → 23.3.1-build-await-task-start-72849366be1174a267b53e247243c61031212557-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.
@@ -1,7 +1,22 @@
1
1
  - commits:
2
- - subject: Improve typing of `setup` functions
3
- hash: 6c07622ba5fd73ea9f75c11982708b3c0e75de69
4
- body: ""
2
+ - subject: Ensure starting the tasks worker succeeds as expected or throws
3
+ hash: 72849366be1174a267b53e247243c61031212557
4
+ body: |
5
+ This avoids potentially weird behavior if starting the task worker
6
+ fails but we silently ignored that failure and so they aren't actually
7
+ being run
8
+ footer:
9
+ Change-type: patch
10
+ change-type: patch
11
+ author: Pagan Gazzard
12
+ nested: []
13
+ - subject: Move responsibility for initializing webresource tasks to the
14
+ webresource code
15
+ hash: 0cef49b2b18abff2e48228d7cee12f13efbe83b6
16
+ body: |
17
+ This makes far more sense as the tasks code shouldn't need to know
18
+ about who is using it and should only be responsible for providing the
19
+ framework for them to use
5
20
  footer:
6
21
  Change-type: patch
7
22
  change-type: patch
@@ -9,7 +24,7 @@
9
24
  nested: []
10
25
  version: 23.3.1
11
26
  title: ""
12
- date: 2026-01-13T18:25:05.051Z
27
+ date: 2026-01-13T18:26:01.659Z
13
28
  - commits:
14
29
  - subject: Add support for adjusting the task queue interval after initialization
15
30
  hash: 799c389b4566ee8e724364c99b733f210f940529
package/CHANGELOG.md CHANGED
@@ -7,7 +7,8 @@ This project adheres to [Semantic Versioning](http://semver.org/).
7
7
  # v23.3.1
8
8
  ## (2026-01-13)
9
9
 
10
- * Improve typing of `setup` functions [Pagan Gazzard]
10
+ * Ensure starting the tasks worker succeeds as expected or throws [Pagan Gazzard]
11
+ * Move responsibility for initializing webresource tasks to the webresource code [Pagan Gazzard]
11
12
 
12
13
  # v23.3.0
13
14
  ## (2026-01-13)
@@ -1 +1 @@
1
- {"version":3,"file":"passport-pinejs.js","sourceRoot":"","sources":["../../src/passport-pinejs/passport-pinejs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"passport-pinejs.js","sourceRoot":"","sources":["../../src/passport-pinejs/passport-pinejs.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,9 @@ declare module '../sbvr-api/sbvr-utils.js' {
12
12
  [apiRoot]: PinejsClient<TasksModel>;
13
13
  }
14
14
  }
15
+ export declare const config: ConfigLoader.Config;
15
16
  export declare let worker: Worker | null;
16
17
  export declare function canExecuteTasks(): boolean;
17
- export declare const setup: ConfigLoader.SetupFunction;
18
- export declare const config: ConfigLoader.Config;
18
+ export declare function setup(): void;
19
19
  export declare function addTaskHandler(name: string, fn: TaskHandler<NonNullable<Task['Read']['is_executed_with__parameter_set']>>['fn'], schema?: undefined): void;
20
20
  export declare function addTaskHandler<T extends Schema>(name: string, fn: TaskHandler<FromSchema<NonNullable<T>>>['fn'], schema: T): void;
@@ -5,7 +5,6 @@ import * as sbvrUtils from '../sbvr-api/sbvr-utils.js';
5
5
  import { ajv, apiRoot } from './common.js';
6
6
  import { Worker } from './worker.js';
7
7
  import { importSBVR } from '../server-glue/sbvr-loader.js';
8
- import { addPineTaskHandlers } from './pine-tasks.js';
9
8
  const modelText = await importSBVR('./tasks.sbvr', import.meta);
10
9
  const initSql = `
11
10
  CREATE INDEX IF NOT EXISTS idx_task_poll ON task USING btree (
@@ -14,11 +13,44 @@ CREATE INDEX IF NOT EXISTS idx_task_poll ON task USING btree (
14
13
  "id" ASC
15
14
  ) WHERE status = 'queued';
16
15
  `;
16
+ export const config = {
17
+ models: [
18
+ {
19
+ modelName: apiRoot,
20
+ apiRoot,
21
+ modelText,
22
+ customServerCode: { setup },
23
+ initSql,
24
+ migrations: {
25
+ '22.0.0-timestamps': async (tx, { db }) => {
26
+ switch (db.engine) {
27
+ case 'postgres':
28
+ await tx.executeSql('DROP INDEX IF EXISTS idx_task_poll;');
29
+ await tx.executeSql(`\
30
+ ALTER TABLE "task"
31
+ ALTER COLUMN "created at" SET DATA TYPE TIMESTAMPTZ USING "created at"::TIMESTAMPTZ,
32
+ ALTER COLUMN "modified at" SET DATA TYPE TIMESTAMPTZ USING "modified at"::TIMESTAMPTZ,
33
+ ALTER COLUMN "ended on-time" SET DATA TYPE TIMESTAMPTZ USING "ended on-time"::TIMESTAMPTZ,
34
+ ALTER COLUMN "is scheduled to execute on-time" SET DATA TYPE TIMESTAMPTZ USING "is scheduled to execute on-time"::TIMESTAMPTZ,
35
+ ALTER COLUMN "started on-time" SET DATA TYPE TIMESTAMPTZ USING "started on-time"::TIMESTAMPTZ;`);
36
+ await tx.executeSql(`\
37
+ CREATE INDEX IF NOT EXISTS idx_task_poll ON task USING btree (
38
+ "is executed by-handler",
39
+ "is scheduled to execute on-time" ASC,
40
+ "id" ASC
41
+ ) WHERE status = 'queued';`);
42
+ break;
43
+ }
44
+ },
45
+ },
46
+ },
47
+ ],
48
+ };
17
49
  export let worker = null;
18
50
  export function canExecuteTasks() {
19
51
  return sbvrUtils.db.engine === 'postgres' && tasksEnv.queueConcurrency > 0;
20
52
  }
21
- export const setup = () => {
53
+ export function setup() {
22
54
  if (sbvrUtils.db.engine !== 'postgres') {
23
55
  console.warn('Skipping task setup as database not supported');
24
56
  return;
@@ -72,41 +104,7 @@ export const setup = () => {
72
104
  }
73
105
  },
74
106
  });
75
- addPineTaskHandlers();
76
- };
77
- export const config = {
78
- models: [
79
- {
80
- modelName: apiRoot,
81
- apiRoot,
82
- modelText,
83
- customServerCode: { setup },
84
- initSql,
85
- migrations: {
86
- '22.0.0-timestamps': async (tx, { db }) => {
87
- switch (db.engine) {
88
- case 'postgres':
89
- await tx.executeSql('DROP INDEX IF EXISTS idx_task_poll;');
90
- await tx.executeSql(`\
91
- ALTER TABLE "task"
92
- ALTER COLUMN "created at" SET DATA TYPE TIMESTAMPTZ USING "created at"::TIMESTAMPTZ,
93
- ALTER COLUMN "modified at" SET DATA TYPE TIMESTAMPTZ USING "modified at"::TIMESTAMPTZ,
94
- ALTER COLUMN "ended on-time" SET DATA TYPE TIMESTAMPTZ USING "ended on-time"::TIMESTAMPTZ,
95
- ALTER COLUMN "is scheduled to execute on-time" SET DATA TYPE TIMESTAMPTZ USING "is scheduled to execute on-time"::TIMESTAMPTZ,
96
- ALTER COLUMN "started on-time" SET DATA TYPE TIMESTAMPTZ USING "started on-time"::TIMESTAMPTZ;`);
97
- await tx.executeSql(`\
98
- CREATE INDEX IF NOT EXISTS idx_task_poll ON task USING btree (
99
- "is executed by-handler",
100
- "is scheduled to execute on-time" ASC,
101
- "id" ASC
102
- ) WHERE status = 'queued';`);
103
- break;
104
- }
105
- },
106
- },
107
- },
108
- ],
109
- };
107
+ }
110
108
  export function addTaskHandler(name, fn, schema) {
111
109
  if (worker == null) {
112
110
  throw new Error('Database does not support tasks');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,12 @@ import { NoopHandler } from './handlers/NoopHandler.js';
7
7
  import { odataNameToSqlName, sqlNameToODataName, } from '@balena/odata-to-abstract-sql';
8
8
  import { errors, permissions } from '../server-glue/module.js';
9
9
  import { TypedError } from 'typed-error';
10
- import { canExecuteTasks } from '../tasks/index.js';
10
+ import { canExecuteTasks, worker as tasksWorker } from '../tasks/index.js';
11
11
  import { importSBVR } from '../server-glue/sbvr-loader.js';
12
12
  import { isMultipartUploadAvailable } from './multipartUpload.js';
13
13
  import { addAction } from '../sbvr-api/actions.js';
14
14
  import { beginUpload, commitUpload, cancelUpload } from './actions/index.js';
15
+ import { addDeleteFileTaskHandler } from './delete-file-task.js';
15
16
  export * from './handlers/index.js';
16
17
  export class WebResourceError extends TypedError {
17
18
  }
@@ -318,12 +319,17 @@ export const setupUploadActions = (vocab, resourceName) => {
318
319
  }
319
320
  };
320
321
  const modelText = await importSBVR('./webresource.sbvr', import.meta);
322
+ const setup = async () => {
323
+ addDeleteFileTaskHandler();
324
+ await tasksWorker?.start();
325
+ };
321
326
  export const config = {
322
327
  models: [
323
328
  {
324
329
  modelName: 'webresource',
325
330
  apiRoot: 'webresource',
326
331
  modelText,
332
+ customServerCode: { setup },
327
333
  migrations: {
328
334
  '22.0.0-timestamps': async (tx, { db }) => {
329
335
  switch (db.engine) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webresource-handler/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webresource-handler/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@balena/pinejs",
3
- "version": "23.3.1-build-improve-typing-6c07622ba5fd73ea9f75c11982708b3c0e75de69-1",
3
+ "version": "23.3.1-build-await-task-start-72849366be1174a267b53e247243c61031212557-1",
4
4
  "main": "out/server-glue/module.js",
5
5
  "type": "module",
6
6
  "repository": "git@github.com:balena-io/pinejs.git",
@@ -148,6 +148,6 @@
148
148
  "recursive": true
149
149
  },
150
150
  "versionist": {
151
- "publishedAt": "2026-01-13T18:25:06.060Z"
151
+ "publishedAt": "2026-01-13T18:26:02.734Z"
152
152
  }
153
153
  }
@@ -33,7 +33,7 @@ export const checkPassword: PassportLocal.VerifyFunction = async (
33
33
  }
34
34
  };
35
35
 
36
- const setup: ConfigLoader.SetupFunction = async (app) => {
36
+ const setup: ConfigLoader.SetupFunction = async (app: Express.Application) => {
37
37
  if (!process.browser) {
38
38
  const { default: passport } = await import('passport');
39
39
  app.use(passport.initialize());
@@ -11,7 +11,6 @@ import type TasksModel from './tasks.js';
11
11
  import type { Task } from './tasks.js';
12
12
  import type { FromSchema } from 'json-schema-to-ts';
13
13
  import { importSBVR } from '../server-glue/sbvr-loader.js';
14
- import { addPineTaskHandlers } from './pine-tasks.js';
15
14
 
16
15
  export type * from './tasks.js';
17
16
 
@@ -32,14 +31,48 @@ declare module '../sbvr-api/sbvr-utils.js' {
32
31
  }
33
32
  }
34
33
 
34
+ export const config: ConfigLoader.Config = {
35
+ models: [
36
+ {
37
+ modelName: apiRoot,
38
+ apiRoot,
39
+ modelText,
40
+ customServerCode: { setup },
41
+ initSql,
42
+ migrations: {
43
+ '22.0.0-timestamps': async (tx, { db }) => {
44
+ switch (db.engine) {
45
+ // No need to migrate anything other than postgres
46
+ case 'postgres':
47
+ await tx.executeSql('DROP INDEX IF EXISTS idx_task_poll;');
48
+ await tx.executeSql(`\
49
+ ALTER TABLE "task"
50
+ ALTER COLUMN "created at" SET DATA TYPE TIMESTAMPTZ USING "created at"::TIMESTAMPTZ,
51
+ ALTER COLUMN "modified at" SET DATA TYPE TIMESTAMPTZ USING "modified at"::TIMESTAMPTZ,
52
+ ALTER COLUMN "ended on-time" SET DATA TYPE TIMESTAMPTZ USING "ended on-time"::TIMESTAMPTZ,
53
+ ALTER COLUMN "is scheduled to execute on-time" SET DATA TYPE TIMESTAMPTZ USING "is scheduled to execute on-time"::TIMESTAMPTZ,
54
+ ALTER COLUMN "started on-time" SET DATA TYPE TIMESTAMPTZ USING "started on-time"::TIMESTAMPTZ;`);
55
+ await tx.executeSql(`\
56
+ CREATE INDEX IF NOT EXISTS idx_task_poll ON task USING btree (
57
+ "is executed by-handler",
58
+ "is scheduled to execute on-time" ASC,
59
+ "id" ASC
60
+ ) WHERE status = 'queued';`);
61
+ break;
62
+ }
63
+ },
64
+ },
65
+ },
66
+ ],
67
+ };
68
+
35
69
  export let worker: Worker | null = null;
36
70
 
37
71
  export function canExecuteTasks() {
38
72
  return sbvrUtils.db.engine === 'postgres' && tasksEnv.queueConcurrency > 0;
39
73
  }
40
74
 
41
- // TODO-Major: stop exporting this
42
- export const setup: ConfigLoader.SetupFunction = () => {
75
+ export function setup(): void {
43
76
  // Async task functionality is only supported on Postgres
44
77
  if (sbvrUtils.db.engine !== 'postgres') {
45
78
  console.warn('Skipping task setup as database not supported');
@@ -125,44 +158,7 @@ export const setup: ConfigLoader.SetupFunction = () => {
125
158
  }
126
159
  },
127
160
  });
128
-
129
- addPineTaskHandlers();
130
- };
131
-
132
- export const config: ConfigLoader.Config = {
133
- models: [
134
- {
135
- modelName: apiRoot,
136
- apiRoot,
137
- modelText,
138
- customServerCode: { setup },
139
- initSql,
140
- migrations: {
141
- '22.0.0-timestamps': async (tx, { db }) => {
142
- switch (db.engine) {
143
- // No need to migrate anything other than postgres
144
- case 'postgres':
145
- await tx.executeSql('DROP INDEX IF EXISTS idx_task_poll;');
146
- await tx.executeSql(`\
147
- ALTER TABLE "task"
148
- ALTER COLUMN "created at" SET DATA TYPE TIMESTAMPTZ USING "created at"::TIMESTAMPTZ,
149
- ALTER COLUMN "modified at" SET DATA TYPE TIMESTAMPTZ USING "modified at"::TIMESTAMPTZ,
150
- ALTER COLUMN "ended on-time" SET DATA TYPE TIMESTAMPTZ USING "ended on-time"::TIMESTAMPTZ,
151
- ALTER COLUMN "is scheduled to execute on-time" SET DATA TYPE TIMESTAMPTZ USING "is scheduled to execute on-time"::TIMESTAMPTZ,
152
- ALTER COLUMN "started on-time" SET DATA TYPE TIMESTAMPTZ USING "started on-time"::TIMESTAMPTZ;`);
153
- await tx.executeSql(`\
154
- CREATE INDEX IF NOT EXISTS idx_task_poll ON task USING btree (
155
- "is executed by-handler",
156
- "is scheduled to execute on-time" ASC,
157
- "id" ASC
158
- ) WHERE status = 'queued';`);
159
- break;
160
- }
161
- },
162
- },
163
- },
164
- ],
165
- };
161
+ }
166
162
 
167
163
  // Register a task handler
168
164
  export function addTaskHandler(
@@ -16,12 +16,13 @@ import { errors, permissions } from '../server-glue/module.js';
16
16
  import type { WebResourceType as WebResource } from '@balena/sbvr-types';
17
17
  import { TypedError } from 'typed-error';
18
18
  import type { Resolvable } from '../sbvr-api/common-types.js';
19
- import { canExecuteTasks } from '../tasks/index.js';
19
+ import { canExecuteTasks, worker as tasksWorker } from '../tasks/index.js';
20
20
  import { importSBVR } from '../server-glue/sbvr-loader.js';
21
21
  import type WebresourceModel from './webresource.js';
22
22
  import { isMultipartUploadAvailable } from './multipartUpload.js';
23
23
  import { addAction } from '../sbvr-api/actions.js';
24
24
  import { beginUpload, commitUpload, cancelUpload } from './actions/index.js';
25
+ import { addDeleteFileTaskHandler } from './delete-file-task.js';
25
26
 
26
27
  export * from './handlers/index.js';
27
28
 
@@ -584,12 +585,18 @@ declare module '../sbvr-api/sbvr-utils.js' {
584
585
  }
585
586
  }
586
587
 
588
+ const setup: ConfigLoader.SetupFunction = async () => {
589
+ addDeleteFileTaskHandler();
590
+ await tasksWorker?.start();
591
+ };
592
+
587
593
  export const config: ConfigLoader.Config = {
588
594
  models: [
589
595
  {
590
596
  modelName: 'webresource',
591
597
  apiRoot: 'webresource',
592
598
  modelText,
599
+ customServerCode: { setup },
593
600
  migrations: {
594
601
  '22.0.0-timestamps': async (tx, { db }) => {
595
602
  switch (db.engine) {
@@ -1 +0,0 @@
1
- export declare const addPineTaskHandlers: () => void;
@@ -1,7 +0,0 @@
1
- import { tasks } from '../server-glue/module.js';
2
- import { addDeleteFileTaskHandler } from '../webresource-handler/delete-file-task.js';
3
- export const addPineTaskHandlers = () => {
4
- addDeleteFileTaskHandler();
5
- void tasks.worker?.start();
6
- };
7
- //# sourceMappingURL=pine-tasks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pine-tasks.js","sourceRoot":"","sources":["../../src/tasks/pine-tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAEtF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACvC,wBAAwB,EAAE,CAAC;IAC3B,KAAK,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { tasks } from '../server-glue/module.js';
2
- import { addDeleteFileTaskHandler } from '../webresource-handler/delete-file-task.js';
3
-
4
- export const addPineTaskHandlers = () => {
5
- addDeleteFileTaskHandler();
6
- void tasks.worker?.start();
7
- };