Skip to content

TypeScript conversion (2.0) #254

Closed
Closed
@gregjacobs

Description

@gregjacobs

Checklist:

  • Create a umd output file for browsers, with source map
  • Create minified umd output file for browsers, with source map
  • Rename files to lowercase
  • Make sure declaration files are emitted
  • Make sure sourcemap files are emitted
  • Make sure package.json references the typings
  • Get live example to build again
  • Make sure autolinker header with version number is on the umd file
  • Get JSDuck to work again
  • Add information about how to import each class to their class description
  • Go through all classes and make sure their @cfgs and @propertys end up in the documentation. Also make sure they have appropriate @private and @return tags
  • Allow tests to run without needing the jsduck gem
  • Make gulp update-tld-list work again, and create package.json script out of it
  • Check that the link in the readme to "2.0 breaking changes" works
  • Add a test which packages the library, installs it via npm or yarn (whichever is available), and makes sure we can import it with an import statement and a require statement. Autolinker should both be the default export and a named export. Make sure we can get other entities too like Matcher, Match, etc.
  • Add a test which loads the umd file in a browser with a <script> tag and can access window.Autolinker, as well as Autolinker.match.Match and such
  • Fix issue with minification of unicode escape sequences of getting compressed and causing invalid regular expressions
  • Add a test which makes sure webpack can build an output file with autolinker without shimming the module
  • Put the live example into a root-level folder, and build it into the docs/ folder
  • Move all temporary build artifacts to .tmp folder
  • Test that the live example page works using Puppeteer
  • Clone the repository from scratch, and make sure we can build / test

To-do but not required for TypeScript release

  • Add a phoneMatcherFactory config (and similar config for all of the Matcher objects) specifically for overriding the PhoneMatcher, since overriding the PhoneMatcher.prototype with a new regex will no longer work. Add example to readme
  • Add a way to provide custom Matchers to plug into the engine
    • Users will need to create a Matcher subclass, a Match subclass, and add them to the Autolinker instance with a customMatchersFactory function that provides them the Autolinker instance that they can use to grab the TagBuilder and such
  • Re-add the DEBUG checks to make sure that the appropriate config objects are passed in, since people will be extending the Matcher and Match classes, and may not be doing so from TypeScript

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions