drizzle-kit 0.22.0-3b0ba5f → 0.22.0-407e2e6

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/utils-studio.js CHANGED
@@ -33,6 +33,516 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
33
33
  ));
34
34
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
35
35
 
36
+ // node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/vendor/ansi-styles/index.js
37
+ function assembleStyles() {
38
+ const codes = /* @__PURE__ */ new Map();
39
+ for (const [groupName, group] of Object.entries(styles)) {
40
+ for (const [styleName, style] of Object.entries(group)) {
41
+ styles[styleName] = {
42
+ open: `\x1B[${style[0]}m`,
43
+ close: `\x1B[${style[1]}m`
44
+ };
45
+ group[styleName] = styles[styleName];
46
+ codes.set(style[0], style[1]);
47
+ }
48
+ Object.defineProperty(styles, groupName, {
49
+ value: group,
50
+ enumerable: false
51
+ });
52
+ }
53
+ Object.defineProperty(styles, "codes", {
54
+ value: codes,
55
+ enumerable: false
56
+ });
57
+ styles.color.close = "\x1B[39m";
58
+ styles.bgColor.close = "\x1B[49m";
59
+ styles.color.ansi = wrapAnsi16();
60
+ styles.color.ansi256 = wrapAnsi256();
61
+ styles.color.ansi16m = wrapAnsi16m();
62
+ styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
63
+ styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
64
+ styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
65
+ Object.defineProperties(styles, {
66
+ rgbToAnsi256: {
67
+ value(red, green, blue) {
68
+ if (red === green && green === blue) {
69
+ if (red < 8) {
70
+ return 16;
71
+ }
72
+ if (red > 248) {
73
+ return 231;
74
+ }
75
+ return Math.round((red - 8) / 247 * 24) + 232;
76
+ }
77
+ return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
78
+ },
79
+ enumerable: false
80
+ },
81
+ hexToRgb: {
82
+ value(hex) {
83
+ const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
84
+ if (!matches) {
85
+ return [0, 0, 0];
86
+ }
87
+ let [colorString] = matches;
88
+ if (colorString.length === 3) {
89
+ colorString = [...colorString].map((character) => character + character).join("");
90
+ }
91
+ const integer = Number.parseInt(colorString, 16);
92
+ return [
93
+ /* eslint-disable no-bitwise */
94
+ integer >> 16 & 255,
95
+ integer >> 8 & 255,
96
+ integer & 255
97
+ /* eslint-enable no-bitwise */
98
+ ];
99
+ },
100
+ enumerable: false
101
+ },
102
+ hexToAnsi256: {
103
+ value: (hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)),
104
+ enumerable: false
105
+ },
106
+ ansi256ToAnsi: {
107
+ value(code) {
108
+ if (code < 8) {
109
+ return 30 + code;
110
+ }
111
+ if (code < 16) {
112
+ return 90 + (code - 8);
113
+ }
114
+ let red;
115
+ let green;
116
+ let blue;
117
+ if (code >= 232) {
118
+ red = ((code - 232) * 10 + 8) / 255;
119
+ green = red;
120
+ blue = red;
121
+ } else {
122
+ code -= 16;
123
+ const remainder = code % 36;
124
+ red = Math.floor(code / 36) / 5;
125
+ green = Math.floor(remainder / 6) / 5;
126
+ blue = remainder % 6 / 5;
127
+ }
128
+ const value = Math.max(red, green, blue) * 2;
129
+ if (value === 0) {
130
+ return 30;
131
+ }
132
+ let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
133
+ if (value === 2) {
134
+ result += 60;
135
+ }
136
+ return result;
137
+ },
138
+ enumerable: false
139
+ },
140
+ rgbToAnsi: {
141
+ value: (red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)),
142
+ enumerable: false
143
+ },
144
+ hexToAnsi: {
145
+ value: (hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)),
146
+ enumerable: false
147
+ }
148
+ });
149
+ return styles;
150
+ }
151
+ var ANSI_BACKGROUND_OFFSET, wrapAnsi16, wrapAnsi256, wrapAnsi16m, styles, modifierNames, foregroundColorNames, backgroundColorNames, colorNames, ansiStyles, ansi_styles_default;
152
+ var init_ansi_styles = __esm({
153
+ "node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/vendor/ansi-styles/index.js"() {
154
+ ANSI_BACKGROUND_OFFSET = 10;
155
+ wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`;
156
+ wrapAnsi256 = (offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`;
157
+ wrapAnsi16m = (offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`;
158
+ styles = {
159
+ modifier: {
160
+ reset: [0, 0],
161
+ // 21 isn't widely supported and 22 does the same thing
162
+ bold: [1, 22],
163
+ dim: [2, 22],
164
+ italic: [3, 23],
165
+ underline: [4, 24],
166
+ overline: [53, 55],
167
+ inverse: [7, 27],
168
+ hidden: [8, 28],
169
+ strikethrough: [9, 29]
170
+ },
171
+ color: {
172
+ black: [30, 39],
173
+ red: [31, 39],
174
+ green: [32, 39],
175
+ yellow: [33, 39],
176
+ blue: [34, 39],
177
+ magenta: [35, 39],
178
+ cyan: [36, 39],
179
+ white: [37, 39],
180
+ // Bright color
181
+ blackBright: [90, 39],
182
+ gray: [90, 39],
183
+ // Alias of `blackBright`
184
+ grey: [90, 39],
185
+ // Alias of `blackBright`
186
+ redBright: [91, 39],
187
+ greenBright: [92, 39],
188
+ yellowBright: [93, 39],
189
+ blueBright: [94, 39],
190
+ magentaBright: [95, 39],
191
+ cyanBright: [96, 39],
192
+ whiteBright: [97, 39]
193
+ },
194
+ bgColor: {
195
+ bgBlack: [40, 49],
196
+ bgRed: [41, 49],
197
+ bgGreen: [42, 49],
198
+ bgYellow: [43, 49],
199
+ bgBlue: [44, 49],
200
+ bgMagenta: [45, 49],
201
+ bgCyan: [46, 49],
202
+ bgWhite: [47, 49],
203
+ // Bright color
204
+ bgBlackBright: [100, 49],
205
+ bgGray: [100, 49],
206
+ // Alias of `bgBlackBright`
207
+ bgGrey: [100, 49],
208
+ // Alias of `bgBlackBright`
209
+ bgRedBright: [101, 49],
210
+ bgGreenBright: [102, 49],
211
+ bgYellowBright: [103, 49],
212
+ bgBlueBright: [104, 49],
213
+ bgMagentaBright: [105, 49],
214
+ bgCyanBright: [106, 49],
215
+ bgWhiteBright: [107, 49]
216
+ }
217
+ };
218
+ modifierNames = Object.keys(styles.modifier);
219
+ foregroundColorNames = Object.keys(styles.color);
220
+ backgroundColorNames = Object.keys(styles.bgColor);
221
+ colorNames = [...foregroundColorNames, ...backgroundColorNames];
222
+ ansiStyles = assembleStyles();
223
+ ansi_styles_default = ansiStyles;
224
+ }
225
+ });
226
+
227
+ // node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/vendor/supports-color/index.js
228
+ function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : import_node_process.default.argv) {
229
+ const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
230
+ const position = argv.indexOf(prefix + flag);
231
+ const terminatorPosition = argv.indexOf("--");
232
+ return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
233
+ }
234
+ function envForceColor() {
235
+ if ("FORCE_COLOR" in env) {
236
+ if (env.FORCE_COLOR === "true") {
237
+ return 1;
238
+ }
239
+ if (env.FORCE_COLOR === "false") {
240
+ return 0;
241
+ }
242
+ return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
243
+ }
244
+ }
245
+ function translateLevel(level) {
246
+ if (level === 0) {
247
+ return false;
248
+ }
249
+ return {
250
+ level,
251
+ hasBasic: true,
252
+ has256: level >= 2,
253
+ has16m: level >= 3
254
+ };
255
+ }
256
+ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
257
+ const noFlagForceColor = envForceColor();
258
+ if (noFlagForceColor !== void 0) {
259
+ flagForceColor = noFlagForceColor;
260
+ }
261
+ const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
262
+ if (forceColor === 0) {
263
+ return 0;
264
+ }
265
+ if (sniffFlags) {
266
+ if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
267
+ return 3;
268
+ }
269
+ if (hasFlag("color=256")) {
270
+ return 2;
271
+ }
272
+ }
273
+ if ("TF_BUILD" in env && "AGENT_NAME" in env) {
274
+ return 1;
275
+ }
276
+ if (haveStream && !streamIsTTY && forceColor === void 0) {
277
+ return 0;
278
+ }
279
+ const min = forceColor || 0;
280
+ if (env.TERM === "dumb") {
281
+ return min;
282
+ }
283
+ if (import_node_process.default.platform === "win32") {
284
+ const osRelease = import_node_os.default.release().split(".");
285
+ if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
286
+ return Number(osRelease[2]) >= 14931 ? 3 : 2;
287
+ }
288
+ return 1;
289
+ }
290
+ if ("CI" in env) {
291
+ if ("GITHUB_ACTIONS" in env || "GITEA_ACTIONS" in env) {
292
+ return 3;
293
+ }
294
+ if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
295
+ return 1;
296
+ }
297
+ return min;
298
+ }
299
+ if ("TEAMCITY_VERSION" in env) {
300
+ return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
301
+ }
302
+ if (env.COLORTERM === "truecolor") {
303
+ return 3;
304
+ }
305
+ if (env.TERM === "xterm-kitty") {
306
+ return 3;
307
+ }
308
+ if ("TERM_PROGRAM" in env) {
309
+ const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
310
+ switch (env.TERM_PROGRAM) {
311
+ case "iTerm.app": {
312
+ return version >= 3 ? 3 : 2;
313
+ }
314
+ case "Apple_Terminal": {
315
+ return 2;
316
+ }
317
+ }
318
+ }
319
+ if (/-256(color)?$/i.test(env.TERM)) {
320
+ return 2;
321
+ }
322
+ if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
323
+ return 1;
324
+ }
325
+ if ("COLORTERM" in env) {
326
+ return 1;
327
+ }
328
+ return min;
329
+ }
330
+ function createSupportsColor(stream, options = {}) {
331
+ const level = _supportsColor(stream, {
332
+ streamIsTTY: stream && stream.isTTY,
333
+ ...options
334
+ });
335
+ return translateLevel(level);
336
+ }
337
+ var import_node_process, import_node_os, import_node_tty, env, flagForceColor, supportsColor, supports_color_default;
338
+ var init_supports_color = __esm({
339
+ "node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/vendor/supports-color/index.js"() {
340
+ import_node_process = __toESM(require("node:process"), 1);
341
+ import_node_os = __toESM(require("node:os"), 1);
342
+ import_node_tty = __toESM(require("node:tty"), 1);
343
+ ({ env } = import_node_process.default);
344
+ if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
345
+ flagForceColor = 0;
346
+ } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
347
+ flagForceColor = 1;
348
+ }
349
+ supportsColor = {
350
+ stdout: createSupportsColor({ isTTY: import_node_tty.default.isatty(1) }),
351
+ stderr: createSupportsColor({ isTTY: import_node_tty.default.isatty(2) })
352
+ };
353
+ supports_color_default = supportsColor;
354
+ }
355
+ });
356
+
357
+ // node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/utilities.js
358
+ function stringReplaceAll(string, substring, replacer) {
359
+ let index4 = string.indexOf(substring);
360
+ if (index4 === -1) {
361
+ return string;
362
+ }
363
+ const substringLength = substring.length;
364
+ let endIndex = 0;
365
+ let returnValue = "";
366
+ do {
367
+ returnValue += string.slice(endIndex, index4) + substring + replacer;
368
+ endIndex = index4 + substringLength;
369
+ index4 = string.indexOf(substring, endIndex);
370
+ } while (index4 !== -1);
371
+ returnValue += string.slice(endIndex);
372
+ return returnValue;
373
+ }
374
+ function stringEncaseCRLFWithFirstIndex(string, prefix, postfix, index4) {
375
+ let endIndex = 0;
376
+ let returnValue = "";
377
+ do {
378
+ const gotCR = string[index4 - 1] === "\r";
379
+ returnValue += string.slice(endIndex, gotCR ? index4 - 1 : index4) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
380
+ endIndex = index4 + 1;
381
+ index4 = string.indexOf("\n", endIndex);
382
+ } while (index4 !== -1);
383
+ returnValue += string.slice(endIndex);
384
+ return returnValue;
385
+ }
386
+ var init_utilities = __esm({
387
+ "node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/utilities.js"() {
388
+ }
389
+ });
390
+
391
+ // node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/index.js
392
+ function createChalk(options) {
393
+ return chalkFactory(options);
394
+ }
395
+ var stdoutColor, stderrColor, GENERATOR, STYLER, IS_EMPTY, levelMapping, styles2, applyOptions, chalkFactory, getModelAnsi, usedModels, proto, createStyler, createBuilder, applyStyle, chalk, chalkStderr, source_default;
396
+ var init_source = __esm({
397
+ "node_modules/.pnpm/chalk@5.3.0/node_modules/chalk/source/index.js"() {
398
+ init_ansi_styles();
399
+ init_supports_color();
400
+ init_utilities();
401
+ ({ stdout: stdoutColor, stderr: stderrColor } = supports_color_default);
402
+ GENERATOR = Symbol("GENERATOR");
403
+ STYLER = Symbol("STYLER");
404
+ IS_EMPTY = Symbol("IS_EMPTY");
405
+ levelMapping = [
406
+ "ansi",
407
+ "ansi",
408
+ "ansi256",
409
+ "ansi16m"
410
+ ];
411
+ styles2 = /* @__PURE__ */ Object.create(null);
412
+ applyOptions = (object, options = {}) => {
413
+ if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
414
+ throw new Error("The `level` option should be an integer from 0 to 3");
415
+ }
416
+ const colorLevel = stdoutColor ? stdoutColor.level : 0;
417
+ object.level = options.level === void 0 ? colorLevel : options.level;
418
+ };
419
+ chalkFactory = (options) => {
420
+ const chalk2 = (...strings) => strings.join(" ");
421
+ applyOptions(chalk2, options);
422
+ Object.setPrototypeOf(chalk2, createChalk.prototype);
423
+ return chalk2;
424
+ };
425
+ Object.setPrototypeOf(createChalk.prototype, Function.prototype);
426
+ for (const [styleName, style] of Object.entries(ansi_styles_default)) {
427
+ styles2[styleName] = {
428
+ get() {
429
+ const builder = createBuilder(this, createStyler(style.open, style.close, this[STYLER]), this[IS_EMPTY]);
430
+ Object.defineProperty(this, styleName, { value: builder });
431
+ return builder;
432
+ }
433
+ };
434
+ }
435
+ styles2.visible = {
436
+ get() {
437
+ const builder = createBuilder(this, this[STYLER], true);
438
+ Object.defineProperty(this, "visible", { value: builder });
439
+ return builder;
440
+ }
441
+ };
442
+ getModelAnsi = (model, level, type, ...arguments_) => {
443
+ if (model === "rgb") {
444
+ if (level === "ansi16m") {
445
+ return ansi_styles_default[type].ansi16m(...arguments_);
446
+ }
447
+ if (level === "ansi256") {
448
+ return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_));
449
+ }
450
+ return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_));
451
+ }
452
+ if (model === "hex") {
453
+ return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_));
454
+ }
455
+ return ansi_styles_default[type][model](...arguments_);
456
+ };
457
+ usedModels = ["rgb", "hex", "ansi256"];
458
+ for (const model of usedModels) {
459
+ styles2[model] = {
460
+ get() {
461
+ const { level } = this;
462
+ return function(...arguments_) {
463
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "color", ...arguments_), ansi_styles_default.color.close, this[STYLER]);
464
+ return createBuilder(this, styler, this[IS_EMPTY]);
465
+ };
466
+ }
467
+ };
468
+ const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
469
+ styles2[bgModel] = {
470
+ get() {
471
+ const { level } = this;
472
+ return function(...arguments_) {
473
+ const styler = createStyler(getModelAnsi(model, levelMapping[level], "bgColor", ...arguments_), ansi_styles_default.bgColor.close, this[STYLER]);
474
+ return createBuilder(this, styler, this[IS_EMPTY]);
475
+ };
476
+ }
477
+ };
478
+ }
479
+ proto = Object.defineProperties(() => {
480
+ }, {
481
+ ...styles2,
482
+ level: {
483
+ enumerable: true,
484
+ get() {
485
+ return this[GENERATOR].level;
486
+ },
487
+ set(level) {
488
+ this[GENERATOR].level = level;
489
+ }
490
+ }
491
+ });
492
+ createStyler = (open, close, parent) => {
493
+ let openAll;
494
+ let closeAll;
495
+ if (parent === void 0) {
496
+ openAll = open;
497
+ closeAll = close;
498
+ } else {
499
+ openAll = parent.openAll + open;
500
+ closeAll = close + parent.closeAll;
501
+ }
502
+ return {
503
+ open,
504
+ close,
505
+ openAll,
506
+ closeAll,
507
+ parent
508
+ };
509
+ };
510
+ createBuilder = (self2, _styler, _isEmpty) => {
511
+ const builder = (...arguments_) => applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
512
+ Object.setPrototypeOf(builder, proto);
513
+ builder[GENERATOR] = self2;
514
+ builder[STYLER] = _styler;
515
+ builder[IS_EMPTY] = _isEmpty;
516
+ return builder;
517
+ };
518
+ applyStyle = (self2, string) => {
519
+ if (self2.level <= 0 || !string) {
520
+ return self2[IS_EMPTY] ? "" : string;
521
+ }
522
+ let styler = self2[STYLER];
523
+ if (styler === void 0) {
524
+ return string;
525
+ }
526
+ const { openAll, closeAll } = styler;
527
+ if (string.includes("\x1B")) {
528
+ while (styler !== void 0) {
529
+ string = stringReplaceAll(string, styler.close, styler.open);
530
+ styler = styler.parent;
531
+ }
532
+ }
533
+ const lfIndex = string.indexOf("\n");
534
+ if (lfIndex !== -1) {
535
+ string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
536
+ }
537
+ return openAll + string + closeAll;
538
+ };
539
+ Object.defineProperties(createChalk.prototype, styles2);
540
+ chalk = createChalk();
541
+ chalkStderr = createChalk({ level: stderrColor ? stderrColor.level : 0 });
542
+ source_default = chalk;
543
+ }
544
+ });
545
+
36
546
  // node_modules/.pnpm/hanji@0.0.5/node_modules/hanji/readline.js
37
547
  var require_readline = __commonJS({
38
548
  "node_modules/.pnpm/hanji@0.0.5/node_modules/hanji/readline.js"(exports2) {
@@ -545,7 +1055,7 @@ var require_hanji = __commonJS({
545
1055
  return;
546
1056
  }
547
1057
  exports2.render = render2;
548
- function renderWithTask2(view, task) {
1058
+ function renderWithTask3(view, task) {
549
1059
  return __awaiter(this, void 0, void 0, function* () {
550
1060
  const terminal = new TaskTerminal(view, process.stdout);
551
1061
  terminal.requestLayout();
@@ -554,7 +1064,7 @@ var require_hanji = __commonJS({
554
1064
  return result;
555
1065
  });
556
1066
  }
557
- exports2.renderWithTask = renderWithTask2;
1067
+ exports2.renderWithTask = renderWithTask3;
558
1068
  var terminateHandler;
559
1069
  function onTerminate(callback) {
560
1070
  terminateHandler = callback;
@@ -4964,12 +5474,49 @@ var init_utils = __esm({
4964
5474
  });
4965
5475
 
4966
5476
  // src/cli/views.ts
4967
- var import_hanji;
5477
+ var import_hanji, Spinner, ProgressView;
4968
5478
  var init_views = __esm({
4969
5479
  "src/cli/views.ts"() {
4970
5480
  "use strict";
5481
+ init_source();
4971
5482
  import_hanji = __toESM(require_hanji());
4972
5483
  init_utils();
5484
+ Spinner = class {
5485
+ constructor(frames) {
5486
+ this.frames = frames;
5487
+ this.offset = 0;
5488
+ this.tick = () => {
5489
+ this.iterator();
5490
+ };
5491
+ this.value = () => {
5492
+ return this.frames[this.offset];
5493
+ };
5494
+ this.iterator = () => {
5495
+ this.offset += 1;
5496
+ this.offset %= frames.length - 1;
5497
+ };
5498
+ }
5499
+ };
5500
+ ProgressView = class extends import_hanji.TaskView {
5501
+ constructor(progressText, successText) {
5502
+ super();
5503
+ this.progressText = progressText;
5504
+ this.successText = successText;
5505
+ this.spinner = new Spinner("\u28F7\u28EF\u28DF\u287F\u28BF\u28FB\u28FD\u28FE".split(""));
5506
+ this.timeout = setInterval(() => {
5507
+ this.spinner.tick();
5508
+ this.requestLayout();
5509
+ }, 128);
5510
+ this.on("detach", () => clearInterval(this.timeout));
5511
+ }
5512
+ render(status) {
5513
+ if (status === "pending") {
5514
+ const spin = this.spinner.value();
5515
+ return `[${spin}] ${this.progressText}`;
5516
+ }
5517
+ return `[${source_default.green("\u2713")}] ${this.successText}`;
5518
+ }
5519
+ };
4973
5520
  }
4974
5521
  });
4975
5522
 
@@ -5047,12 +5594,24 @@ var init_sqliteSerializer = __esm({
5047
5594
  `SELECT
5048
5595
  m.name as "tableName", p.name as "columnName", p.type as "columnType", p."notnull" as "notNull", p.dflt_value as "defaultValue", p.pk as pk
5049
5596
  FROM sqlite_master AS m JOIN pragma_table_info(m.name) AS p
5050
- WHERE m.type = 'table' and m.tbl_name != 'sqlite_sequence' and m.tbl_name != 'sqlite_stat1' and m.tbl_name != '_litestream_seq' and m.tbl_name != '_litestream_lock' and m.tbl_name != 'libsql_wasm_func_table' and m.tbl_name != '__drizzle_migrations';
5597
+ WHERE m.type = 'table'
5598
+ and m.tbl_name != 'sqlite_sequence'
5599
+ and m.tbl_name != 'sqlite_stat1'
5600
+ and m.tbl_name != '_litestream_seq'
5601
+ and m.tbl_name != '_litestream_lock'
5602
+ and m.tbl_name != 'libsql_wasm_func_table'
5603
+ and m.tbl_name != '__drizzle_migrations'
5604
+ and m.tbl_name != '_cf_KV';
5051
5605
  `
5052
5606
  );
5053
5607
  const tablesWithSeq = [];
5054
5608
  const seq = await db.query(
5055
- `SELECT * FROM sqlite_master WHERE name != 'sqlite_sequence' and name != 'sqlite_stat1' and name != '_litestream_seq' and name != '_litestream_lock' and sql GLOB '*[ *' || CHAR(9) || CHAR(10) || CHAR(13) || ']AUTOINCREMENT[^'']*';`
5609
+ `SELECT * FROM sqlite_master WHERE name != 'sqlite_sequence'
5610
+ and name != 'sqlite_stat1'
5611
+ and name != '_litestream_seq'
5612
+ and name != '_litestream_lock'
5613
+ and tbl_name != '_cf_KV'
5614
+ and sql GLOB '*[ *' || CHAR(9) || CHAR(10) || CHAR(13) || ']AUTOINCREMENT[^'']*';`
5056
5615
  );
5057
5616
  for (const s of seq) {
5058
5617
  tablesWithSeq.push(s.name);
@@ -5137,7 +5696,8 @@ var init_sqliteSerializer = __esm({
5137
5696
  try {
5138
5697
  const fks = await db.query(
5139
5698
  `SELECT m.name as "tableFrom", f.id as "id", f."table" as "tableTo", f."from", f."to", f."on_update" as "onUpdate", f."on_delete" as "onDelete", f.seq as "seq"
5140
- FROM sqlite_master m, pragma_foreign_key_list(m.name) as f;`
5699
+ FROM sqlite_master m, pragma_foreign_key_list(m.name) as f
5700
+ where m.tbl_name != '_cf_KV';`
5141
5701
  );
5142
5702
  const fkByTableName = {};
5143
5703
  for (const fkRow of fks) {
@@ -5196,7 +5756,9 @@ FROM sqlite_master AS m,
5196
5756
  pragma_index_list(m.name) AS il,
5197
5757
  pragma_index_info(il.name) AS ii
5198
5758
  WHERE
5199
- m.type = 'table' and il.name NOT LIKE 'sqlite_autoindex_%';`
5759
+ m.type = 'table'
5760
+ and il.name NOT LIKE 'sqlite_autoindex_%'
5761
+ and m.tbl_name != '_cf_KV';`
5200
5762
  );
5201
5763
  for (const idxRow of idxs) {
5202
5764
  const tableName = idxRow.tableName;
@@ -5896,6 +6458,7 @@ var init_pgSerializer = __esm({
5896
6458
  "time without time zone": "::time without time zone",
5897
6459
  // "timestamp with time zone": "::timestamp with time zone",
5898
6460
  "timestamp without time zone": "::timestamp without time zone",
6461
+ "timestamp(": "::timestamp without time zone",
5899
6462
  // date: "::date",
5900
6463
  // interval: "::interval",
5901
6464
  // character: "::bpchar",
@@ -5908,15 +6471,15 @@ var init_pgSerializer = __esm({
5908
6471
  "character(": "::bpchar"
5909
6472
  };
5910
6473
  defaultForColumn = (column4) => {
6474
+ if (column4.column_default === null) {
6475
+ return void 0;
6476
+ }
5911
6477
  if (column4.data_type === "serial" || column4.data_type === "smallserial" || column4.data_type === "bigserial") {
5912
6478
  return void 0;
5913
6479
  }
5914
6480
  const hasDifferentDefaultCast = Object.keys(columnToDefault).find(
5915
6481
  (it) => column4.data_type.startsWith(it)
5916
6482
  );
5917
- if (column4.column_default === null) {
5918
- return void 0;
5919
- }
5920
6483
  const columnDefaultAsString = column4.column_default.toString();
5921
6484
  if (columnDefaultAsString.endsWith(
5922
6485
  hasDifferentDefaultCast ? columnToDefault[hasDifferentDefaultCast] : column4.data_type
@@ -7281,7 +7844,14 @@ var sqlitePushIntrospect = async (db, filters) => {
7281
7844
  }
7282
7845
  return false;
7283
7846
  };
7284
- const res = await fromDatabase(db, filter2);
7847
+ const progress = new ProgressView(
7848
+ "Pulling schema from database...",
7849
+ "Pulling schema from database..."
7850
+ );
7851
+ const res = await (0, import_hanji2.renderWithTask)(
7852
+ progress,
7853
+ fromDatabase(db, filter2)
7854
+ );
7285
7855
  const schema3 = { id: originUUID, prevId: "", ...res };
7286
7856
  return { schema: schema3 };
7287
7857
  };
@@ -7289,6 +7859,8 @@ var sqlitePushIntrospect = async (db, filters) => {
7289
7859
  // src/cli/commands/pgIntrospect.ts
7290
7860
  init_pgSerializer();
7291
7861
  init_global();
7862
+ init_views();
7863
+ var import_hanji3 = __toESM(require_hanji());
7292
7864
  var pgPushIntrospect = async (db, filters, schemaFilters) => {
7293
7865
  const matchers = filters.map((it) => {
7294
7866
  return new Minimatch(it);
@@ -7303,7 +7875,14 @@ var pgPushIntrospect = async (db, filters, schemaFilters) => {
7303
7875
  }
7304
7876
  return false;
7305
7877
  };
7306
- const res = await fromDatabase2(db, filter2, schemaFilters);
7878
+ const progress = new ProgressView(
7879
+ "Pulling schema from database...",
7880
+ "Pulling schema from database..."
7881
+ );
7882
+ const res = await (0, import_hanji3.renderWithTask)(
7883
+ progress,
7884
+ fromDatabase2(db, filter2, schemaFilters)
7885
+ );
7307
7886
  const schema3 = { id: originUUID, prevId: "", ...res };
7308
7887
  const { internal, ...schemaWithoutInternals } = schema3;
7309
7888
  return { schema: schemaWithoutInternals };