@liquidmetal-ai/drizzle 0.1.0 → 0.1.2

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.
@@ -0,0 +1,6 @@
1
+ ---
2
+ '@liquidmetal-ai/drizzle': patch
3
+ '@liquidmetal-ai/raindrop-framework': patch
4
+ ---
5
+
6
+ Fix potentially bad release
@@ -1,6 +1,30 @@
1
1
 
2
2
  
3
- > @liquidmetal-ai/drizzle@0.0.4 build
3
+ > @liquidmetal-ai/drizzle@0.1.2 prebuild
4
+ > npm install --ignore-scripts
5
+
6
+ ⠙⠹⠸⠼⠴⠦⠧⠇⠏⠋⠙
7
+ > @liquidmetal-ai/drizzle@0.1.2 prepare
8
+ > npm run build
9
+
10
+ ⠙
11
+ > @liquidmetal-ai/drizzle@0.1.2 build
12
+ > shx rm -rf dist && tsc -b
13
+
14
+ ⠙⠙⠹⠸⠼⠴⠦⠧⠇⠏⠋
15
+ up to date, audited 2474 packages in 6s
16
+ ⠋
17
+ ⠋402 packages are looking for funding
18
+ ⠋ run `npm fund` for details
19
+ ⠋
20
+ 6 vulnerabilities (1 low, 1 moderate, 4 high)
21
+
22
+ To address all issues, run:
23
+ npm audit fix
24
+
25
+ Run `npm audit` for details.
26
+ ⠋⠙
27
+ > @liquidmetal-ai/drizzle@0.1.2 build
4
28
  > shx rm -rf dist && tsc -b
5
29
 
