Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions types/amdefine/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*
!**/*.d.ts
!**/*.d.cts
!**/*.d.mts
!**/*.d.*.ts
36 changes: 36 additions & 0 deletions types/amdefine/amdefine-tests.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/// <reference types="node" />

import amdefine = require("amdefine");

// Create define function
const define = amdefine(module);

// Define with dependencies and factory
define(["dep1", "dep2"], (dep1: any, dep2: any) => {
return { value: dep1 + dep2 };
});

// Define with just factory
define(() => {
return { simple: true };
});

// Define with id and dependencies
define("myModule", ["dep"], (dep: any) => {
return dep;
});

// Define with id, dependencies and value
define("myModule", ["dep"], { value: 42 });

// Define with just id and factory
define("simpleModule", () => ({ ok: true }));

// Test define.amd property
const amd: object = define.amd;

// Test define.require
const req: NodeRequire = define.require;

// Create with explicit requireFn
const define2 = amdefine(module, require);
53 changes: 53 additions & 0 deletions types/amdefine/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/// <reference types="node" />

/**
* AMD define function created by amdefine.
*/
interface Define {
/**
* Define a module with dependencies.
* @param id - Optional module ID
* @param dependencies - Array of dependency module IDs
* @param factory - Factory function or value
*/
(id: string, dependencies: string[], factory: (...modules: any[]) => any): void;
(id: string, dependencies: string[], factory: any): void;
(id: string, factory: (...modules: any[]) => any): void;
(id: string, factory: any): void;
(dependencies: string[], factory: (...modules: any[]) => any): void;
(dependencies: string[], factory: any): void;
(factory: (...modules: any[]) => any): void;
(factory: any): void;

/**
* AMD define.amd property indicating AMD compatibility.
*/
amd: object;

/**
* Require function for synchronous module loading.
*/
require: NodeRequire;
}

/**
* Creates an AMD-style define function for use in Node.js modules.
*
* @param module - The Node.js module object for the current module
* @param requireFn - Optional require function (needed for Node < 0.5)
* @returns An AMD-compatible define function
*
* @example
* ```javascript
* if (typeof define !== 'function') {
* var define = require('amdefine')(module);
* }
*
* define(['dependency'], function(dep) {
* return { myModule: true };
* });
* ```
*/
declare function amdefine(module: NodeModule, requireFn?: NodeRequire): Define;

export = amdefine;
20 changes: 20 additions & 0 deletions types/amdefine/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"private": true,
"name": "@types/amdefine",
"version": "1.0.9999",
"projects": [
"https://github.com/jrburke/amdefine"
],
"dependencies": {
"@types/node": "*"
},
"devDependencies": {
"@types/amdefine": "workspace:."
},
"owners": [
{
"name": "gaspard",
"githubUsername": "gasp"
}
]
}
19 changes: 19 additions & 0 deletions types/amdefine/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"compilerOptions": {
"module": "node16",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"amdefine-tests.ts"
]
}
5 changes: 5 additions & 0 deletions types/clone-stats/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*
!**/*.d.ts
!**/*.d.cts
!**/*.d.mts
!**/*.d.*.ts
25 changes: 25 additions & 0 deletions types/clone-stats/clone-stats-tests.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import cloneStats = require("clone-stats");
import { Stats, statSync } from "fs";

// Get stats for a file (using package.json as example)
const stats: Stats = statSync("package.json");

// Clone the stats
const cloned: Stats = cloneStats(stats);

// Verify cloned stats has all properties
const size: number = cloned.size;
const mode: number = cloned.mode;
const mtime: Date = cloned.mtime;
const atime: Date = cloned.atime;
const ctime: Date = cloned.ctime;
const birthtime: Date = cloned.birthtime;

// Verify cloned stats has all methods
const isFile: boolean = cloned.isFile();
const isDirectory: boolean = cloned.isDirectory();
const isSymbolicLink: boolean = cloned.isSymbolicLink();
const isBlockDevice: boolean = cloned.isBlockDevice();
const isCharacterDevice: boolean = cloned.isCharacterDevice();
const isFIFO: boolean = cloned.isFIFO();
const isSocket: boolean = cloned.isSocket();
24 changes: 24 additions & 0 deletions types/clone-stats/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/// <reference types="node" />

