moos/wordpos

Typescript support

ocket8888 opened this issue · 7 comments

I can't import this in my Angular project, the import fails.

moos commented

It would help to paste the failure message.
Also if you're using this in the browser, see wordpos-web.

Error message:

ERROR in ./node_modules/wordpos/src/browser/index.js 26:10
Module parse failed: Unexpected token (26:10)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| class WordPOS {
| 
>   options = {};
| 
|   constructor(config) {

That's using wordpos - which has browser/ files and says in its description

wordpos is a set of fast part-of-speech (POS) utilities for Node.js and browser using fast lookup in the WordNet database.

So I figured it'd work in the browser. But anyway, using wordpos-web I get

ERROR in src/app/utils.ts:1:21 - error TS2307: Cannot find module 'wordpos-web'.

1 import { POS } from "wordpos-web";
                      ~~~~~~~~~~~~~

IDK if POS exists within the package, haven't gotten that far since the import fails. Also, of course, the library is present:

$ ls -l node_modules/wordpos-web 
total 20
drwxrwxr-x 2 ocket8888 ocket8888 4096 Aug 16 12:52 dict
drwxrwxr-x 2 ocket8888 ocket8888 4096 Aug 16 12:52 dist
-rw-rw-r-- 1 ocket8888 ocket8888 1876 Aug 16 12:52 package.json
-rw-rw-r-- 1 ocket8888 ocket8888 4063 Oct 26  1985 README.md
drwxrwxr-x 4 ocket8888 ocket8888 4096 Aug 16 12:52 samples
moos commented

I haven't tried this with import -- that will depend on your webpack settings. See the README for the recommended usage. The demo samples should be helpful as well.

So this is "wontfix" - you don't want to support Typescript?

moos commented

Correct -- you should still be able to use this by tweaking your webpack config.

I don't see anything about webpack in either repository's README - tweak how?

For anyone else with a similar use-case, I was able to satisfy my needs with compromise instead.