6
- ⠙
30
+ ⠙⠙
@@ -0,0 +1,38 @@
1
+ export declare enum LogLevel {
2
+ DEBUG = "DEBUG",
3
+ INFO = "INFO",
4
+ WARN = "WARN",
5
+ ERROR = "ERROR"
6
+ }
7
+ export interface Fields {
8
+ [key: string]: number | string | boolean | object | undefined | null | Error | Fields;
9
+ }
10
+ export interface Error {
11
+ cause?: string;
12
+ stack?: string;
13
+ message: string;
14
+ }
15
+ export interface Message {
16
+ level: LogLevel;
17
+ message: string;
18
+ fields: Fields;
19
+ }
20
+ interface LogSink {
21
+ (m: Message): void;
22
+ }
23
+ export declare class Logger {
24
+ #private;
25
+ constructor(sink: LogSink, fields?: Fields, defaultLogLevel?: LogLevel);
26
+ with(fields?: Fields): Logger;
27
+ log(message: string, fields?: Fields): void;
28
+ logAtLevel(level: LogLevel, message: string, fields?: Fields): void;
29
+ message(message: string, fields?: Fields): Message;
30
+ messageAtLevel(level: LogLevel, message: string, fields?: Fields): Message;
31
+ debug(message: string, fields?: Fields): void;
32
+ info(message: string, fields?: Fields): void;
33
+ warn(message: string, fields?: Fields): void;
34
+ withError(error: unknown, fields?: Fields): Logger;
35
+ error(message: string, fields?: Fields): void;
36
+ }
37
+ export {};
38
+ //# sourceMappingURL=logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;CACvF;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,OAAO;IACf,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACpB;AAED,qBAAa,MAAM;;gBAKL,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,QAAQ;IAMtE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAI7B,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3C,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAInE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IAIlD,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;IAQ1E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI7C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5C,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAgBlD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;CAG9C"}
@@ -0,0 +1,63 @@
1
+ export var LogLevel;
2
+ (function (LogLevel) {
3
+ LogLevel["DEBUG"] = "DEBUG";
4
+ LogLevel["INFO"] = "INFO";
5
+ LogLevel["WARN"] = "WARN";
6
+ LogLevel["ERROR"] = "ERROR";
7
+ })(LogLevel || (LogLevel = {}));
8
+ export class Logger {
9
+ #sink;
10
+ #fields;
11
+ #defaultLogLevel;
12
+ constructor(sink, fields, defaultLogLevel) {
13
+ this.#sink = sink;
14
+ this.#fields = fields || {};
15
+ this.#defaultLogLevel = defaultLogLevel || LogLevel.INFO;
16
+ }
17
+ with(fields) {
18
+ return new Logger(this.#sink, { ...this.#fields, ...fields });
19
+ }
20
+ log(message, fields) {
21
+ this.logAtLevel(this.#defaultLogLevel, message, fields);
22
+ }
23
+ logAtLevel(level, message, fields) {
24
+ this.#sink(this.messageAtLevel(level, message, fields));
25
+ }
26
+ message(message, fields) {
27
+ return this.messageAtLevel(this.#defaultLogLevel, message, fields);
28
+ }
29
+ messageAtLevel(level, message, fields) {
30
+ return {
31
+ level,
32
+ message,
33
+ fields: { ...this.#fields, ...fields },
34
+ };
35
+ }
36
+ debug(message, fields) {
37
+ this.logAtLevel(LogLevel.DEBUG, message, fields);
38
+ }
39
+ info(message, fields) {
40
+ this.logAtLevel(LogLevel.INFO, message, fields);
41
+ }
42
+ warn(message, fields) {
43
+ this.logAtLevel(LogLevel.WARN, message, fields);
44
+ }
45
+ withError(error, fields) {
46
+ let err;
47
+ if (typeof error === 'object' && error !== null) {
48
+ err = error;
49
+ }
50
+ else {
51
+ err = {};
52
+ }
53
+ const errFields = {
54
+ message: 'message' in err && typeof err.message === 'string' ? err.message : 'Unknown error',
55
+ stack: 'stack' in err && typeof err.stack === 'string' ? err.stack : undefined,
56
+ cause: 'cause' in err && typeof err.cause === 'string' ? err.cause : undefined,
57
+ };
58
+ return this.with({ error: errFields, ...fields, logLevel: LogLevel.ERROR });
59
+ }
60
+ error(message, fields) {
61
+ this.logAtLevel(LogLevel.ERROR, message, fields);
62
+ }
63
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=logging.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.test.d.ts","sourceRoot":"","sources":["../src/logging.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,84 @@
1
+ import { afterAll, describe, expect, it, vi } from 'vitest';
2
+ import { Logger, LogLevel } from './logging.js';
3
+ describe('Logger', () => {
4
+ const consoleSpy = vi.spyOn(console, 'log');
5
+ afterAll(() => {
6
+ consoleSpy.mockReset();
7
+ });
8
+ it('can be created with default fields and log level', () => {
9
+ const logger = new Logger(console.log, { foo: 'bar' });
10
+ const message = logger.message('just a test message');
11
+ expect(message).toEqual({
12
+ level: LogLevel.INFO,
13
+ message: 'just a test message',
14
+ fields: { foo: 'bar' },
15
+ });
16
+ });
17
+ it('can be composed with additional fields', () => {
18
+ const logger1 = new Logger(console.log, { foo: 'bar' });
19
+ const logger2 = logger1.with({ baz: 'qux' });
20
+ const message1 = logger1.message('just a test message');
21
+ const message2 = logger2.message('just another test message');
22
+ expect(message1).toEqual({
23
+ level: LogLevel.INFO,
24
+ message: 'just a test message',
25
+ fields: { foo: 'bar' },
26
+ });
27
+ expect(message2).toEqual({
28
+ level: LogLevel.INFO,
29
+ message: 'just another test message',
30
+ fields: { foo: 'bar', baz: 'qux' },
31
+ });
32
+ });
33
+ it('can log messages at a debug level', () => {
34
+ const logger = new Logger(console.log);
35
+ logger.debug('debug message');
36
+ expect(consoleSpy).toHaveBeenCalledWith({
37
+ fields: {},
38
+ level: 'DEBUG',
39
+ message: 'debug message',
40
+ });
41
+ });
42
+ it('can log messages at a info level', () => {
43
+ const logger = new Logger(console.log);
44
+ logger.info('info message');
45
+ expect(consoleSpy).toHaveBeenCalledWith({
46
+ fields: {},
47
+ level: 'INFO',
48
+ message: 'info message',
49
+ });
50
+ });
51
+ it('can log messages at a warn level', () => {
52
+ const logger = new Logger(console.log);
53
+ logger.warn('warn message');
54
+ expect(consoleSpy).toHaveBeenCalledWith({
55
+ fields: {},
56
+ level: 'WARN',
57
+ message: 'warn message',
58
+ });
59
+ });
60
+ it('can log messages at an error level', () => {
61
+ const logger = new Logger(console.log);
62
+ logger.error('error message');
63
+ expect(consoleSpy).toHaveBeenCalledWith({
64
+ fields: {},
65
+ level: 'ERROR',
66
+ message: 'error message',
67
+ });
68
+ });
69
+ it('can log Error objects', () => {
70
+ const logger = new Logger(console.log);
71
+ const error = new Error('test error');
72
+ const message = logger.withError(error).messageAtLevel(LogLevel.ERROR, 'error message');
73
+ expect(message).toMatchObject({
74
+ level: LogLevel.ERROR,
75
+ message: 'error message',
76
+ fields: {
77
+ error: {
78
+ message: 'test error',
79
+ cause: undefined,
80
+ },
81
+ },
82
+ });
83
+ });
84
+ });
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "@liquidmetal-ai/drizzle",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Raindrop core operational libraries",
5
+ "main": "dist/index.js",
5
6
  "type": "module",
6
7
  "scripts": {
8
+ "prebuild": "npm install --ignore-scripts",
9
+ "prepare": "npm run build",
7
10
  "build": "shx rm -rf dist && tsc -b",
8
11
  "format": "prettier --write \"**/*.{ts,tsx,md}\"",
9
12
  "lint": "eslint . --max-warnings=0",
10
- "prepare": "npm run build",
11
13
  "posttest": "npm run lint",
12
14
  "test": "vitest run",
13
15
  "test:watch": "vitest"
@@ -29,6 +31,9 @@
29
31
  "typescript-eslint": "^8.7.0",
30
32
  "vitest": "^2.1.1"
31
33
  },
34
+ "dependencies": {
35
+ "jszip": "^3.10.1"
36
+ },
32
37
  "exports": {
33
38
  ".": {
34
39
  "import": "./dist/index.js",
@@ -38,8 +43,5 @@
38
43
  "import": "./dist/*.js",
39
44
  "types": "./dist/*.d.ts"
40
45
  }
41
- },
42
- "dependencies": {
43
- "jszip": "^3.10.1"
44
46
  }
45
47
  }
@@ -0,0 +1,95 @@
1
+ import { afterAll, describe, expect, it, vi } from 'vitest';
2
+ import { Logger, LogLevel } from './logging.js';
3
+
4
+ describe('Logger', () => {
5
+ const consoleSpy = vi.spyOn(console, 'log');
6
+
7
+ afterAll(() => {
8
+ consoleSpy.mockReset();
9
+ });
10
+
11
+ it('can be created with default fields and log level', () => {
12
+ const logger = new Logger(console.log, { foo: 'bar' });
13
+ const message = logger.message('just a test message');
14
+ expect(message).toEqual({
15
+ level: LogLevel.INFO,
16
+ message: 'just a test message',
17
+ fields: { foo: 'bar' },
18
+ });
19
+ });
20
+
21
+ it('can be composed with additional fields', () => {
22
+ const logger1 = new Logger(console.log, { foo: 'bar' });
23
+ const logger2 = logger1.with({ baz: 'qux' });
24
+ const message1 = logger1.message('just a test message');
25
+ const message2 = logger2.message('just another test message');
26
+
27
+ expect(message1).toEqual({
28
+ level: LogLevel.INFO,
29
+ message: 'just a test message',
30
+ fields: { foo: 'bar' },
31
+ });
32
+ expect(message2).toEqual({
33
+ level: LogLevel.INFO,
34
+ message: 'just another test message',
35
+ fields: { foo: 'bar', baz: 'qux' },
36
+ });
37
+ });
38
+
39
+ it('can log messages at a debug level', () => {
40
+ const logger = new Logger(console.log);
41
+ logger.debug('debug message');
42
+ expect(consoleSpy).toHaveBeenCalledWith({
43
+ fields: {},
44
+ level: 'DEBUG',
45
+ message: 'debug message',
46
+ });
47
+ });
48
+
49
+ it('can log messages at a info level', () => {
50
+ const logger = new Logger(console.log);
51
+ logger.info('info message');
52
+ expect(consoleSpy).toHaveBeenCalledWith({
53
+ fields: {},
54
+ level: 'INFO',
55
+ message: 'info message',
56
+ });
57
+ });
58
+
59
+ it('can log messages at a warn level', () => {
60
+ const logger = new Logger(console.log);
61
+ logger.warn('warn message');
62
+ expect(consoleSpy).toHaveBeenCalledWith({
63
+ fields: {},
64
+ level: 'WARN',
65
+ message: 'warn message',
66
+ });
67
+ });
68
+
69
+ it('can log messages at an error level', () => {
70
+ const logger = new Logger(console.log);
71
+ logger.error('error message');
72
+ expect(consoleSpy).toHaveBeenCalledWith({
73
+ fields: {},
74
+ level: 'ERROR',
75
+ message: 'error message',
76
+ });
77
+ });
78
+
79
+ it('can log Error objects', () => {
80
+ const logger = new Logger(console.log);
81
+ const error = new Error('test error');
82
+ const message = logger.withError(error).messageAtLevel(LogLevel.ERROR, 'error message');
83
+
84
+ expect(message).toMatchObject({
85
+ level: LogLevel.ERROR,
86
+ message: 'error message',
87
+ fields: {
88
+ error: {
89
+ message: 'test error',
90
+ cause: undefined,
91
+ },
92
+ },
93
+ });
94
+ });
95
+ });
package/src/logging.ts ADDED
@@ -0,0 +1,94 @@
1
+ export enum LogLevel {
2
+ DEBUG = 'DEBUG',
3
+ INFO = 'INFO',
4
+ WARN = 'WARN',
5
+ ERROR = 'ERROR',
6
+ }
7
+
8
+ export interface Fields {
9
+ [key: string]: number | string | boolean | object | undefined | null | Error | Fields;
10
+ }
11
+
12
+ export interface Error {
13
+ cause?: string;
14
+ stack?: string;
15
+ message: string;
16
+ }
17
+
18
+ export interface Message {
19
+ level: LogLevel;
20
+ message: string;
21
+ fields: Fields;
22
+ }
23
+
24
+ interface LogSink {
25
+ (m: Message): void;
26
+ }
27
+
28
+ export class Logger {
29
+ #sink: (m: Message) => void;
30
+ #fields: Fields;
31
+ #defaultLogLevel: LogLevel;
32
+
33
+ constructor(sink: LogSink, fields?: Fields, defaultLogLevel?: LogLevel) {
34
+ this.#sink = sink;
35
+ this.#fields = fields || {};
36
+ this.#defaultLogLevel = defaultLogLevel || LogLevel.INFO;
37
+ }
38
+
39
+ with(fields?: Fields): Logger {
40
+ return new Logger(this.#sink, { ...this.#fields, ...fields });
41
+ }
42
+
43
+ log(message: string, fields?: Fields): void {
44
+ this.logAtLevel(this.#defaultLogLevel, message, fields);
45
+ }
46
+
47
+ logAtLevel(level: LogLevel, message: string, fields?: Fields): void {
48
+ this.#sink(this.messageAtLevel(level, message, fields));
49
+ }
50
+
51
+ message(message: string, fields?: Fields): Message {
52
+ return this.messageAtLevel(this.#defaultLogLevel, message, fields);
53
+ }
54
+
55
+ messageAtLevel(level: LogLevel, message: string, fields?: Fields): Message {
56
+ return {
57
+ level,
58
+ message,
59
+ fields: { ...this.#fields, ...fields },
60
+ };
61
+ }
62
+
63
+ debug(message: string, fields?: Fields): void {
64
+ this.logAtLevel(LogLevel.DEBUG, message, fields);
65
+ }
66
+
67
+ info(message: string, fields?: Fields): void {
68
+ this.logAtLevel(LogLevel.INFO, message, fields);
69
+ }
70
+
71
+ warn(message: string, fields?: Fields): void {
72
+ this.logAtLevel(LogLevel.WARN, message, fields);
73
+ }
74
+
75
+ withError(error: unknown, fields?: Fields): Logger {
76
+ let err: object;
77
+ if (typeof error === 'object' && error !== null) {
78
+ err = error;
79
+ } else {
80
+ err = {};
81
+ }
82
+
83
+ const errFields = {
84
+ message: 'message' in err && typeof err.message === 'string' ? err.message : 'Unknown error',
85
+ stack: 'stack' in err && typeof err.stack === 'string' ? err.stack : undefined,
86
+ cause: 'cause' in err && typeof err.cause === 'string' ? err.cause : undefined,
87
+ };
88
+ return this.with({ error: errFields, ...fields, logLevel: LogLevel.ERROR });
89
+ }
90
+
91
+ error(message: string, fields?: Fields): void {
92
+ this.logAtLevel(LogLevel.ERROR, message, fields);
93
+ }
94
+ }
package/tsconfig.json CHANGED
@@ -6,7 +6,6 @@
6
6
  "esModuleInterop": true,
7
7
  "incremental": false,
8
8
  "isolatedModules": true,
9
- "lib": ["es2022", "DOM", "DOM.Iterable"],
10
9
  "lib": ["ESNext"],
11
10
  "module": "ESNext",
12
11
  "moduleDetection": "force",
@@ -1 +1 @@
1
- {"root":["./src/codestore.test.ts","./src/codestore.ts","./src/appify/build.test.ts","./src/appify/build.ts","./src/appify/index.test.ts","./src/appify/index.ts","./src/appify/parse.test.ts","./src/appify/parse.ts","./src/appify/validate.test.ts","./src/appify/validate.ts","./src/liquidmetal/v1alpha1/catalog_connect.ts","./src/liquidmetal/v1alpha1/catalog_pb.ts","./src/liquidmetal/v1alpha1/rainbow_auth_connect.ts","./src/liquidmetal/v1alpha1/rainbow_auth_pb.ts","./src/liquidmetal/v1alpha1/rainbow_public_connect.ts","./src/liquidmetal/v1alpha1/rainbow_public_pb.ts","./src/liquidmetal/v1alpha1/raindrop_pb.ts","./src/raindrop/index.test.ts","./src/raindrop/index.ts","./src/unsafe/codestore.test.ts","./src/unsafe/codestore.ts","./src/unsafe/framework.test.ts","./src/unsafe/framework.ts"],"version":"5.6.3"}
1
+ {"root":["./src/codestore.test.ts","./src/codestore.ts","./src/logging.test.ts","./src/logging.ts","./src/appify/build.test.ts","./src/appify/build.ts","./src/appify/index.test.ts","./src/appify/index.ts","./src/appify/parse.test.ts","./src/appify/parse.ts","./src/appify/validate.test.ts","./src/appify/validate.ts","./src/liquidmetal/v1alpha1/catalog_connect.ts","./src/liquidmetal/v1alpha1/catalog_pb.ts","./src/liquidmetal/v1alpha1/rainbow_auth_connect.ts","./src/liquidmetal/v1alpha1/rainbow_auth_pb.ts","./src/liquidmetal/v1alpha1/rainbow_public_connect.ts","./src/liquidmetal/v1alpha1/rainbow_public_pb.ts","./src/liquidmetal/v1alpha1/raindrop_pb.ts","./src/raindrop/index.test.ts","./src/raindrop/index.ts","./src/unsafe/codestore.test.ts","./src/unsafe/codestore.ts","./src/unsafe/framework.test.ts","./src/unsafe/framework.ts"],"version":"5.6.3"}
@@ -1,6 +0,0 @@
1
-
2
- 
3
- > @liquidmetal-ai/drizzle@0.0.4 lint
4
- > eslint . --max-warnings=0
5
-
6
- ⠙
@@ -1,211 +0,0 @@
1
-
2
- 
3
- > @liquidmetal-ai/drizzle@0.0.4 test
4
- > vitest run
5
-
6
- 
7
-  RUN  v2.1.1 /Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle
8
-
9
- [?25l · src/appify/parse.test.ts (15)
10
- · src/appify/build.test.ts (2)
11
- [?25l · src/appify/parse.test.ts (15)
12
- ✓ src/appify/build.test.ts (2)
13
- [?25l ✓ src/appify/parse.test.ts (15)
14
- ✓ src/appify/build.test.ts (2)
15
- [?25l[?25l[?25l[?25l[?25l[?25l[?25l · src/appify/validate.test.ts (14)
16
- ✓ src/appify/parse.test.ts (15)
17
- ✓ src/appify/build.test.ts (2)
18
- [?25l · src/appify/validate.test.ts (14)
19
- · src/unsafe/framework.test.ts (7)
20
- ✓ src/appify/parse.test.ts (15)
21
- ✓ src/appify/build.test.ts (2)
22
- [?25l[?25l[?25l · src/appify/validate.test.ts (14)
23
- ❯ src/unsafe/framework.test.ts (7)
24
- ❯ getPackageVersion (7)
25
- ⠙ should detect npm package version
26
- · should detect yarn package version
27
- · should detect pnpm package version
28
- · should handle nested dependencies
29
- · should return null when package is not found
30
- · should search parent directories for package manager files
31
- · should handle command execution errors
32
- ✓ src/appify/parse.test.ts (15)
33
- · src/codestore.test.ts (9)
34
- ✓ src/appify/build.test.ts (2)
35
- · src/unsafe/codestore.test.ts (1)
36
- [?25l · src/appify/validate.test.ts (14)
37
- ❯ src/unsafe/framework.test.ts (7)
38
- ❯ getPackageVersion (7)
39
- ⠹ should detect npm package version
40
- · should detect yarn package version
41
- · should detect pnpm package version
42
- · should handle nested dependencies
43
- · should return null when package is not found
44
- · should search parent directories for package manager files
45
- · should handle command execution errors
46
- ✓ src/appify/parse.test.ts (15)
47
- ❯ src/codestore.test.ts (9)
48
- ⠙ archive and unarchive
49
- · list bundle with files
50
- · read file from bundle
51
- · read missing file from bundle
52
- · delete file from bundle
53
- · for await of bundle
54
- · stat file from bundle
55
- · stat missing file from bundle
56
- · hash bundle
57
- ✓ src/appify/build.test.ts (2)
58
- ❯ src/unsafe/codestore.test.ts (1)
59
- ⠙ FileSystemBundle maps to local files and their contents
60
- stderr | src/unsafe/framework.test.ts > getPackageVersion > should return null when package is not found
61
- Error reading package version: Error: Package version not found
62
- at Module.getPackageVersion (/Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.ts:108:11)
63
- at /Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.test.ts:151:21
64
- at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/@vitest/runner/dist/index.js:529:5
65
- at runTest (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/@vitest/runner/dist/index.js:982:11)
66
- at runSuite (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/@vitest/runner/dist/index.js:1131:15)
67
- at runSuite (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/@vitest/runner/dist/index.js:1131:15)
68
- at runFiles (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/@vitest/runner/dist/index.js:1188:5)
69
- at startTests (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/@vitest/runner/dist/index.js:1197:3)
70
- at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/vitest/dist/chunks/runBaseTests.9YDrdSI4.js:130:11
71
- at withEnv (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/vitest/dist/chunks/runBaseTests.9YDrdSI4.js:94:5)
72
-
73
- [?25l ✓ src/appify/validate.test.ts (14)
74
- ❯ src/unsafe/framework.test.ts (7)
75
- ❯ getPackageVersion (7)
76
- ⠸ should detect npm package version
77
- · should detect yarn package version
78
- · should detect pnpm package version
79
- · should handle nested dependencies
80
- · should return null when package is not found
81
- · should search parent directories for package manager files
82
- · should handle command execution errors
83
- ✓ src/appify/parse.test.ts (15)
84
- ❯ src/codestore.test.ts (9)
85
- ⠹ archive and unarchive
86
- · list bundle with files
87
- · read file from bundle
88
- · read missing file from bundle
89
- · delete file from bundle
90
- · for await of bundle
91
- · stat file from bundle
92
- · stat missing file from bundle
93
- · hash bundle
94
- ✓ src/appify/build.test.ts (2)
95
- ❯ src/unsafe/codestore.test.ts (1)
96
- ⠹ FileSystemBundle maps to local files and their contents
97
- stderr | src/unsafe/framework.test.ts > getPackageVersion > should handle command execution errors
98
- Error executing npm list command: Error: Command failed
99
- at /Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.test.ts:192:9
100
- at mockCall (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/vitest/node_modules/@vitest/spy/dist/index.js:61:17)
101
- at spy (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/tinyspy/dist/index.js:45:80)
102
-  at node:internal/util:447:21
103
- at new Promise (<anonymous>)
104
-  at spy (node:internal/util:433:12)
105
- at getVersionFromCommand (/Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.ts:69:30)
106
- at Module.getPackageVersion (/Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.ts:102:31)
107
- at /Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.test.ts:202:21
108
- at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/@vitest/runner/dist/index.js:529:5
109
-
110
- [?25l ✓ src/appify/validate.test.ts (14)
111
- ❯ src/unsafe/framework.test.ts (7)
112
- ❯ getPackageVersion (7)
113
- ✓ should detect npm package version
114
- ✓ should detect yarn package version
115
- ✓ should detect pnpm package version
116
- ✓ should handle nested dependencies
117
- ✓ should return null when package is not found
118
- ⠙ should search parent directories for package manager files
119
- · should handle command execution errors
120
- ✓ src/appify/parse.test.ts (15)
121
- ❯ src/codestore.test.ts (9)
122
- ⠸ archive and unarchive
123
- · list bundle with files
124
- · read file from bundle
125
- · read missing file from bundle
126
- · delete file from bundle
127
- · for await of bundle
128
- · stat file from bundle
129
- · stat missing file from bundle
130
- · hash bundle
131
- ✓ src/appify/build.test.ts (2)
132
- ✓ src/unsafe/codestore.test.ts (1)
133
- stderr | src/unsafe/framework.test.ts > getPackageVersion > should handle command execution errors
134
- Error reading package version: Error: Package version not found
135
- at Module.getPackageVersion (/Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.ts:108:11)
136
- at /Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/packages/drizzle/src/unsafe/framework.test.ts:202:21
137
- at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/@vitest/runner/dist/index.js:529:5
138
- at runTest (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/@vitest/runner/dist/index.js:982:11)
139
- at runSuite (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/@vitest/runner/dist/index.js:1131:15)
140
- at runSuite (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/@vitest/runner/dist/index.js:1131:15)
141
- at runFiles (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/@vitest/runner/dist/index.js:1188:5)
142
- at startTests (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/@vitest/runner/dist/index.js:1197:3)
143
- at file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/vitest/dist/chunks/runBaseTests.9YDrdSI4.js:130:11
144
- at withEnv (file:///Users/bosgood/dev/src/github.com/LiquidMetal-AI/liquidmetal/node_modules/vitest/dist/chunks/runBaseTests.9YDrdSI4.js:94:5)
145
-
146
- [?25l ✓ src/appify/validate.test.ts (14)
147
- ✓ src/unsafe/framework.test.ts (7)
148
- ✓ src/appify/parse.test.ts (15)
149
- ❯ src/codestore.test.ts (9)
150
- ⠼ archive and unarchive
151
- · list bundle with files
152
- · read file from bundle
153
- · read missing file from bundle
154
- · delete file from bundle
155
- · for await of bundle
156
- · stat file from bundle
157
- · stat missing file from bundle
158
- · hash bundle
159
- ✓ src/appify/build.test.ts (2)
160
- ✓ src/unsafe/codestore.test.ts (1)
161
- [?25l ✓ src/appify/validate.test.ts (14)
162
- ✓ src/unsafe/framework.test.ts (7)
163
- ✓ src/appify/parse.test.ts (15)
164
- ✓ src/codestore.test.ts (9)
165
- ✓ src/appify/build.test.ts (2)
166
- ✓ src/unsafe/codestore.test.ts (1)
167
- [?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l ✓ src/appify/validate.test.ts (14)
168
- ✓ src/unsafe/framework.test.ts (7)
169
- ✓ src/appify/parse.test.ts (15)
170
- ✓ src/codestore.test.ts (9)
171
- ✓ src/appify/build.test.ts (2)
172
- · src/appify/index.test.ts (3)
173
- ✓ src/unsafe/codestore.test.ts (1)
174
- [?25l ✓ src/appify/validate.test.ts (14)
175
- ✓ src/unsafe/framework.test.ts (7)
176
- ✓ src/appify/parse.test.ts (15)
177
- ✓ src/codestore.test.ts (9)
178
- ✓ src/appify/build.test.ts (2)
179
- ✓ src/appify/index.test.ts (3)
180
- ✓ src/unsafe/codestore.test.ts (1)
181
- [?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l[?25l ✓ src/appify/validate.test.ts (14)
182
- ✓ src/unsafe/framework.test.ts (7)
183
- ✓ src/appify/parse.test.ts (15)
184
- ✓ src/codestore.test.ts (9)
185
- ✓ src/appify/build.test.ts (2)
186
- ✓ src/appify/index.test.ts (3)
187
- ✓ src/unsafe/codestore.test.ts (1)
188
- ✓ src/raindrop/index.test.ts (1)
189
-  ✓ src/codestore.test.ts (9)
190
- ✓ src/appify/build.test.ts (2)
191
- ✓ src/appify/index.test.ts (3)
192
- ✓ src/appify/parse.test.ts (15)
193
- ✓ src/appify/validate.test.ts (14)
194
- ✓ src/raindrop/index.test.ts (1)
195
- ✓ src/unsafe/codestore.test.ts (1)
196
- ✓ src/unsafe/framework.test.ts (7)
197
-
198
-  Test Files  8 passed (8)
199
-  Tests  52 passed (52)
200
-  Start at  18:26:33
201
-  Duration  5.88s (transform 3.35s, setup 0ms, collect 7.85s, tests 702ms, environment 1ms, prepare 6.03s)
202
-
203
- [?25h[?25h⠙
204
- > @liquidmetal-ai/drizzle@0.0.4 posttest
205
- > npm run lint
206
-
207
- ⠙
208
- > @liquidmetal-ai/drizzle@0.0.4 lint
209
- > eslint . --max-warnings=0
210
-
211
- ⠙⠙