@payloadcms/db-postgres 0.1.0-beta.11 → 0.1.0-beta.12
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/connect.d.ts.map +1 -1
- package/dist/connect.js +8 -2
- package/dist/migrate.d.ts.map +1 -1
- package/dist/migrate.js +61 -37
- package/package.json +1 -1
package/dist/connect.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAW/C,eAAO,MAAM,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../src/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAW/C,eAAO,MAAM,OAAO,EAAE,OAqGrB,CAAA"}
|
package/dist/connect.js
CHANGED
@@ -81,7 +81,9 @@ const connect = async function connect(payload) {
|
|
81
81
|
// Migration table def in order to use query using drizzle
|
82
82
|
const migrationsSchema = (0, _pgcore.pgTable)('payload_migrations', {
|
83
83
|
name: (0, _pgcore.varchar)('name'),
|
84
|
-
batch: (0, _pgcore.numeric)('batch')
|
84
|
+
batch: (0, _pgcore.numeric)('batch'),
|
85
|
+
created_at: (0, _pgcore.timestamp)('created_at'),
|
86
|
+
updated_at: (0, _pgcore.timestamp)('updated_at')
|
85
87
|
});
|
86
88
|
const devPush = await this.drizzle.select().from(migrationsSchema).where((0, _drizzleorm.eq)(migrationsSchema.batch, '-1'));
|
87
89
|
if (!devPush.length) {
|
@@ -89,7 +91,11 @@ const connect = async function connect(payload) {
|
|
89
91
|
name: 'dev',
|
90
92
|
batch: '-1'
|
91
93
|
});
|
94
|
+
} else {
|
95
|
+
await this.drizzle.update(migrationsSchema).set({
|
96
|
+
updated_at: new Date()
|
97
|
+
}).where((0, _drizzleorm.eq)(migrationsSchema.batch, '-1'));
|
92
98
|
}
|
93
99
|
};
|
94
100
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25uZWN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29ubmVjdCB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5cbmltcG9ydCB7IHB1c2hTY2hlbWEgfSBmcm9tICdkcml6emxlLWtpdC91dGlscydcbmltcG9ydCB7IGVxLCBzcWwgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7IGRyaXp6bGUgfSBmcm9tICdkcml6emxlLW9ybS9ub2RlLXBvc3RncmVzJ1xuaW1wb3J0IHsgbnVtZXJpYywgcGdUYWJsZSwgdGltZXN0YW1wLCB2YXJjaGFyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB7IFBvb2wgfSBmcm9tICdwZydcbmltcG9ydCBwcm9tcHRzIGZyb20gJ3Byb21wdHMnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IGNvbnN0IGNvbm5lY3Q6IENvbm5lY3QgPSBhc3luYyBmdW5jdGlvbiBjb25uZWN0KHRoaXM6IFBvc3RncmVzQWRhcHRlciwgcGF5bG9hZCkge1xuICB0aGlzLnNjaGVtYSA9IHtcbiAgICAuLi50aGlzLnRhYmxlcyxcbiAgICAuLi50aGlzLnJlbGF0aW9ucyxcbiAgICAuLi50aGlzLmVudW1zLFxuICB9XG5cbiAgdHJ5IHtcbiAgICB0aGlzLnBvb2wgPSBuZXcgUG9vbCh0aGlzLmNsaWVudClcbiAgICBhd2FpdCB0aGlzLnBvb2wuY29ubmVjdCgpXG5cbiAgICB0aGlzLmRyaXp6bGUgPSBkcml6emxlKHRoaXMucG9vbCwgeyBzY2hlbWE6IHRoaXMuc2NoZW1hIH0pXG4gICAgaWYgKHByb2Nlc3MuZW52LlBBWUxPQURfRFJPUF9EQVRBQkFTRSA9PT0gJ3RydWUnKSB7XG4gICAgICB0aGlzLnBheWxvYWQubG9nZ2VyLmluZm8oJy0tLS0gRFJPUFBJTkcgVEFCTEVTIC0tLS0nKVxuICAgICAgYXdhaXQgdGhpcy5kcml6emxlLmV4ZWN1dGUoc3FsYGRyb3Agc2NoZW1hIHB1YmxpYyBjYXNjYWRlO1xcbmNyZWF0ZSBzY2hlbWEgcHVibGljO2ApXG4gICAgICB0aGlzLnBheWxvYWQubG9nZ2VyLmluZm8oJy0tLS0gRFJPUFBFRCBUQUJMRVMgLS0tLScpXG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcihgRXJyb3I6IGNhbm5vdCBjb25uZWN0IHRvIFBvc3RncmVzLiBEZXRhaWxzOiAke2Vyci5tZXNzYWdlfWAsIGVycilcbiAgICBwcm9jZXNzLmV4aXQoMSlcbiAgfVxuXG4gIHRoaXMucGF5bG9hZC5sb2dnZXIuaW5mbygnQ29ubmVjdGVkIHRvIFBvc3RncmVzIHN1Y2Nlc3NmdWxseScpXG5cbiAgLy8gT25seSBwdXNoIHNjaGVtYSBpZiBub3QgaW4gcHJvZHVjdGlvblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJyB8fCBwcm9jZXNzLmVudi5QQVlMT0FEX01JR1JBVElORyA9PT0gJ3RydWUnKSByZXR1cm5cblxuICAvLyBUaGlzIHdpbGwgcHJvbXB0IGlmIGNsYXJpZmljYXRpb25zIGFyZSBuZWVkZWQgZm9yIERyaXp6bGUgdG8gcHVzaCBuZXcgc2NoZW1hXG4gIGNvbnN0IHsgYXBwbHksIGhhc0RhdGFMb3NzLCBzdGF0ZW1lbnRzVG9FeGVjdXRlLCB3YXJuaW5ncyB9ID0gYXdhaXQgcHVzaFNjaGVtYShcbiAgICB0aGlzLnNjaGVtYSxcbiAgICB0aGlzLmRyaXp6bGUsXG4gIClcblxuICAvLyB0aGlzLnBheWxvYWQubG9nZ2VyLmRlYnVnKHtcbiAgLy8gICBoYXNEYXRhTG9zcyxcbiAgLy8gICBtc2c6ICdTY2hlbWEgcHVzaCByZXN1bHRzJyxcbiAgLy8gICBzdGF0ZW1lbnRzVG9FeGVjdXRlLFxuICAvLyAgIHdhcm5pbmdzLFxuICAvLyB9KVxuXG4gIGlmICh3YXJuaW5ncy5sZW5ndGgpIHtcbiAgICB0aGlzLnBheWxvYWQubG9nZ2VyLmluZm8oe1xuICAgICAgbXNnOiBgV2FybmluZ3MgZGV0ZWN0ZWQgZHVyaW5nIHNjaGVtYSBwdXNoOiAke3dhcm5pbmdzLmpvaW4oJ1xcbicpfWAsXG4gICAgICB3YXJuaW5ncyxcbiAgICB9KVxuXG4gICAgaWYgKGhhc0RhdGFMb3NzKSB7XG4gICAgICB0aGlzLnBheWxvYWQubG9nZ2VyLmluZm8oe1xuICAgICAgICBtc2c6ICdEQVRBIExPU1MgV0FSTklORzogUG9zc2libGUgZGF0YSBsb3NzIGRldGVjdGVkIGlmIHNjaGVtYSBpcyBwdXNoZWQuJyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgY29uc3QgeyBjb25maXJtOiBhY2NlcHRXYXJuaW5ncyB9ID0gYXdhaXQgcHJvbXB0cyhcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2NvbmZpcm0nLFxuICAgICAgICBpbml0aWFsOiBmYWxzZSxcbiAgICAgICAgbWVzc2FnZTogJ0FjY2VwdCB3YXJuaW5ncyBhbmQgcHVzaCBzY2hlbWEgdG8gZGF0YWJhc2U/JyxcbiAgICAgICAgdHlwZTogJ2NvbmZpcm0nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgb25DYW5jZWw6ICgpID0+IHtcbiAgICAgICAgICBwcm9jZXNzLmV4aXQoMClcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgKVxuXG4gICAgLy8gRXhpdCBpZiB1c2VyIGRvZXMgbm90IGFjY2VwdCB3YXJuaW5ncy5cbiAgICAvLyBROiBJcyB0aGlzIHRoZSByaWdodCB0eXBlIG9mIGV4aXQgZm9yIHRoaXMgaW50ZXJhY3Rpb24/XG4gICAgaWYgKCFhY2NlcHRXYXJuaW5ncykge1xuICAgICAgcHJvY2Vzcy5leGl0KDApXG4gICAgfVxuICB9XG5cbiAgYXdhaXQgYXBwbHkoKVxuXG4gIC8vIE1pZ3JhdGlvbiB0YWJsZSBkZWYgaW4gb3JkZXIgdG8gdXNlIHF1ZXJ5IHVzaW5nIGRyaXp6bGVcbiAgY29uc3QgbWlncmF0aW9uc1NjaGVtYSA9IHBnVGFibGUoJ3BheWxvYWRfbWlncmF0aW9ucycsIHtcbiAgICBuYW1lOiB2YXJjaGFyKCduYW1lJyksXG4gICAgYmF0Y2g6IG51bWVyaWMoJ2JhdGNoJyksXG4gICAgY3JlYXRlZF9hdDogdGltZXN0YW1wKCdjcmVhdGVkX2F0JyksXG4gICAgdXBkYXRlZF9hdDogdGltZXN0YW1wKCd1cGRhdGVkX2F0JyksXG4gIH0pXG5cbiAgY29uc3QgZGV2UHVzaCA9IGF3YWl0IHRoaXMuZHJpenpsZVxuICAgIC5zZWxlY3QoKVxuICAgIC5mcm9tKG1pZ3JhdGlvbnNTY2hlbWEpXG4gICAgLndoZXJlKGVxKG1pZ3JhdGlvbnNTY2hlbWEuYmF0Y2gsICctMScpKVxuXG4gIGlmICghZGV2UHVzaC5sZW5ndGgpIHtcbiAgICBhd2FpdCB0aGlzLmRyaXp6bGUuaW5zZXJ0KG1pZ3JhdGlvbnNTY2hlbWEpLnZhbHVlcyh7XG4gICAgICBuYW1lOiAnZGV2JyxcbiAgICAgIGJhdGNoOiAnLTEnLFxuICAgIH0pXG4gIH0gZWxzZSB7XG4gICAgYXdhaXQgdGhpcy5kcml6emxlXG4gICAgICAudXBkYXRlKG1pZ3JhdGlvbnNTY2hlbWEpXG4gICAgICAuc2V0KHtcbiAgICAgICAgdXBkYXRlZF9hdDogbmV3IERhdGUoKSxcbiAgICAgIH0pXG4gICAgICAud2hlcmUoZXEobWlncmF0aW9uc1NjaGVtYS5iYXRjaCwgJy0xJykpXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJjb25uZWN0IiwicGF5bG9hZCIsInNjaGVtYSIsInRhYmxlcyIsInJlbGF0aW9ucyIsImVudW1zIiwicG9vbCIsIlBvb2wiLCJjbGllbnQiLCJkcml6emxlIiwicHJvY2VzcyIsImVudiIsIlBBWUxPQURfRFJPUF9EQVRBQkFTRSIsImxvZ2dlciIsImluZm8iLCJleGVjdXRlIiwic3FsIiwiZXJyIiwiZXJyb3IiLCJtZXNzYWdlIiwiZXhpdCIsIk5PREVfRU5WIiwiUEFZTE9BRF9NSUdSQVRJTkciLCJhcHBseSIsImhhc0RhdGFMb3NzIiwic3RhdGVtZW50c1RvRXhlY3V0ZSIsIndhcm5pbmdzIiwicHVzaFNjaGVtYSIsImxlbmd0aCIsIm1zZyIsImpvaW4iLCJjb25maXJtIiwiYWNjZXB0V2FybmluZ3MiLCJwcm9tcHRzIiwibmFtZSIsImluaXRpYWwiLCJ0eXBlIiwib25DYW5jZWwiLCJtaWdyYXRpb25zU2NoZW1hIiwicGdUYWJsZSIsInZhcmNoYXIiLCJiYXRjaCIsIm51bWVyaWMiLCJjcmVhdGVkX2F0IiwidGltZXN0YW1wIiwidXBkYXRlZF9hdCIsImRldlB1c2giLCJzZWxlY3QiLCJmcm9tIiwid2hlcmUiLCJlcSIsImluc2VydCIsInZhbHVlcyIsInVwZGF0ZSIsInNldCIsIkRhdGUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBV2FBOzs7ZUFBQUE7Ozt1QkFUYzs0QkFDSDs4QkFDQTt3QkFDNkI7b0JBQ2hDO2dFQUNEOzs7Ozs7QUFJYixNQUFNQSxVQUFtQixlQUFlQSxRQUErQkMsT0FBTztJQUNuRixJQUFJLENBQUNDLE1BQU0sR0FBRztRQUNaLEdBQUcsSUFBSSxDQUFDQyxNQUFNO1FBQ2QsR0FBRyxJQUFJLENBQUNDLFNBQVM7UUFDakIsR0FBRyxJQUFJLENBQUNDLEtBQUs7SUFDZjtJQUVBLElBQUk7UUFDRixJQUFJLENBQUNDLElBQUksR0FBRyxJQUFJQyxRQUFJLENBQUMsSUFBSSxDQUFDQyxNQUFNO1FBQ2hDLE1BQU0sSUFBSSxDQUFDRixJQUFJLENBQUNOLE9BQU87UUFFdkIsSUFBSSxDQUFDUyxPQUFPLEdBQUdBLElBQUFBLHFCQUFPLEVBQUMsSUFBSSxDQUFDSCxJQUFJLEVBQUU7WUFBRUosUUFBUSxJQUFJLENBQUNBLE1BQU07UUFBQztRQUN4RCxJQUFJUSxRQUFRQyxHQUFHLENBQUNDLHFCQUFxQixLQUFLLFFBQVE7WUFDaEQsSUFBSSxDQUFDWCxPQUFPLENBQUNZLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxDQUFDTCxPQUFPLENBQUNNLE9BQU8sQ0FBQ0MsSUFBQUEsZUFBRyxDQUFBLENBQUMsa0RBQWtELENBQUM7WUFDbEYsSUFBSSxDQUFDZixPQUFPLENBQUNZ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
|
package/dist/migrate.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../src/migrate.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAK9C,wBAAsB,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDlE"}
|
package/dist/migrate.js
CHANGED
@@ -11,70 +11,94 @@ Object.defineProperty(exports, "migrate", {
|
|
11
11
|
const _utils = require("drizzle-kit/utils");
|
12
12
|
const _database = require("payload/database");
|
13
13
|
const _pg = require("pg");
|
14
|
+
const _prompts = /*#__PURE__*/ _interop_require_default(require("prompts"));
|
14
15
|
const _createMigrationTable = require("./utilities/createMigrationTable");
|
15
16
|
const _migrationTableExists = require("./utilities/migrationTableExists");
|
17
|
+
function _interop_require_default(obj) {
|
18
|
+
return obj && obj.__esModule ? obj : {
|
19
|
+
default: obj
|
20
|
+
};
|
21
|
+
}
|
16
22
|
async function migrate() {
|
17
23
|
const { payload } = this;
|
18
24
|
const migrationFiles = await (0, _database.readMigrationFiles)({
|
19
25
|
payload
|
20
26
|
});
|
21
27
|
let latestBatch = 0;
|
22
|
-
let
|
28
|
+
let migrationsInDB = [];
|
23
29
|
const hasMigrationTable = await (0, _migrationTableExists.migrationTableExists)(this.drizzle);
|
24
30
|
if (hasMigrationTable) {
|
25
|
-
({ docs:
|
31
|
+
({ docs: migrationsInDB } = await payload.find({
|
26
32
|
collection: 'payload-migrations',
|
27
33
|
limit: 0,
|
28
34
|
sort: '-name'
|
29
35
|
}));
|
30
|
-
if (Number(
|
31
|
-
latestBatch = Number(
|
36
|
+
if (Number(migrationsInDB?.[0]?.batch) > 0) {
|
37
|
+
latestBatch = Number(migrationsInDB[0]?.batch);
|
32
38
|
}
|
33
39
|
} else {
|
34
40
|
await (0, _createMigrationTable.createMigrationTable)(this.drizzle);
|
35
41
|
}
|
42
|
+
if (migrationsInDB.find((m)=>m.batch === -1)) {
|
43
|
+
const { confirm: runMigrations } = await (0, _prompts.default)({
|
44
|
+
name: 'confirm',
|
45
|
+
initial: false,
|
46
|
+
message: "It looks like you've run Payload in dev mode, meaning you've dynamically pushed changes to your database. " + "If you'd like to run migrations, data loss will occur. Would you like to proceed?",
|
47
|
+
type: 'confirm'
|
48
|
+
}, {
|
49
|
+
onCancel: ()=>{
|
50
|
+
process.exit(0);
|
51
|
+
}
|
52
|
+
});
|
53
|
+
if (!runMigrations) {
|
54
|
+
process.exit(0);
|
55
|
+
}
|
56
|
+
}
|
36
57
|
const newBatch = latestBatch + 1;
|
37
58
|
// Execute 'up' function for each migration sequentially
|
38
59
|
for (const migration of migrationFiles){
|
39
|
-
const
|
40
|
-
//
|
41
|
-
if (
|
60
|
+
const alreadyRan = migrationsInDB.find((existing)=>existing.name === migration.name);
|
61
|
+
// If already ran, skip
|
62
|
+
if (alreadyRan) {
|
42
63
|
continue; // eslint-disable-line no-continue
|
43
64
|
}
|
44
|
-
|
65
|
+
await runMigrationFile(payload, migration, newBatch);
|
66
|
+
}
|
67
|
+
}
|
68
|
+
async function runMigrationFile(payload, migration, batch) {
|
69
|
+
const start = Date.now();
|
70
|
+
payload.logger.info({
|
71
|
+
msg: `Migrating: ${migration.name}`
|
72
|
+
});
|
73
|
+
const pgAdapter = payload.db;
|
74
|
+
const drizzleJSON = (0, _utils.generateDrizzleJson)(pgAdapter.schema);
|
75
|
+
try {
|
76
|
+
await migration.up({
|
77
|
+
payload
|
78
|
+
});
|
45
79
|
payload.logger.info({
|
46
|
-
msg: `
|
80
|
+
msg: `Migrated: ${migration.name} (${Date.now() - start}ms)`
|
47
81
|
});
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
payload.logger.info({
|
55
|
-
msg: `Migrated: ${migration.name} (${Date.now() - start}ms)`
|
56
|
-
});
|
57
|
-
await payload.create({
|
58
|
-
collection: 'payload-migrations',
|
59
|
-
data: {
|
60
|
-
name: migration.name,
|
61
|
-
batch: newBatch,
|
62
|
-
schema: drizzleJSON
|
63
|
-
}
|
64
|
-
});
|
65
|
-
} catch (err) {
|
66
|
-
let msg = `Error running migration ${migration.name}`;
|
67
|
-
if (err instanceof _pg.DatabaseError) {
|
68
|
-
msg += `: ${err.message}`;
|
69
|
-
if (err.hint) msg += `. ${err.hint}`;
|
82
|
+
await payload.create({
|
83
|
+
collection: 'payload-migrations',
|
84
|
+
data: {
|
85
|
+
name: migration.name,
|
86
|
+
batch,
|
87
|
+
schema: drizzleJSON
|
70
88
|
}
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
89
|
+
});
|
90
|
+
} catch (err) {
|
91
|
+
let msg = `Error running migration ${migration.name}`;
|
92
|
+
if (err instanceof _pg.DatabaseError) {
|
93
|
+
msg += `: ${err.message}`;
|
94
|
+
if (err.hint) msg += `. ${err.hint}`;
|
76
95
|
}
|
96
|
+
payload.logger.error({
|
97
|
+
err,
|
98
|
+
msg
|
99
|
+
});
|
100
|
+
throw err;
|
77
101
|
}
|
78
102
|
}
|
79
103
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4LCBuby1hd2FpdC1pbi1sb29wICovXG5pbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBNaWdyYXRpb24gfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgeyBnZW5lcmF0ZURyaXp6bGVKc29uIH0gZnJvbSAnZHJpenpsZS1raXQvdXRpbHMnXG5pbXBvcnQgeyByZWFkTWlncmF0aW9uRmlsZXMgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHsgRGF0YWJhc2VFcnJvciB9IGZyb20gJ3BnJ1xuaW1wb3J0IHByb21wdHMgZnJvbSAncHJvbXB0cydcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBjcmVhdGVNaWdyYXRpb25UYWJsZSB9IGZyb20gJy4vdXRpbGl0aWVzL2NyZWF0ZU1pZ3JhdGlvblRhYmxlJ1xuaW1wb3J0IHsgbWlncmF0aW9uVGFibGVFeGlzdHMgfSBmcm9tICcuL3V0aWxpdGllcy9taWdyYXRpb25UYWJsZUV4aXN0cydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1pZ3JhdGUodGhpczogUG9zdGdyZXNBZGFwdGVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgcGF5bG9hZCB9ID0gdGhpc1xuICBjb25zdCBtaWdyYXRpb25GaWxlcyA9IGF3YWl0IHJlYWRNaWdyYXRpb25GaWxlcyh7IHBheWxvYWQgfSlcblxuICBsZXQgbGF0ZXN0QmF0Y2ggPSAwXG4gIGxldCBtaWdyYXRpb25zSW5EQiA9IFtdXG5cbiAgY29uc3QgaGFzTWlncmF0aW9uVGFibGUgPSBhd2FpdCBtaWdyYXRpb25UYWJsZUV4aXN0cyh0aGlzLmRyaXp6bGUpXG5cbiAgaWYgKGhhc01pZ3JhdGlvblRhYmxlKSB7XG4gICAgOyh7IGRvY3M6IG1pZ3JhdGlvbnNJbkRCIH0gPSBhd2FpdCBwYXlsb2FkLmZpbmQoe1xuICAgICAgY29sbGVjdGlvbjogJ3BheWxvYWQtbWlncmF0aW9ucycsXG4gICAgICBsaW1pdDogMCxcbiAgICAgIHNvcnQ6ICctbmFtZScsXG4gICAgfSkpXG4gICAgaWYgKE51bWJlcihtaWdyYXRpb25zSW5EQj8uWzBdPy5iYXRjaCkgPiAwKSB7XG4gICAgICBsYXRlc3RCYXRjaCA9IE51bWJlcihtaWdyYXRpb25zSW5EQlswXT8uYmF0Y2gpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGF3YWl0IGNyZWF0ZU1pZ3JhdGlvblRhYmxlKHRoaXMuZHJpenpsZSlcbiAgfVxuXG4gIGlmIChtaWdyYXRpb25zSW5EQi5maW5kKChtKSA9PiBtLmJhdGNoID09PSAtMSkpIHtcbiAgICBjb25zdCB7IGNvbmZpcm06IHJ1bk1pZ3JhdGlvbnMgfSA9IGF3YWl0IHByb21wdHMoXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjb25maXJtJyxcbiAgICAgICAgaW5pdGlhbDogZmFsc2UsXG4gICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgXCJJdCBsb29rcyBsaWtlIHlvdSd2ZSBydW4gUGF5bG9hZCBpbiBkZXYgbW9kZSwgbWVhbmluZyB5b3UndmUgZHluYW1pY2FsbHkgcHVzaGVkIGNoYW5nZXMgdG8geW91ciBkYXRhYmFzZS4gXCIgK1xuICAgICAgICAgIFwiSWYgeW91J2QgbGlrZSB0byBydW4gbWlncmF0aW9ucywgZGF0YSBsb3NzIHdpbGwgb2NjdXIuIFdvdWxkIHlvdSBsaWtlIHRvIHByb2NlZWQ/XCIsXG4gICAgICAgIHR5cGU6ICdjb25maXJtJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG9uQ2FuY2VsOiAoKSA9PiB7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KDApXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIClcblxuICAgIGlmICghcnVuTWlncmF0aW9ucykge1xuICAgICAgcHJvY2Vzcy5leGl0KDApXG4gICAgfVxuICB9XG5cbiAgY29uc3QgbmV3QmF0Y2ggPSBsYXRlc3RCYXRjaCArIDFcblxuICAvLyBFeGVjdXRlICd1cCcgZnVuY3Rpb24gZm9yIGVhY2ggbWlncmF0aW9uIHNlcXVlbnRpYWxseVxuICBmb3IgKGNvbnN0IG1pZ3JhdGlvbiBvZiBtaWdyYXRpb25GaWxlcykge1xuICAgIGNvbnN0IGFscmVhZHlSYW4gPSBtaWdyYXRpb25zSW5EQi5maW5kKChleGlzdGluZykgPT4gZXhpc3RpbmcubmFtZSA9PT0gbWlncmF0aW9uLm5hbWUpXG5cbiAgICAvLyBJZiBhbHJlYWR5IHJhbiwgc2tpcFxuICAgIGlmIChhbHJlYWR5UmFuKSB7XG4gICAgICBjb250aW51ZSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnRpbnVlXG4gICAgfVxuXG4gICAgYXdhaXQgcnVuTWlncmF0aW9uRmlsZShwYXlsb2FkLCBtaWdyYXRpb24sIG5ld0JhdGNoKVxuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJ1bk1pZ3JhdGlvbkZpbGUocGF5bG9hZDogUGF5bG9hZCwgbWlncmF0aW9uOiBNaWdyYXRpb24sIGJhdGNoOiBudW1iZXIpIHtcbiAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpXG5cbiAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogYE1pZ3JhdGluZzogJHttaWdyYXRpb24ubmFtZX1gIH0pXG5cbiAgY29uc3QgcGdBZGFwdGVyID0gcGF5bG9hZC5kYlxuICBjb25zdCBkcml6emxlSlNPTiA9IGdlbmVyYXRlRHJpenpsZUpzb24ocGdBZGFwdGVyLnNjaGVtYSlcblxuICB0cnkge1xuICAgIGF3YWl0IG1pZ3JhdGlvbi51cCh7IHBheWxvYWQgfSlcbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0ZWQ6ICAke21pZ3JhdGlvbi5uYW1lfSAoJHtEYXRlLm5vdygpIC0gc3RhcnR9bXMpYCB9KVxuICAgIGF3YWl0IHBheWxvYWQuY3JlYXRlKHtcbiAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgZGF0YToge1xuICAgICAgICBuYW1lOiBtaWdyYXRpb24ubmFtZSxcbiAgICAgICAgYmF0Y2gsXG4gICAgICAgIHNjaGVtYTogZHJpenpsZUpTT04sXG4gICAgICB9LFxuICAgIH0pXG4gIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgIGxldCBtc2cgPSBgRXJyb3IgcnVubmluZyBtaWdyYXRpb24gJHttaWdyYXRpb24ubmFtZX1gXG5cbiAgICBpZiAoZXJyIGluc3RhbmNlb2YgRGF0YWJhc2VFcnJvcikge1xuICAgICAgbXNnICs9IGA6ICR7ZXJyLm1lc3NhZ2V9YFxuICAgICAgaWYgKGVyci5oaW50KSBtc2cgKz0gYC4gJHtlcnIuaGludH1gXG4gICAgfVxuXG4gICAgcGF5bG9hZC5sb2dnZXIuZXJyb3IoeyBlcnIsIG1zZyB9KVxuICAgIHRocm93IGVyclxuICB9XG59XG4iXSwibmFtZXMiOlsibWlncmF0ZSIsInBheWxvYWQiLCJtaWdyYXRpb25GaWxlcyIsInJlYWRNaWdyYXRpb25GaWxlcyIsImxhdGVzdEJhdGNoIiwibWlncmF0aW9uc0luREIiLCJoYXNNaWdyYXRpb25UYWJsZSIsIm1pZ3JhdGlvblRhYmxlRXhpc3RzIiwiZHJpenpsZSIsImRvY3MiLCJmaW5kIiwiY29sbGVjdGlvbiIsImxpbWl0Iiwic29ydCIsIk51bWJlciIsImJhdGNoIiwiY3JlYXRlTWlncmF0aW9uVGFibGUiLCJtIiwiY29uZmlybSIsInJ1bk1pZ3JhdGlvbnMiLCJwcm9tcHRzIiwibmFtZSIsImluaXRpYWwiLCJtZXNzYWdlIiwidHlwZSIsIm9uQ2FuY2VsIiwicHJvY2VzcyIsImV4aXQiLCJuZXdCYXRjaCIsIm1pZ3JhdGlvbiIsImFscmVhZHlSYW4iLCJleGlzdGluZyIsInJ1bk1pZ3JhdGlvbkZpbGUiLCJzdGFydCIsIkRhdGUiLCJub3ciLCJsb2dnZXIiLCJpbmZvIiwibXNnIiwicGdBZGFwdGVyIiwiZGIiLCJkcml6emxlSlNPTiIsImdlbmVyYXRlRHJpenpsZUpzb24iLCJzY2hlbWEiLCJ1cCIsImNyZWF0ZSIsImRhdGEiLCJlcnIiLCJEYXRhYmFzZUVycm9yIiwiaGludCIsImVycm9yIl0sIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQ7Ozs7K0JBY25DQTs7O2VBQUFBOzs7dUJBVmM7MEJBQ0Q7b0JBQ0w7Z0VBQ1Y7c0NBSWlCO3NDQUNBOzs7Ozs7QUFFOUIsZUFBZUE7SUFDcEIsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBRyxJQUFJO0lBQ3hCLE1BQU1DLGlCQUFpQixNQUFNQyxJQUFBQSw0QkFBa0IsRUFBQztRQUFFRjtJQUFRO0lBRTFELElBQUlHLGNBQWM7SUFDbEIsSUFBSUMsaUJBQWlCLEVBQUU7SUFFdkIsTUFBTUMsb0JBQW9CLE1BQU1DLElBQUFBLDBDQUFvQixFQUFDLElBQUksQ0FBQ0MsT0FBTztJQUVqRSxJQUFJRixtQkFBbUI7UUFDbkIsQ0FBQSxFQUFFRyxNQUFNSixjQUFjLEVBQUUsR0FBRyxNQUFNSixRQUFRUyxJQUFJLENBQUM7WUFDOUNDLFlBQVk7WUFDWkMsT0FBTztZQUNQQyxNQUFNO1FBQ1IsRUFBQztRQUNELElBQUlDLE9BQU9ULGdCQUFnQixDQUFDLEVBQUUsRUFBRVUsU0FBUyxHQUFHO1lBQzFDWCxjQUFjVSxPQUFPVCxjQUFjLENBQUMsRUFBRSxFQUFFVTtRQUMxQztJQUNGLE9BQU87UUFDTCxNQUFNQyxJQUFBQSwwQ0FBb0IsRUFBQyxJQUFJLENBQUNSLE9BQU87SUFDekM7SUFFQSxJQUFJSCxlQUFlSyxJQUFJLENBQUMsQ0FBQ08sSUFBTUEsRUFBRUYsS0FBSyxLQUFLLENBQUMsSUFBSTtRQUM5QyxNQUFNLEVBQUVHLFNBQVNDLGFBQWEsRUFBRSxHQUFHLE1BQU1DLElBQUFBLGdCQUFPLEVBQzlDO1lBQ0VDLE1BQU07WUFDTkMsU0FBUztZQUNUQyxTQUNFLCtHQUNBO1lBQ0ZDLE1BQU07UUFDUixHQUNBO1lBQ0VDLFVBQVU7Z0JBQ1JDLFFBQVFDLElBQUksQ0FBQztZQUNmO1FBQ0Y7UUFHRixJQUFJLENBQUNSLGVBQWU7WUFDbEJPLFFBQVFDLElBQUksQ0FBQztRQUNmO0lBQ0Y7SUFFQSxNQUFNQyxXQUFXeEIsY0FBYztJQUUvQix3REFBd0Q7SUFDeEQsS0FBSyxNQUFNeUIsYUFBYTNCLGVBQWdCO1FBQ3RDLE1BQU00QixhQUFhekIsZUFBZUssSUFBSSxDQUFDLENBQUNxQixXQUFhQSxTQUFTVixJQUFJLEtBQUtRLFVBQVVSLElBQUk7UUFFckYsdUJBQXVCO1FBQ3ZCLElBQUlTLFlBQVk7WUFDZCxVQUFTLGtDQUFrQztRQUM3QztRQUVBLE1BQU1FLGlCQUFpQi9CLFNBQVM0QixXQUFXRDtJQUM3QztBQUNGO0FBRUEsZUFBZUksaUJBQWlCL0IsT0FBZ0IsRUFBRTRCLFNBQW9CLEVBQUVkLEtBQWE7SUFDbkYsTUFBTWtCLFFBQVFDLEtBQUtDLEdBQUc7SUFFdEJsQyxRQUFRbUMsTUFBTSxDQUFDQyxJQUFJLENBQUM7UUFBRUMsS0FBSyxDQUFDLFdBQVcsRUFBRVQsVUFBVVIsSUFBSSxDQUFDLENBQUM7SUFBQztJQUUxRCxNQUFNa0IsWUFBWXRDLFFBQVF1QyxFQUFFO0lBQzVCLE1BQU1DLGNBQWNDLElBQUFBLDBCQUFtQixFQUFDSCxVQUFVSSxNQUFNO0lBRXhELElBQUk7UUFDRixNQUFNZCxVQUFVZSxFQUFFLENBQUM7WUFBRTNDO1FBQVE7UUFDN0JBLFFBQVFtQyxNQUFNLENBQUNDLElBQUksQ0FBQztZQUFFQyxLQUFLLENBQUMsV0FBVyxFQUFFVCxVQUFVUixJQUFJLENBQUMsRUFBRSxFQUFFYSxLQUFLQyxHQUFHLEtBQUtGLE1BQU0sR0FBRyxDQUFDO1FBQUM7UUFDcEYsTUFBTWhDLFFBQVE0QyxNQUFNLENBQUM7WUFDbkJsQyxZQUFZO1lBQ1ptQyxNQUFNO2dCQUNKekIsTUFBTVEsVUFBVVIsSUFBSTtnQkFDcEJOO2dCQUNBNEIsUUFBUUY7WUFDVjtRQUNGO0lBQ0YsRUFBRSxPQUFPTSxLQUFjO1FBQ3JCLElBQUlULE1BQU0sQ0FBQyx3QkFBd0IsRUFBRVQsVUFBVVIsSUFBSSxDQUFDLENBQUM7UUFFckQsSUFBSTBCLGVBQWVDLGlCQUFhLEVBQUU7WUFDaENWLE9BQU8sQ0FBQyxFQUFFLEVBQUVTLElBQUl4QixPQUFPLENBQUMsQ0FBQztZQUN6QixJQUFJd0IsSUFBSUUsSUFBSSxFQUFFWCxPQUFPLENBQUMsRUFBRSxFQUFFUyxJQUFJRSxJQUFJLENBQUMsQ0FBQztRQUN0QztRQUVBaEQsUUFBUW1DLE1BQU0sQ0FBQ2MsS0FBSyxDQUFDO1lBQUVIO1lBQUtUO1FBQUk7UUFDaEMsTUFBTVM7SUFDUjtBQUNGIn0=
|
package/package.json
CHANGED