@researchdatabox/redbox-core 0.0.1-beta.9873 → 0.0.1-beta.9950
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/config/reusableContributorFormDefinitions.config.d.ts +1 -1
- package/dist/config/reusableContributorFormDefinitions.config.d.ts.map +1 -1
- package/dist/config/reusableContributorFormDefinitions.config.js +298 -199
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/loader/MigrationRunner.d.ts +19 -0
- package/dist/loader/MigrationRunner.d.ts.map +1 -0
- package/dist/loader/MigrationRunner.js +108 -0
- package/dist/loader/bootstrapShimRuntime.d.ts +2 -1
- package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
- package/dist/loader/bootstrapShimRuntime.js +7 -2
- package/dist/loader/index.d.ts +9 -0
- package/dist/loader/index.d.ts.map +1 -1
- package/dist/loader/index.js +100 -3
- package/dist/services/TemplateService.d.ts +2 -2
- package/dist/services/TemplateService.d.ts.map +1 -1
- package/dist/services/TemplateService.js +4 -4
- package/dist/visitor/construct.visitor.d.ts.map +1 -1
- package/dist/visitor/construct.visitor.js +2 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.js +45 -46
- package/dist/visitor/template.visitor.d.ts +2 -2
- package/dist/visitor/template.visitor.d.ts.map +1 -1
- package/dist/visitor/template.visitor.js +22 -3
- package/dist/waterline-models/Migration.d.ts +24 -0
- package/dist/waterline-models/Migration.d.ts.map +1 -0
- package/dist/waterline-models/Migration.js +52 -0
- package/dist/waterline-models/index.d.ts +2 -0
- package/dist/waterline-models/index.d.ts.map +1 -1
- package/dist/waterline-models/index.js +4 -1
- package/package.json +9 -8
- package/redbox-loader-templates/bootstrap-shim.js.hbs +14 -1
package/dist/index.d.ts
CHANGED
|
@@ -41,9 +41,10 @@ export * from './config';
|
|
|
41
41
|
export { Config, SailsConfig } from './config';
|
|
42
42
|
export { coreBootstrap, preLiftSetup, BootstrapProvider } from './bootstrap';
|
|
43
43
|
export { generateAllShims } from './loader/index';
|
|
44
|
-
export type { LoaderOptions, GenerateAllShimsResult } from './loader/index';
|
|
44
|
+
export type { LoaderOptions, GenerateAllShimsResult, RedboxMigration } from './loader/index';
|
|
45
45
|
export { createGeneratedBootstrap } from './loader/bootstrapShimRuntime';
|
|
46
46
|
export type { GeneratedHookBootstrap } from './loader/bootstrapShimRuntime';
|
|
47
|
+
export { runPendingMigrations } from './loader/MigrationRunner';
|
|
47
48
|
export * from './shims';
|
|
48
49
|
export * from './hooks';
|
|
49
50
|
export { ServiceExports } from './services';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAC;AAEjB,OAAO,EACH,UAAU,EACb,MACQ,cAAc,CAAC;AACxB,OAAO,EACH,WAAW,EACd,MACQ,kBAAkB,CAAC;AAC5B,OAAO,EACH,QAAQ,EACX,MACQ,eAAe,CAAC;AACzB,OAAO,EACH,UAAU,EACb,MACQ,cAAc,CAAC;AACxB,OAAO,EACH,sBAAsB,EACzB,MACQ,0BAA0B,CAAC;AACpC,OAAO,EACH,yBAAyB,EAC5B,MACQ,6BAA6B,CAAC;AAEvC,OAAO,EACH,iBAAiB,EACpB,MACQ,qBAAqB,CAAC;AAC/B,OAAO,EACH,YAAY,EACf,MACQ,gBAAgB,CAAC;AAC1B,OAAO,EACH,cAAc,EACjB,MACQ,kBAAkB,CAAC;AAC5B,OAAO,EACH,iBAAiB,EACpB,MACQ,qBAAqB,CAAC;AAC/B,YAAY,EACR,+BAA+B,EAC/B,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,GAC1B,MACQ,kBAAkB,CAAC;AAC5B,OAAO,EACH,aAAa,EAChB,MACQ,iBAAiB,CAAC;AAC3B,OAAO,EACH,cAAc,EACjB,MACQ,kBAAkB,CAAC;AAC5B,OAAO,EACH,iBAAiB,EACpB,MACQ,qBAAqB,CAAC;AAC/B,OAAO,EACH,sBAAsB,EACzB,MACQ,0BAA0B,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,OAAO,EACH,OAAO,EACV,MACQ,UAAU,CAAC;AAEpB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,cAAc,sCAAsC,CAAC;AAErD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,uBAAuB,EACvB,qBAAqB,EACrB,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,8BAA8B,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,CAAC;AAGrB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAC;AAEjB,OAAO,EACH,UAAU,EACb,MACQ,cAAc,CAAC;AACxB,OAAO,EACH,WAAW,EACd,MACQ,kBAAkB,CAAC;AAC5B,OAAO,EACH,QAAQ,EACX,MACQ,eAAe,CAAC;AACzB,OAAO,EACH,UAAU,EACb,MACQ,cAAc,CAAC;AACxB,OAAO,EACH,sBAAsB,EACzB,MACQ,0BAA0B,CAAC;AACpC,OAAO,EACH,yBAAyB,EAC5B,MACQ,6BAA6B,CAAC;AAEvC,OAAO,EACH,iBAAiB,EACpB,MACQ,qBAAqB,CAAC;AAC/B,OAAO,EACH,YAAY,EACf,MACQ,gBAAgB,CAAC;AAC1B,OAAO,EACH,cAAc,EACjB,MACQ,kBAAkB,CAAC;AAC5B,OAAO,EACH,iBAAiB,EACpB,MACQ,qBAAqB,CAAC;AAC/B,YAAY,EACR,+BAA+B,EAC/B,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,GAC1B,MACQ,kBAAkB,CAAC;AAC5B,OAAO,EACH,aAAa,EAChB,MACQ,iBAAiB,CAAC;AAC3B,OAAO,EACH,cAAc,EACjB,MACQ,kBAAkB,CAAC;AAC5B,OAAO,EACH,iBAAiB,EACpB,MACQ,qBAAqB,CAAC;AAC/B,OAAO,EACH,sBAAsB,EACzB,MACQ,0BAA0B,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,OAAO,EACH,OAAO,EACV,MACQ,UAAU,CAAC;AAEpB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,cAAc,sCAAsC,CAAC;AAErD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,uBAAuB,EACvB,qBAAqB,EACrB,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AACtC,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,8BAA8B,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,CAAC;AAGrB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC3H,cAAc,eAAe,CAAC;AAG9B,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AACvD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -36,7 +36,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
36
36
|
};
|
|
37
37
|
})();
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.WebserviceControllerNames = exports.ControllerNames = exports.WebserviceControllerExports = exports.ControllerExports = exports.ServiceExports = exports.createGeneratedBootstrap = exports.generateAllShims = exports.preLiftSetup = exports.coreBootstrap = exports.Config = exports.Responses = exports.Middleware = exports.FormConfigExports = exports.Policies = exports.toDoiPublishingFormModel = exports.resolveDoiConnectionPassword = exports.fromDoiPublishingFormModel = exports.createDefaultBinding = exports.DOI_PUBLISHING_SCHEMA = exports.DoiPublishing = exports.WaterlineModels = exports.IntegrationAuditParams = exports.RecordAuditParams = exports.DatastreamServiceResponse = exports.StorageServiceResponse = exports.Datastream = exports.Services = exports.Controllers = exports.Attachment = void 0;
|
|
39
|
+
exports.WebserviceControllerNames = exports.ControllerNames = exports.WebserviceControllerExports = exports.ControllerExports = exports.ServiceExports = exports.runPendingMigrations = exports.createGeneratedBootstrap = exports.generateAllShims = exports.preLiftSetup = exports.coreBootstrap = exports.Config = exports.Responses = exports.Middleware = exports.FormConfigExports = exports.Policies = exports.toDoiPublishingFormModel = exports.resolveDoiConnectionPassword = exports.fromDoiPublishingFormModel = exports.createDefaultBinding = exports.DOI_PUBLISHING_SCHEMA = exports.DoiPublishing = exports.WaterlineModels = exports.IntegrationAuditParams = exports.RecordAuditParams = exports.DatastreamServiceResponse = exports.StorageServiceResponse = exports.Datastream = exports.Services = exports.Controllers = exports.Attachment = void 0;
|
|
40
40
|
require("./sails");
|
|
41
41
|
var Attachment_1 = require("./Attachment");
|
|
42
42
|
Object.defineProperty(exports, "Attachment", { enumerable: true, get: function () { return Attachment_1.Attachment; } });
|
|
@@ -96,6 +96,8 @@ var index_1 = require("./loader/index");
|
|
|
96
96
|
Object.defineProperty(exports, "generateAllShims", { enumerable: true, get: function () { return index_1.generateAllShims; } });
|
|
97
97
|
var bootstrapShimRuntime_1 = require("./loader/bootstrapShimRuntime");
|
|
98
98
|
Object.defineProperty(exports, "createGeneratedBootstrap", { enumerable: true, get: function () { return bootstrapShimRuntime_1.createGeneratedBootstrap; } });
|
|
99
|
+
var MigrationRunner_1 = require("./loader/MigrationRunner");
|
|
100
|
+
Object.defineProperty(exports, "runPendingMigrations", { enumerable: true, get: function () { return MigrationRunner_1.runPendingMigrations; } });
|
|
99
101
|
// Shims for backward compatibility
|
|
100
102
|
__exportStar(require("./shims"), exports);
|
|
101
103
|
// Sails hooks
|
|
@@ -125,4 +127,4 @@ __exportStar(require("./visitor/vocab-inline.visitor"), exports);
|
|
|
125
127
|
__exportStar(require("./utilities/ContextVariableUtils"), exports);
|
|
126
128
|
__exportStar(require("./visitor/visitor-helpers"), exports);
|
|
127
129
|
__exportStar(require("./api-routes"), exports);
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbUJBQWlCO0FBRWpCLDJDQUd3QjtBQUZwQix3R0FBQSxVQUFVLE9BQUE7QUFHZCxtREFHNEI7QUFGeEIsNkdBQUEsV0FBVyxPQUFBO0FBR2YsNkNBR3lCO0FBRnJCLHVHQUFBLFFBQVEsT0FBQTtBQUdaLDJDQUd3QjtBQUZwQix3R0FBQSxVQUFVLE9BQUE7QUFHZCxtRUFHb0M7QUFGaEMsZ0lBQUEsc0JBQXNCLE9BQUE7QUFHMUIseUVBR3VDO0FBRm5DLHNJQUFBLHlCQUF5QixPQUFBO0FBcUM3Qix5REFHK0I7QUFGM0Isc0hBQUEsaUJBQWlCLE9BQUE7QUFHckIsbUVBR29DO0FBRmhDLGdJQUFBLHNCQUFzQixPQUFBO0FBRzFCLGtFQUFnRDtBQU1oRCwwQ0FBd0I7QUFDeEIsOENBQTRCO0FBQzVCLCtDQUE2QjtBQUU3Qix1REFBcUQ7QUFBNUMsbUhBQUEsZUFBZSxPQUFBO0FBQ3hCLHVFQUFxRDtBQUVyRCw4REFBNEM7QUFDNUMsNERBQTBDO0FBQzFDLGlFQUErQztBQUMvQyxvRUFBa0Q7QUFDbEQsb0VBQWtEO0FBQ2xELDhEQU9zQztBQU5wQyw4R0FBQSxhQUFhLE9BQUE7QUFDYixzSEFBQSxxQkFBcUIsT0FBQTtBQUNyQixxSEFBQSxvQkFBb0IsT0FBQTtBQUNwQiwySEFBQSwwQkFBMEIsT0FBQTtBQUMxQiw2SEFBQSw0QkFBNEIsT0FBQTtBQUM1Qix5SEFBQSx3QkFBd0IsT0FBQTtBQW9CMUIscUVBQW1EO0FBQ25ELHlFQUF1RDtBQUN2RCwrREFBNkM7QUFFN0MsdUNBQXNDO0FBQTdCLG9HQUFBLFFBQVEsT0FBQTtBQUVqQiw2Q0FBa0Q7QUFBekMsZ0hBQUEsaUJBQWlCLE9BQUE7QUFFMUIsdUVBQXlEO0FBQ2hELGdDQUFVO0FBRW5CLHVEQUF5QztBQUNoQyw4QkFBUztBQUVsQixrQ0FBa0M7QUFDbEMsMkNBQXlCO0FBQ3pCLG1DQUErQztBQUF0QyxnR0FBQSxNQUFNLE9BQUE7QUFFZixzQkFBc0I7QUFDdEIseUNBQTZFO0FBQXBFLDBHQUFBLGFBQWEsT0FBQTtBQUFFLHlHQUFBLFlBQVksT0FBQTtBQUNwQyx3Q0FBa0Q7QUFBekMseUdBQUEsZ0JBQWdCLE9BQUE7QUFFekIsc0VBQXlFO0FBQWhFLGdJQUFBLHdCQUF3QixPQUFBO0FBRWpDLDREQUFnRTtBQUF2RCx1SEFBQSxvQkFBb0IsT0FBQTtBQUU3QixtQ0FBbUM7QUFDbkMsMENBQXdCO0FBRXhCLGNBQWM7QUFDZCwwQ0FBd0I7QUFFeEIsV0FBVztBQUNYLHVDQUE0QztBQUFuQywwR0FBQSxjQUFjLE9BQUE7QUFDdkIsNkNBQTJCO0FBRTNCLGNBQWM7QUFDZCw2Q0FBMkg7QUFBbEgsZ0hBQUEsaUJBQWlCLE9BQUE7QUFBRSwwSEFBQSwyQkFBMkIsT0FBQTtBQUFFLDhHQUFBLGVBQWUsT0FBQTtBQUFFLHdIQUFBLHlCQUF5QixPQUFBO0FBQ25HLGdEQUE4QjtBQUU5QixXQUFXO0FBQ1gsc0VBQW9EO0FBQ3BELDJEQUF5QztBQUN6Qyw4REFBNEM7QUFDNUMsc0VBQW9EO0FBQ3BELCtEQUE2QztBQUM3QyxrRUFBZ0Q7QUFDaEQseUVBQXVEO0FBQ3ZELDZEQUEyQztBQUMzQyw4REFBNEM7QUFDNUMsaUVBQStDO0FBQy9DLG1FQUFpRDtBQUNqRCw0REFBMEM7QUFDMUMsK0NBQTZCIn0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type RunnableMigration } from 'umzug';
|
|
2
|
+
export interface RedboxMigration {
|
|
3
|
+
name: string;
|
|
4
|
+
source?: string;
|
|
5
|
+
up: (params?: {
|
|
6
|
+
context: typeof sails;
|
|
7
|
+
}) => Promise<void>;
|
|
8
|
+
down?: (params?: {
|
|
9
|
+
context: typeof sails;
|
|
10
|
+
}) => Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Maps Redbox migrations onto Umzug's RunnableMigration shape. The optional `down`
|
|
14
|
+
* handler is forwarded verbatim so operators can perform manual rollbacks via Umzug;
|
|
15
|
+
* see the Data Migrations wiki for the rollback contract and its caveats.
|
|
16
|
+
*/
|
|
17
|
+
export declare function toRunnableMigrations(migrations: RedboxMigration[]): RunnableMigration<typeof sails>[];
|
|
18
|
+
export declare function runPendingMigrations(migrations: RedboxMigration[]): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=MigrationRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MigrationRunner.d.ts","sourceRoot":"","sources":["../../src/loader/MigrationRunner.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6B,KAAK,iBAAiB,EAAqB,MAAM,OAAO,CAAC;AAE7F,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,KAAK,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,KAAK,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AA6ED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,iBAAiB,CAAC,OAAO,KAAK,CAAC,EAAE,CAMrG;AAED,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CvF"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.toRunnableMigrations = toRunnableMigrations;
|
|
7
|
+
exports.runPendingMigrations = runPendingMigrations;
|
|
8
|
+
const fs_1 = require("fs");
|
|
9
|
+
const os_1 = __importDefault(require("os"));
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const umzug_1 = require("umzug");
|
|
12
|
+
async function readAppVersion() {
|
|
13
|
+
try {
|
|
14
|
+
const appPath = sails.config?.appPath || process.cwd();
|
|
15
|
+
const packageJson = JSON.parse(await fs_1.promises.readFile(path_1.default.join(appPath, 'package.json'), 'utf8'));
|
|
16
|
+
return packageJson.version;
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function getMigrationModel() {
|
|
23
|
+
const migrationModel = sails.models?.migration;
|
|
24
|
+
if (!migrationModel) {
|
|
25
|
+
throw new Error('Migration model is not available. Regenerate shims so api/models/Migration.js exists.');
|
|
26
|
+
}
|
|
27
|
+
return migrationModel;
|
|
28
|
+
}
|
|
29
|
+
function createMigrationStorage(migrationModel, migrationsByName, appVersion, startTimes) {
|
|
30
|
+
return {
|
|
31
|
+
async executed() {
|
|
32
|
+
const rows = await migrationModel.find().sort('ranAt ASC');
|
|
33
|
+
return rows.map(row => row.name);
|
|
34
|
+
},
|
|
35
|
+
async logMigration({ name }) {
|
|
36
|
+
const migration = migrationsByName.get(name);
|
|
37
|
+
const startedAt = startTimes.get(name);
|
|
38
|
+
await migrationModel.create({
|
|
39
|
+
name,
|
|
40
|
+
source: migration?.source,
|
|
41
|
+
appVersion,
|
|
42
|
+
ranAt: Date.now(),
|
|
43
|
+
...(startedAt === undefined ? {} : { durationMs: Date.now() - startedAt }),
|
|
44
|
+
executedBy: os_1.default.hostname(),
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
async unlogMigration({ name }) {
|
|
48
|
+
await migrationModel.destroy({ name });
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function createLogger() {
|
|
53
|
+
return {
|
|
54
|
+
debug: message => sails.log.verbose(message),
|
|
55
|
+
info: message => sails.log.info(message),
|
|
56
|
+
warn: message => sails.log.warn(message),
|
|
57
|
+
error: message => sails.log.error(message),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Maps Redbox migrations onto Umzug's RunnableMigration shape. The optional `down`
|
|
62
|
+
* handler is forwarded verbatim so operators can perform manual rollbacks via Umzug;
|
|
63
|
+
* see the Data Migrations wiki for the rollback contract and its caveats.
|
|
64
|
+
*/
|
|
65
|
+
function toRunnableMigrations(migrations) {
|
|
66
|
+
return migrations.map(migration => ({
|
|
67
|
+
name: migration.name,
|
|
68
|
+
up: migration.up,
|
|
69
|
+
down: migration.down,
|
|
70
|
+
}));
|
|
71
|
+
}
|
|
72
|
+
async function runPendingMigrations(migrations) {
|
|
73
|
+
if (migrations.length === 0) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (process.env.REDBOX_SKIP_MIGRATIONS === 'true') {
|
|
77
|
+
sails.log.warn(`REDBOX_SKIP_MIGRATIONS=true – skipping ${migrations.length} registered data migration(s). ` +
|
|
78
|
+
'Skipped migrations remain pending and will run on the next lift without this flag.');
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const orderedMigrations = [...migrations].sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0));
|
|
82
|
+
const migrationsByName = new Map(orderedMigrations.map(migration => [migration.name, migration]));
|
|
83
|
+
const migrationModel = getMigrationModel();
|
|
84
|
+
const appVersion = await readAppVersion();
|
|
85
|
+
const startTimes = new Map();
|
|
86
|
+
const storage = createMigrationStorage(migrationModel, migrationsByName, appVersion, startTimes);
|
|
87
|
+
const umzugMigrations = toRunnableMigrations(orderedMigrations).map(migration => ({
|
|
88
|
+
...migration,
|
|
89
|
+
up: async (params) => {
|
|
90
|
+
startTimes.set(migration.name, Date.now());
|
|
91
|
+
return migration.up(params);
|
|
92
|
+
},
|
|
93
|
+
}));
|
|
94
|
+
const umzug = new umzug_1.Umzug({
|
|
95
|
+
migrations: umzugMigrations,
|
|
96
|
+
context: sails,
|
|
97
|
+
storage,
|
|
98
|
+
logger: createLogger(),
|
|
99
|
+
});
|
|
100
|
+
const pending = await umzug.pending();
|
|
101
|
+
if (pending.length === 0) {
|
|
102
|
+
sails.log.info('Data migrations: 0 pending.');
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
sails.log.info(`Data migrations: ${pending.length} pending: ${pending.map(migration => migration.name).join(', ')}`);
|
|
106
|
+
await umzug.up();
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uUnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvYWRlci9NaWdyYXRpb25SdW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUE0RkEsb0RBTUM7QUFFRCxvREEyQ0M7QUEvSUQsMkJBQW9DO0FBQ3BDLDRDQUFvQjtBQUNwQixnREFBd0I7QUFDeEIsaUNBQTZGO0FBMEI3RixLQUFLLFVBQVUsY0FBYztJQUN6QixJQUFJLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBSSxLQUFLLENBQUMsTUFBMkMsRUFBRSxPQUFPLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzdGLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxhQUFFLENBQUMsUUFBUSxDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUF5QixDQUFDO1FBQ3RILE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ0wsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLGlCQUFpQjtJQUN0QixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLFNBQXVDLENBQUM7SUFDN0UsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUZBQXVGLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBQ0QsT0FBTyxjQUFjLENBQUM7QUFDMUIsQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQzNCLGNBQThCLEVBQzlCLGdCQUE4QyxFQUM5QyxVQUE4QixFQUM5QixVQUErQjtJQUUvQixPQUFPO1FBQ0gsS0FBSyxDQUFDLFFBQVE7WUFDVixNQUFNLElBQUksR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FB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
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import type { RedboxMigration } from './MigrationRunner';
|
|
1
2
|
export interface GeneratedHookBootstrap {
|
|
2
3
|
name: string;
|
|
3
4
|
bootstrap: () => Promise<void>;
|
|
4
5
|
}
|
|
5
6
|
type BootstrapCallback = (error?: unknown) => void;
|
|
6
|
-
export declare function createGeneratedBootstrap(preLiftSetup: () => void, coreBootstrap: () => Promise<void>, hookBootstraps: GeneratedHookBootstrap[]): (cb: BootstrapCallback) => void;
|
|
7
|
+
export declare function createGeneratedBootstrap(preLiftSetup: () => void, coreBootstrap: () => Promise<void>, hookBootstraps: GeneratedHookBootstrap[], migrations?: RedboxMigration[]): (cb: BootstrapCallback) => void;
|
|
7
8
|
export {};
|
|
8
9
|
//# sourceMappingURL=bootstrapShimRuntime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrapShimRuntime.d.ts","sourceRoot":"","sources":["../../src/loader/bootstrapShimRuntime.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC;AAED,KAAK,iBAAiB,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAsDnD,wBAAgB,wBAAwB,CACpC,YAAY,EAAE,MAAM,IAAI,EACxB,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAClC,cAAc,EAAE,sBAAsB,EAAE,
|
|
1
|
+
{"version":3,"file":"bootstrapShimRuntime.d.ts","sourceRoot":"","sources":["../../src/loader/bootstrapShimRuntime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC;AAED,KAAK,iBAAiB,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAsDnD,wBAAgB,wBAAwB,CACpC,YAAY,EAAE,MAAM,IAAI,EACxB,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAClC,cAAc,EAAE,sBAAsB,EAAE,EACxC,UAAU,GAAE,eAAe,EAAO,GACnC,CAAC,EAAE,EAAE,iBAAiB,KAAK,IAAI,CAgCjC"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.createGeneratedBootstrap = createGeneratedBootstrap;
|
|
7
7
|
const fs_1 = require("fs");
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const MigrationRunner_1 = require("./MigrationRunner");
|
|
9
10
|
function serializeConfig(value, seen = new WeakSet()) {
|
|
10
11
|
if (value === null || value === undefined) {
|
|
11
12
|
return value;
|
|
@@ -54,7 +55,7 @@ async function exportPostBootstrapSnapshot() {
|
|
|
54
55
|
sails.log.warn(`Failed to export config snapshot to ${snapshotPath}: ${message}`);
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
|
-
function createGeneratedBootstrap(preLiftSetup, coreBootstrap, hookBootstraps) {
|
|
58
|
+
function createGeneratedBootstrap(preLiftSetup, coreBootstrap, hookBootstraps, migrations = []) {
|
|
58
59
|
return function bootstrap(cb) {
|
|
59
60
|
try {
|
|
60
61
|
preLiftSetup();
|
|
@@ -64,6 +65,10 @@ function createGeneratedBootstrap(preLiftSetup, coreBootstrap, hookBootstraps) {
|
|
|
64
65
|
return;
|
|
65
66
|
}
|
|
66
67
|
(async () => {
|
|
68
|
+
if (migrations.length > 0) {
|
|
69
|
+
await (0, MigrationRunner_1.runPendingMigrations)(migrations);
|
|
70
|
+
sails.log.verbose('Data migrations complete.');
|
|
71
|
+
}
|
|
67
72
|
await coreBootstrap();
|
|
68
73
|
sails.log.verbose('Core bootstrap complete.');
|
|
69
74
|
for (const hookBootstrap of hookBootstraps) {
|
|
@@ -80,4 +85,4 @@ function createGeneratedBootstrap(preLiftSetup, coreBootstrap, hookBootstraps) {
|
|
|
80
85
|
});
|
|
81
86
|
};
|
|
82
87
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwU2hpbVJ1bnRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9hZGVyL2Jvb3RzdHJhcFNoaW1SdW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBZ0VBLDREQXFDQztBQXJHRCwyQkFBb0M7QUFDcEMsZ0RBQXdCO0FBQ3hCLHVEQUF5RDtBQVV6RCxTQUFTLGVBQWUsQ0FBQyxLQUFjLEVBQUUsT0FBTyxJQUFJLE9BQU8sRUFBVTtJQUNqRSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQzlCLE9BQU8sY0FBYyxLQUFLLENBQUMsSUFBSSxJQUFJLFdBQVcsR0FBRyxDQUFDO0lBQ3RELENBQUM7SUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBZSxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFlLENBQUMsQ0FBQztJQUMxQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUE0QixFQUFFLENBQUM7SUFDM0MsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FB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
|
package/dist/loader/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export type { RedboxMigration } from './MigrationRunner';
|
|
1
2
|
export interface LoaderOptions {
|
|
2
3
|
forceRegenerate?: boolean;
|
|
3
4
|
verbose?: boolean;
|
|
@@ -6,6 +7,10 @@ export interface HookBootstrapRegistration {
|
|
|
6
7
|
name: string;
|
|
7
8
|
module: string;
|
|
8
9
|
}
|
|
10
|
+
export interface HookMigrationRegistration {
|
|
11
|
+
name: string;
|
|
12
|
+
module: string;
|
|
13
|
+
}
|
|
9
14
|
export interface HookApiRouteRegistration extends HookModuleRegistration {
|
|
10
15
|
name: string;
|
|
11
16
|
}
|
|
@@ -25,6 +30,7 @@ export interface HookRegistrations {
|
|
|
25
30
|
hookModels: Record<string, HookModelRegistration>;
|
|
26
31
|
hookPolicies: Record<string, HookPolicyRegistration>;
|
|
27
32
|
hookBootstraps: HookBootstrapRegistration[];
|
|
33
|
+
hookMigrations: HookMigrationRegistration[];
|
|
28
34
|
hookApiRoutes: HookApiRouteRegistration[];
|
|
29
35
|
hookServices: Record<string, HookServiceRegistration>;
|
|
30
36
|
hookControllers: Record<string, HookControllerRegistration>;
|
|
@@ -68,6 +74,7 @@ export interface GenerateAllShimsStats {
|
|
|
68
74
|
configShimStats: GenerationStats;
|
|
69
75
|
apiRouteHookStats: GenerationStats;
|
|
70
76
|
bootstrapStats: BootstrapGenerationStats;
|
|
77
|
+
migrationStats: GenerationStats;
|
|
71
78
|
}
|
|
72
79
|
export interface GenerateAllShimsSkippedResult {
|
|
73
80
|
skipped: true;
|
|
@@ -82,6 +89,8 @@ export interface GenerateAllShimsSuccessResult {
|
|
|
82
89
|
export type GenerateAllShimsResult = GenerateAllShimsSkippedResult | GenerateAllShimsSuccessResult;
|
|
83
90
|
export declare function writeFileIfChanged(filePath: string, content: string): Promise<boolean>;
|
|
84
91
|
export declare function findAndRegisterHooks(appPath: string): Promise<HookRegistrations>;
|
|
92
|
+
export declare function discoverLocalMigrationFiles(appPath: string): Promise<string[]>;
|
|
93
|
+
export declare function generateMigrationConfigShim(configDir: string, appPath: string, hookMigrations: HookMigrationRegistration[]): Promise<GenerationStats>;
|
|
85
94
|
export declare function generateApiRouteHookConfig(configDir: string, hookApiRoutes: HookApiRouteRegistration[]): Promise<GenerationStats>;
|
|
86
95
|
export declare function generatePolicyShims(policiesDir: string, hookPolicies: Record<string, HookPolicyRegistration>): Promise<HookGenerationStats>;
|
|
87
96
|
export declare function generateModelShims(modelsDir: string, hookModels: Record<string, HookModelRegistration>): Promise<HookGenerationStats>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loader/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/loader/index.ts"],"names":[],"mappings":"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"}
|