Giter VIP home page Giter VIP logo

Comments (13)

rochdev avatar rochdev commented on September 27, 2024 1

I don't see any problems with requiring .default as long as it's documented.

from opentracing-javascript.

rochdev avatar rochdev commented on September 27, 2024

@yurishkuro Still missing .default since TypeScript doesn't export the default directly.

from opentracing-javascript.

yurishkuro avatar yurishkuro commented on September 27, 2024

hm, it worked for me, although bombed on another issue #79, which might be related.

Is there a way to make TypeScript export the default?

cc @felixfbecker

from opentracing-javascript.

rochdev avatar rochdev commented on September 27, 2024

Not sure, I know it's also the new behaviour of Babel since version 6. For babel there is a plugin to get the old behaviour back, I don't know about TypeScript. This is related to converting import statements to require, so a quick and easy solution for node is to simply use require directly.

from opentracing-javascript.

rochdev avatar rochdev commented on September 27, 2024

Found a few discussions about this:

microsoft/TypeScript#2719
microsoft/TypeScript#3337

from opentracing-javascript.

felixfbecker avatar felixfbecker commented on September 27, 2024

Yeah, I overlooked this in my PR.

from opentracing-javascript.

yurishkuro avatar yurishkuro commented on September 27, 2024

Given that README uses const apiCompatibilityChecks = ... (ES6 feature), wouldn't the example be better with import instead of require?

import apiCompatibilityChecks from 'opentracing/lib/test/api_compatibility.js';

from opentracing-javascript.

felixfbecker avatar felixfbecker commented on September 27, 2024

I would go after what the NodeJS LTS versions we are targeting support, and they don't support import yet (they do support const, arrow functions, etc). Could be confusing for users if the examples don't run without a transpiler.

.default has actually been part of the CommonJS spec before NodeJS existed so it's not strictly an ES6 concept :)

from opentracing-javascript.

bhs avatar bhs commented on September 27, 2024

@felixfbecker @yurishkuro I'm taking a look at open issues... what is the status here? I am not knowledgeable enough about Node to have an opinion, but would like to agree on what we think is best (even if we don't have time to do the work right now).

from opentracing-javascript.

felixfbecker avatar felixfbecker commented on September 27, 2024

I think this should be fixed in the README on latest master:

const { apiCompatibilityChecks } = require('opentracing/lib/test/api_compatibility.js');
apiCompatibilityChecks(() => new CustomTracer());

(it destructures all the exports and cherry-picks apiComatibilityChecks)

from opentracing-javascript.

bhs avatar bhs commented on September 27, 2024

@felixfbecker SGTM!

from opentracing-javascript.

MarckK avatar MarckK commented on September 27, 2024

See current master (Fix how requiring apiCompatibilityChecks #85 now merged in) :)
The default export in opentracing/lib/test/api_compatibility.js. is a property on the exports object and thus is accessed with .default.
There can be only one default property on the exports object.
This property does not therefore need to be destructured.

from opentracing-javascript.

pavolloffay avatar pavolloffay commented on September 27, 2024

closing per #85

from opentracing-javascript.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.