import { Stats } from "fs";

/**
* Safely clone a Node.js fs.Stats instance without losing class methods.
*
* @param stats - The fs.Stats instance to clone
* @returns A new Stats instance with the same properties
*
* @example
* ```javascript
* var fs = require('fs');
* var cloneStats = require('clone-stats');
*
* var stats = fs.statSync('file.txt');
* var cloned = cloneStats(stats);
*
* cloned.isFile(); // still works!
* ```
*/
declare function cloneStats(stats: Stats): Stats;

export = cloneStats;
20 changes: 20 additions & 0 deletions types/clone-stats/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"private": true,
"name": "@types/clone-stats",
"version": "1.0.9999",
"projects": [
"https://github.com/hughsk/clone-stats"
],
"dependencies": {
"@types/node": "*"
},
"devDependencies": {
"@types/clone-stats": "workspace:."
},
"owners": [
{
"name": "gaspard",
"githubUsername": "gasp"
}
]
}
19 changes: 19 additions & 0 deletions types/clone-stats/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"compilerOptions": {
"module": "node16",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"clone-stats-tests.ts"
]
}
5 changes: 5 additions & 0 deletions types/find-pkg/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*
!**/*.d.ts
!**/*.d.cts
!**/*.d.mts
!**/*.d.*.ts
35 changes: 35 additions & 0 deletions types/find-pkg/find-pkg-tests.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import findPkg = require("find-pkg");

// Test promise usage
async function testPromise() {
const file: string | undefined = await findPkg("/some/path");
if (file) {
const path: string = file;
}
}

// Test callback usage
findPkg("/some/path", (err, file) => {
if (err) {
const error: Error = err;
return;
}
if (file) {
const path: string = file;
}
});

// Test sync usage
const syncFile: string | undefined = findPkg.sync("/some/path");
if (syncFile) {
const path: string = syncFile;
}

// Test with current directory
findPkg(".").then((file) => {
if (file !== undefined) {
const pkgPath: string = file;
}
});

const syncCurrent: string | undefined = findPkg.sync(".");
49 changes: 49 additions & 0 deletions types/find-pkg/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/**
* Find the first directory with a package.json, recursing up from the given directory.
*
* @param cwd - The directory to start searching from
* @returns A promise that resolves to the path of the found package.json, or undefined if not found
*
* @example
* ```javascript
* const findPkg = require('find-pkg');
*
* findPkg('a/b/c/some/path')
* .then(file => console.log(file))
* .catch(console.error);
* ```
*/
declare function findPkg(cwd: string): Promise<string | undefined>;

/**
* Find the first directory with a package.json, recursing up from the given directory.
*
* @param cwd - The directory to start searching from
* @param callback - Callback function called with (err, filepath)
*
* @example
* ```javascript
* findPkg('a/b/c/some/path', function(err, file) {
* if (err) throw err;
* console.log(file);
* });
* ```
*/
declare function findPkg(cwd: string, callback: (err: Error | null, file: string | undefined) => void): void;

declare namespace findPkg {
/**
* Synchronously find the first directory with a package.json, recursing up from the given directory.
*
* @param cwd - The directory to start searching from
* @returns The path of the found package.json, or undefined if not found
*
* @example
* ```javascript
* const file = findPkg.sync('a/b/c/some/path');
* ```
*/
function sync(cwd: string): string | undefined;
}

export = findPkg;
21 changes: 21 additions & 0 deletions types/find-pkg/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"private": true,
"name": "@types/find-pkg",
"version": "2.0.9999",
"projects": [
"https://github.com/jonschlinkert/find-pkg"
],
"devDependencies": {
"@types/find-pkg": "workspace:."
},
"owners": [
{
"name": "Jon Schlinkert",
"githubUsername": "jonschlinkert"
},
{
"name": "gaspard",
"githubUsername": "gasp"
}
]
}
19 changes: 19 additions & 0 deletions types/find-pkg/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"compilerOptions": {
"module": "node16",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"find-pkg-tests.ts"
]
}
5 changes: 5 additions & 0 deletions types/html-parse-stringify/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*
!**/*.d.ts
!**/*.d.cts
!**/*.d.mts
!**/*.d.*.ts
Loading