Comments (2)
Is this frowned upon because it pollutes the environment with a namespace that the consumer may not be expecting?
Yes.
Any other thoughts or good ways to do this?
If this is ES6 style with a default export, do how it currently is. Just export alongside the default export. Also, the syntax you're using could be simpler since it's an ES6 import: import Griddle, { CustomColumnComponentProps } from 'griddle-react'
. That's what I would normally do, there's no namespacing issues and it's all on the users to do what they want. Does that help?
For ES5/CommonJS modules using module.exports
, the type definition is usually a slightly different but similar pattern using a namespace.
declare function main (options: main.Options): void;
declare namespace main {
export interface Options {}
}
export = main;
from discussions.
Ah I had forgotten about the syntax that allows for both default and destructuring, that does make it nicer! I guess I didn't like it because it seems a little misleading to look like you're importing something that doesn't actually exist in the library and is purely defined in the typings, but I guess there is no getting around that.
from discussions.
Related Issues (20)
- typings file structure best practices HOT 14
- Exposing API docs HOT 7
- Are multiple versions for a given typing planned? HOT 5
- What is "env" source? HOT 4
- Preparing a set of independent typings HOT 8
- Improve/change logging HOT 3
- Best practices for npm module typing? HOT 2
- Adding a new repository under the typed-typings organization HOT 4
- Many modules are not found after updating to 1.0.4 HOT 1
- Global Typings - can / should I add them to npm package? HOT 7
- Example Typings : Multi-Module NPM with RequireJS HOT 4
- Configuring Aurelia HOT 18
- Where are the docs for writing a typings.json file? HOT 4
- Typing badges HOT 10
- Don't understand globals, dt~css must be installed as global but shouldn't according to FAQ HOT 1
- Declaring a global variable HOT 2
- firmata.js typings HOT 2
- Namespace hack HOT 2
- Project and eco-system migration to a post Typescript 2.0 world HOT 1
- Typings install gives 502 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from discussions.