Fix exports field in package.json#351
Conversation
package.jsonexports field in package.json
|
@kpdecker Can you take a look? |
I think you probably tested on 12.20 or later, but that it's necessary for earlier versions? The history at https://nodejs.org/docs/latest-v12.x/api/packages.html#packages_modules_packages says that support for patterns (i.e. use of So let's go for the postcss solution of including both |
* First steps towards TypeScript conversion * Convert xml.js->xml.ts * Add compilation to build step * Rewrite base.js in TypeScript (maybe shit, need to review own work once I'm done) * Rewrite json.js -> json.ts and get tests passing (I'm honestly shocked they passed) * array.js -> array.ts * character.js -> character.ts * css.js->css.ts * sentence.js->sentence.ts * word.js -> word.ts * line.js -> line.ts * index.js->index.ts * Convert a couple more fiiles * Convert params.ts * string.js -> string.ts * Partly convert patch-related files to TypeScript; more to do * Type more stuff * Begin converting line-endings.js. Interesting TypeScript bug along the way. * Bump TypeScript * Add link to bug report * Finish converted line-endings.js to TypeScript * Add missing overloads to support case where argument type isn't known statically * reverse.js -> reverse.ts * add todo * Rewrite base.ts types (breaks everything for now) * Per-diff-function options types. Still not compiling but close. * Fix build * Run 'yarn add @eslint/js typescript-eslint --save-dev' as suggested at https://typescript-eslint.io/getting-started * Turn on recommended eslint rules as recommended by Getting Started guide at https://typescript-eslint.io/packages/typescript-eslint/#config * Get linting of TypeScript working (now with the officially recommended rules) * yarn lint --fix * Tweak some indentation that eslint broke * Fix a couple of linting errors * Allow explicit 'any' I'm using it and it's convenient. In some places like diffArrays where we allow arrays of arbitrary type, I don't even know how to NOT use it. * Eliminate needless explicit respecification of rules that eslint.configs.recommended already enables * Fix another eslint config bug * Start using arrow functions and thereby resolve a https://typescript-eslint.io/rules/no-this-alias/ error I wasn't using them before because I wasn't sure if our build process would turn them into normal functions for compatability with old JS environments; it turns out it does, so we're fine. * Fix some linting errors about pointless escape sequences * Fix more linting errors about pointless escape sequences * Eliminate a util made redundant by Object.keys, and fix a linting error in the process * Fix a no-prototype-builtins linting error * Disable no-use-before-define for TypeScript code, where it's broken * Liberalise more rules * Fix lint errors in parse.ts * Fix lint errors in apply.ts * Fix remaining linting errors * Add missing newline at EOF * Remove a couple of unused ts-expect-error directives. (My editor was showing errors but tsc doesn't.) * create.js->create.ts * Fix some linting errors * Lint on build, like before * Generate type declarations on build * Migrate to using tsconfig.json instead of CLI args * Start adding tsd tests... but actually maybe should use dtslint? * Correctly mark a load of arguments as optional * convert tests to tsd style * Fix type test * Fix some more type test things * Undo some testing silliness * aaaaaaaaaaargh * Get most of the way to fixing type definitions based on #303 (comment). Doesn't compile yet. * Fix index.ts * Fix remaining compilation errors * Restore 'Change' type from DefinitelyTyped * tsd test syntax fix * Fix: oldHeader & newHeader are allowed to be explicitly given as undefined * Fix 'Abortable' types in patch/create * Fix another typing error * Fix error-handling-related types in patch/apply * Analyse errors I'm seeing in tests copied from DT & add TODOs * Begin adding some docs * Fix a load of test cases where the DT behaviour was just wrong * Make diffArrays generic instead of using any * Make DiffArraysOptions types generic * Rename ParsedDiff -> StructuredPatch * Export ApplyPatchOptions, ApplyPatchesOptions * Make all methods public for backwards compat * Fix remaining type error * Fix ignoring of test-d * Copy latest change from DT (DefinitelyTyped/DefinitelyTyped@2cfdb9f) * Flesh out docs * Resolve ignoreWhitespace dilemma * nah * Remove obsolete TODOs * Fix bad .gitignore rule * Add another type test file * v0.0.1 * v0.0.2 * .npmignore more stuff * Move test-d/ out of types/ so yarn clean won't delete it * Add attw * durrrr * failed fix attempt * Get attw passing (hallelujah!) * Enable "strict": true * Fix a strict mode error * Fix a strict mode error * Fix more strict mode errors * Silence a silly strict mode error * Further placate strict mode * Further placate strict mode * Fix a legit type error that strict mode found * Further placate strict mode * Get TypeScript happy with create.ts * Further placate strict mode * Further placate strict mode * Placate compiler about apply.ts * Fix a load more strict mode errors * Placate strict mode further * Fix some more compilation errors * Fix one more compilation error * Fix remaining base.ts errors * Fix line.ts * Type a variable to remove a slew of compilation errors * Add more types to resolve more errors * Add even more types to resolve even more errors * Fix remaining type errors. Huzzah!!! * Address verbatimModuleSyntax guidance * Remove obsolete comment * Get @typescript-eslint/consistent-type-exports enabled * Un-disable no-duplicate-type-constituents and let it autofix. I guess I was confused. * Reenable another rule * Remove no-longer-needed gitignore rule from earlier in this PR * Remove an obsolete disabling of a rule from early in my eslint tinkering. No longer makes sense. * Fix deps being wrongly declared as non-dev deps * Bump new deps to latest * Re-add support for imports from /lib/, maybe? * Restore support for subpath imports in Node 12.19 and earlier (see #351 (comment)). * Restore es5 support * Improve docs; add more exports to obviate need to import stuff from lib/ * Fix rollup * Improve docs; restore package.json top-level fields that maybe are useful for compatibility with something, somewhere * Stop using babel with rollup. Doesn't seem to really affect anything. Output in dist/diff.js is almost identical; just formatting changes and a handful of other things that look inconsequential. * Remove unused dependency on Babel CLI * Remove another unused dep * Get karma working * Remove apparently unneeded eslint ignore directives * Fix misplaced bullet in release notes * bah * Begin the tedious work of copying and pasting the README documentation into the function comments, so it can show up in people's editors * More copying and pasting. I should probably test this before moving on * More copying and pasting of docs * Finish pasting docs * Revert temporary package name change * Hackily resolve the Intl.Segmenter issue
Fixes #350
A solution that postss used seems unnecessary, as I tested, use
"./*": "./*"works on Node.js 12 too.