What is TS2665 error code when defining TypeScript types for a module?

Transitioning from an old tsd.json file to a new typings.json file. In my previous .d.ts file, the contents were as follows:

declare var modname: modname.modname;

declare module modname {
    export interface modname {
        new (): modname;
    }

    export interface foo {
        bar: string;
    }
}

declare module "mod-name" {
    export = modname;
}

Encountering errors, I made adjustments by modifying the initial lines:

declare var modname: modname.modname;

declare namespace modname {

This change resulted in the error message:

TS2665: Module augmentation cannot introduce new names in the top level scope.

I wonder if there is a different way to install Typings? I've noticed some unusual scaffolding being automatically included in my definition files after installing them using:

typings install github:user/typ/mod-name/mod-name.d.ts --save

Answer №1

An error occurs when trying to introduce new names in the top level scope using module augmentation in TypeScript (TS2665).

This issue has been resolved in the latest version of TypeScript available in the Master branch. You can update by running npm install typescript@next

We recommend using this updated version for various improvements and fixes. More information can be found here: https://basarat.gitbooks.io/typescript/content/docs/getting-started.html#nightly-typescript

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Creating an interface that features a function capable of accepting its own type and interacting with other interface implementations

interface I { test: (a: I) => boolean; } class Test implements I { //constructor (public additional: number) {} test (a: Test) { return false; } } The code is functioning, however, when we remove the comment from the constructor line, it stops ...

Retrieving a result from the reduce function in Angular

Is there a way to use the reduce function in order to return a list of objects? I am currently only able to return a single object with keys as project names and values as hours: { Name1: 9, Name2: 10, Name3: 30, } What changes can I make to my code to ac ...

Utilizing the useContext hook within a strictly Typescript-based class component

I have developed a pure Typescript class that serves as a utility class for performing a specific task. Within this class, I have created a context that is intended to be used universally. My goal is to utilize this context and its values within the pure T ...

Combining the values of two input fields in Angular

Within my form, I have three input fields labeled Name, hours, and minutes. When I execute a POST operation, I combine the values of hours and minutes into a variable named duration before sending it to the api. The resulting JSON structure appears as fo ...

The error 'TypeError: instances.map is not a function in Angular Loopback' is indicating

Currently, I am utilizing the @mean-expert/loopback-sdk-builder to create my API on Angular 4.3.6. However, I encountered an error when executing the following code snippet: this._userApi.findUsersByRoles([{'name':'cliente'}]).subscrib ...

How to use Angular template syntax to assign an async array to multiple variables

When working in JS, there is a clever method for assigning values from an array to new variables with ease: let [a, b, c] = [1, 2, 3]; // a = 1, b = 2, c = 3 I started thinking about whether I could achieve a similar elegant solution using Angular's ...

Creating custom types in Typescript to avoid the "is not assignable to type..." error

Running into a challenge while using the graphql-request module from Prisma Labs. Specifically, I am unsure of how to define certain options using typescript. In my request, there are 2 headers that need to be defined: interface GraphQLHeaders { 'X ...

What is the trick to accessing an object's key and value when you are unsure of the object's

Currently, I am in the process of constructing a React component that is designed to receive an array of objects. However, I have encountered a question: Is there a way for me to retrieve both the key and value of an object within the map function without ...

Ways to create a versatile function for generating TypedArrays instances

I'm working on a function that looks like this: export function createTypedArray<T extends TypedArray>( arg : { source : T, arraySize : number } ) : T { if( arg.source instanceof Int32Array ) { return new Int32Array( arg.arraySize ); } ...

Unable to utilize the namespace 'RouteComponentProps' as a specified type

When using TypeScript to define an interface that extends RouteComponentProp, I encountered some issues: VSCode error: [ts] Cannot use namespace "RouteComponentProps" as a type. Console error: Cannot use namespace 'RouteComponentProps' as a typ ...

TypeScript Definitions for Material-UI version 15

Is there a Material-UI v15 TypeScript definition file in the works? I need it for a project I'm working on and as a TypeScript newbie, I want to make sure the custom file I've begun is accurate. ...

Roll out the new version of the npm package feature as a pre-release deployment

I am currently working on a React project that is packaged with tsbuild and then published to an npm package using Azure DevOps. Recently, I have observed an issue where when someone attempts to install the package by running yarn add packageName --latest ...

Challenges Encountered with Server Operations in Next.js v14 - Issue with Cookie Modification

I am currently working on a project using Next.js v14 and I have run into an issue with Server Actions, specifically when attempting to modify cookies. Despite meticulously following the documentation and ensuring that my functions are classified as Server ...

Tips for associating an identifier with a preexisting symbol in a TypeScript compiler transformer

Trying to implement a typescript compiler transform with the typescript compiler API has been challenging. Despite emitting new Identifier nodes to the final .js file, they appear to lack symbol binding information, resulting in incorrect output. For inst ...

Router outlet fails to load identical child component

Currently, I am working on developing a file upload interface with both grid and list views for the files. These views are separate components under a shared parent Preview component. Surprisingly, the TypeScript files for both the grid and list views are ...

I am unable to add a new property to the request object in the Express framework

My goal is to add a new property to the request object in typescript. Here's the code snippet I'm using: import { request, Request, response, Response } from "express"; ((req: Request, res: Response) => { console.log(req.user); ...

Having difficulty installing TypeScript on my machine

https://i.stack.imgur.com/l6COf.pngHaving trouble installing TypeScript with the following error: npm WARN registry Using outdated package data from https://registry.npmjs.org/ due to an error during revalidation. npm ERR! code E500 npm ERR! 500 Interna ...

What is the reason for the failure of this typescript typeguard?

This code snippet defines a function for validating protocols and throwing an error if the input does not match the predefined protocols. const validProtocols = ["https", "http"] as const type AllProtocols = typeof validProtocols type Protocol = AllProtoco ...

having difficulties sorting a react table

This is the complete component code snippet: import { ColumnDef, flexRender, SortingState, useReactTable, getCoreRowModel, } from "@tanstack/react-table"; import { useIntersectionObserver } from "@/hooks"; import { Box, Fl ...

Toggle the button on or off based on the validity of the selected months

I am attempting to implement a navigation system for months and years. My goal is to disable the left arrow navigation button when the user is in the month of Jan, and the right navigation button when the user is in the month of Dec. Here is the code sni ...