New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ink-testing-library

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ink-testing-library - npm Package Compare versions

Comparing version 2.1.0 to 3.0.0

8

build/index.d.ts

@@ -1,3 +0,3 @@

/// <reference types="node" />
import { EventEmitter } from 'events';
/// <reference types="node" resolution-mode="require"/>
import { EventEmitter } from 'node:events';
import type { ReactElement } from 'react';

@@ -25,3 +25,3 @@ declare class Stdout extends EventEmitter {

}
interface Instance {
type Instance = {
rerender: (tree: ReactElement) => void;

@@ -35,5 +35,5 @@ unmount: () => void;

lastFrame: () => string | undefined;
}
};
export declare const render: (tree: ReactElement) => Instance;
export declare const cleanup: () => void;
export {};

@@ -1,17 +0,33 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cleanup = exports.render = void 0;
const events_1 = require("events");
const ink_1 = require("ink");
class Stdout extends events_1.EventEmitter {
import { EventEmitter } from 'node:events';
import { render as inkRender } from 'ink';
class Stdout extends EventEmitter {
constructor() {
super(...arguments);
this.frames = [];
this.write = (frame) => {
this.frames.push(frame);
this._lastFrame = frame;
};
this.lastFrame = () => {
return this._lastFrame;
};
Object.defineProperty(this, "frames", {
enumerable: true,
configurable: true,
writable: true,
value: []
});
Object.defineProperty(this, "_lastFrame", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "write", {
enumerable: true,
configurable: true,
writable: true,
value: (frame) => {
this.frames.push(frame);
this._lastFrame = frame;
}
});
Object.defineProperty(this, "lastFrame", {
enumerable: true,
configurable: true,
writable: true,
value: () => this._lastFrame
});
}

@@ -22,22 +38,52 @@ get columns() {

}
class Stderr extends events_1.EventEmitter {
class Stderr extends EventEmitter {
constructor() {
super(...arguments);
this.frames = [];
this.write = (frame) => {
this.frames.push(frame);
this._lastFrame = frame;
};
this.lastFrame = () => {
return this._lastFrame;
};
Object.defineProperty(this, "frames", {
enumerable: true,
configurable: true,
writable: true,
value: []
});
Object.defineProperty(this, "_lastFrame", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "write", {
enumerable: true,
configurable: true,
writable: true,
value: (frame) => {
this.frames.push(frame);
this._lastFrame = frame;
}
});
Object.defineProperty(this, "lastFrame", {
enumerable: true,
configurable: true,
writable: true,
value: () => this._lastFrame
});
}
}
class Stdin extends events_1.EventEmitter {
class Stdin extends EventEmitter {
constructor() {
super(...arguments);
this.isTTY = true;
this.write = (data) => {
this.emit('data', data);
};
// eslint-disable-next-line @typescript-eslint/naming-convention
Object.defineProperty(this, "isTTY", {
enumerable: true,
configurable: true,
writable: true,
value: true
});
Object.defineProperty(this, "write", {
enumerable: true,
configurable: true,
writable: true,
value: (data) => {
this.emit('data', data);
}
});
}

@@ -58,9 +104,12 @@ setEncoding() {

const instances = [];
exports.render = (tree) => {
export const render = (tree) => {
const stdout = new Stdout();
const stderr = new Stderr();
const stdin = new Stdin();
const instance = ink_1.render(tree, {
const instance = inkRender(tree, {
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
stdout: stdout,
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
stderr: stderr,
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
stdin: stdin,

@@ -83,3 +132,3 @@ debug: true,

};
exports.cleanup = () => {
export const cleanup = () => {
for (const instance of instances) {

@@ -86,0 +135,0 @@ instance.unmount();

{
"name": "ink-testing-library",
"version": "2.1.0",
"version": "3.0.0",
"description": "Utilities for testing Ink apps",

@@ -9,9 +9,12 @@ "license": "MIT",

"name": "Vadim Demedes",
"email": "vdemedes@gmail.com",
"url": "github.com/vadimdemedes/ink-testing-library"
"email": "vadimdemedes@hey.com",
"url": "https://github.com/vadimdemedes"
},
"main": "build",
"types": "build/index.d.ts",
"type": "module",
"exports": {
"types": "./build/index.d.ts",
"default": "./build/index.js"
},
"engines": {
"node": ">=10"
"node": ">=14.16"
},

@@ -32,20 +35,19 @@ "scripts": {

"devDependencies": {
"@ava/babel": "^1.0.1",
"@babel/preset-react": "^7.0.0",
"@sindresorhus/tsconfig": "^0.7.0",
"@types/node": "^14.0.13",
"@types/react": "^16.9.38",
"ava": "^3.9.0",
"delay": "^4.3.0",
"eslint-config-xo-react": "^0.19.0",
"eslint-plugin-ava": "^10.3.1",
"eslint-plugin-react": "^7.12.4",
"eslint-plugin-react-hooks": "^1.4.0",
"ink": "^3.0.0-1",
"react": "^16.8.4",
"typescript": "^3.9.5",
"xo": "^0.32.0"
"@sindresorhus/tsconfig": "^3.0.1",
"@types/react": "^18.0.0",
"@vdemedes/prettier-config": "^1.0.1",
"ava": "^5.1.1",
"delay": "^5.0.0",
"eslint-config-xo-react": "^0.27.0",
"eslint-plugin-react": "^7.32.2",
"eslint-plugin-react-hooks": "^4.6.0",
"ink": "^4.0.0",
"prettier": "^2.0.4",
"react": "^18.0.0",
"ts-node": "^10.9.1",
"typescript": "^4.9.4",
"xo": "^0.53.0"
},
"peerDependencies": {
"@types/react": ">=16.8.0"
"@types/react": ">=18.0.0"
},

@@ -58,13 +60,15 @@ "peerDependenciesMeta": {

"ava": {
"babel": {
"testOptions": {
"presets": [
"@babel/preset-react"
]
}
}
"extensions": {
"ts": "module",
"tsx": "module"
},
"nodeArguments": [
"--loader=ts-node/esm"
]
},
"xo": {
"extends": "xo-react"
}
"extends": "xo-react",
"prettier": true
},
"prettier": "@vdemedes/prettier-config"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc