Created
February 21, 2024 11:23
-
-
Save wooorm/42157265daacb3ec5667792b02d545d1 to your computer and use it in GitHub Desktop.
Changes in the popular npm packages module formats between Nov 2023 to Feb 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Map(5) { | |
| 'cjs' => Map(3) { | |
| 'esm' => Set(34) { | |
| 'mime', | |
| 'eslint-plugin-jsdoc', | |
| '@salesforce/sf-plugins-core', | |
| 'stylelint-prettier', | |
| '@ckeditor/ckeditor5-core', | |
| '@ckeditor/ckeditor5-upload', | |
| '@ckeditor/ckeditor5-typing', | |
| '@ckeditor/ckeditor5-paragraph', | |
| '@ckeditor/ckeditor5-basic-styles', | |
| '@ckeditor/ckeditor5-essentials', | |
| '@ckeditor/ckeditor5-list', | |
| '@ckeditor/ckeditor5-link', | |
| '@ckeditor/ckeditor5-heading', | |
| '@ckeditor/ckeditor5-table', | |
| '@ckeditor/ckeditor5-image', | |
| '@ckeditor/ckeditor5-indent', | |
| '@ckeditor/ckeditor5-block-quote', | |
| '@ckeditor/ckeditor5-paste-from-office', | |
| '@ckeditor/ckeditor5-autoformat', | |
| '@ckeditor/ckeditor5-editor-classic', | |
| '@ckeditor/ckeditor5-media-embed', | |
| '@ckeditor/ckeditor5-easy-image', | |
| '@ckeditor/ckeditor5-cloud-services', | |
| '@ckeditor/ckeditor5-adapter-ckfinder', | |
| '@ckeditor/ckeditor5-ckfinder', | |
| '@ckeditor/ckeditor5-alignment', | |
| '@ckeditor/ckeditor5-font', | |
| '@ckeditor/ckeditor5-remove-format', | |
| '@ckeditor/ckeditor5-horizontal-line', | |
| '@ckeditor/ckeditor5-code-block', | |
| '@ckeditor/ckeditor5-special-characters', | |
| '@ckeditor/ckeditor5-highlight', | |
| '@ckeditor/ckeditor5-word-count', | |
| 'f2elint' | |
| }, | |
| 'dual' => Set(16) { | |
| '@sinonjs/commons', | |
| '@sinclair/typebox', | |
| 'buffer-crc32', | |
| 'mdurl', | |
| 'linkify-it', | |
| 'uc.micro', | |
| 'markdown-it', | |
| 'change-case-all', | |
| 'stylelint', | |
| '@commitlint/config-conventional', | |
| '@prisma/client', | |
| 'promise-call-limit', | |
| 'markdown-it-emoji', | |
| 'stylelint-config-css-modules', | |
| 'markdown-it-container', | |
| 'markdown-it-footnote' | |
| }, | |
| 'faux' => Set(3) { 'clipanion', 'pretty-quick', '@storybook/addon-console' } | |
| }, | |
| 'faux' => Map(2) { | |
| 'dual' => Set(17) { | |
| 'date-fns', | |
| '@testing-library/user-event', | |
| '@vue/compiler-sfc', | |
| '@vue/shared', | |
| '@vue/compiler-core', | |
| '@vue/compiler-dom', | |
| '@vue/reactivity', | |
| '@vue/server-renderer', | |
| '@vue/runtime-core', | |
| '@vue/runtime-dom', | |
| 'react-icons', | |
| '@firebase/auth', | |
| 'universal-cookie', | |
| '@stripe/stripe-js', | |
| 'echarts', | |
| 'react-cookie', | |
| '@loadable/component' | |
| }, | |
| 'esm' => Set(13) { | |
| 'clsx', | |
| 'redux', | |
| 'react-redux', | |
| 'reselect', | |
| 'redux-thunk', | |
| '@reduxjs/toolkit', | |
| 'xstate', | |
| '@changesets/types', | |
| 'shiki', | |
| '@changesets/cli', | |
| 'jsondiffpatch', | |
| 'redux-observable', | |
| '@changesets/changelog-github' | |
| } | |
| }, | |
| undefined => Map(4) { | |
| 'cjs' => Set(204) { | |
| 'es-errors', | |
| 'lainan', | |
| 'es-define-property', | |
| 'ip-address', | |
| '@rollup/rollup-linux-x64-gnu', | |
| '@rollup/rollup-linux-x64-musl', | |
| '@dataform/core', | |
| 'bare-events', | |
| '@stdlib/assert-is-string', | |
| '@prisma/debug', | |
| '@rollup/rollup-win32-x64-msvc', | |
| '@stdlib/string-base-lowercase', | |
| 'tarjan-graph', | |
| '@types/methods', | |
| '@stdlib/number-ctor', | |
| '@sigstore/verify', | |
| '@types/stylis', | |
| '@prisma/get-platform', | |
| '@parcel/watcher-linux-x64-glibc', | |
| '@fastify/fast-json-stringify-compiler', | |
| '@prisma/fetch-engine', | |
| '@stdlib/assert-is-number', | |
| '@sigstore/core', | |
| '@esbuild/aix-ppc64', | |
| 'wait-port', | |
| '@expo/json-file', | |
| '@opentelemetry/instrumentation-http', | |
| '@react-native/codegen', | |
| 'postgres-range', | |
| 'jsc-safe-url', | |
| '@microsoft/tsdoc-config', | |
| '@rushstack/rig-package', | |
| '@react-native/virtualized-lists', | |
| 'pg-numeric', | |
| 'native-duplexpair', | |
| 'typanion', | |
| 'async-sema', | |
| '@volar/language-core', | |
| 'async-listen', | |
| '@stdlib/assert-has-float64array-support', | |
| '@stdlib/assert-is-float64array', | |
| '@parcel/watcher-linux-x64-musl', | |
| '@material/theme', | |
| '@stdlib/array-float32', | |
| '@stdlib/assert-has-float32array-support', | |
| '@stdlib/assert-is-float32array', | |
| '@volar/typescript', | |
| 'toastify-react-native', | |
| '@opentelemetry/instrumentation-grpc', | |
| '@react-native/js-polyfills', | |
| '@material/feature-targeting', | |
| '@stdlib/complex-float32', | |
| '@stdlib/number-float64-base-to-float32', | |
| '@material/rtl', | |
| 'stream-json', | |
| '@opentelemetry/sdk-node', | |
| 'flow-enums-runtime', | |
| 'muggle-string', | |
| '@mapbox/vector-tile', | |
| '@react-native/assets-registry', | |
| '@octokit/auth-app', | |
| '@stdlib/complex-reimf', | |
| '@stdlib/complex-reim', | |
| '@stdlib/complex-float64', | |
| 'matcher-collection', | |
| '@react-native/gradle-plugin', | |
| 'babel-plugin-transform-flow-enums', | |
| '@stdlib/math-base-napi-unary', | |
| '@angular-eslint/builder', | |
| '@stdlib/boolean-ctor', | |
| 'vt-pbf', | |
| 'stream-chain', | |
| '@actions/github', | |
| '@nx/linter', | |
| '@mapbox/geojson-rewind', | |
| 'eventid', | |
| '@types/btoa-lite', | |
| '@rollup/rollup-darwin-arm64', | |
| 'ansi-red', | |
| 'vinyl-sourcemaps-apply', | |
| '@types/throttle-debounce', | |
| 'speed-measure-webpack-plugin', | |
| 'blakejs', | |
| 'postinstall-postinstall', | |
| '@types/passport-jwt', | |
| 'react-grid-layout', | |
| '@types/jest-axe', | |
| 'libsodium-wrappers', | |
| 'randomstring', | |
| 'expo-modules-core', | |
| '@types/better-sqlite3', | |
| '@cypress/code-coverage', | |
| 'dagre', | |
| '@stdlib/fs-read-file', | |
| 'eslint-plugin-tailwindcss', | |
| '@fontsource/roboto', | |
| '@tailwindcss/aspect-ratio', | |
| 'jest-environment-enzyme', | |
| 'websocket-stream', | |
| 'url-polyfill', | |
| ... 104 more items | |
| }, | |
| 'faux' => Set(54) { | |
| '@smithy/core', | |
| 'mdns-listener-advanced', | |
| '@sentry-internal/feedback', | |
| '@microsoft/tsdoc', | |
| '@opentelemetry/otlp-proto-exporter-base', | |
| '@opentelemetry/exporter-trace-otlp-proto', | |
| '@sentry-internal/replay-canvas', | |
| '@azure/core-http-compat', | |
| '@octokit/oauth-methods', | |
| '@js-joda/core', | |
| '@octokit/oauth-authorization-url', | |
| '@react-aria/interactions', | |
| '@aws-sdk/lib-storage', | |
| '@react-stately/utils', | |
| '@aws-sdk/client-cloudformation', | |
| '@dnd-kit/sortable', | |
| '@firebase/installations-compat', | |
| '@octokit/auth-oauth-app', | |
| '@material/base', | |
| '@material/animation', | |
| '@aws-sdk/client-iam', | |
| '@azure/keyvault-keys', | |
| 'geojson-vt', | |
| '@material/dom', | |
| '@internationalized/date', | |
| '@aws-sdk/client-sfn', | |
| '@mapbox/whoots-js', | |
| '@material/ripple', | |
| 'ulid', | |
| '@ethersproject/transactions', | |
| 'react-infinite-scroll-component', | |
| 'recoil', | |
| 'focus-visible', | |
| 'await-to-js', | |
| 'turndown', | |
| '@expo/vector-icons', | |
| 'eslint-plugin-vitest', | |
| '@mui/styled-engine-sc', | |
| 'countup.js', | |
| '@supabase/supabase-js', | |
| 'typedi', | |
| 'eslint-plugin-mdx', | |
| 'react-native-paper', | |
| 'reconnecting-websocket', | |
| 'deepcopy', | |
| 'rc-form', | |
| 'yaml-front-matter', | |
| '@antv/g6', | |
| 'jsencrypt', | |
| '@uniswap/sdk-core', | |
| 'rollup-plugin-gzip', | |
| '@zerollup/ts-transform-paths', | |
| 'rax-text', | |
| 'rax-view' | |
| }, | |
| 'dual' => Set(51) { | |
| 'libsql-stateless', | |
| 'libsql-stateless-easy', | |
| 'citty', | |
| 'ohash', | |
| 'nypm', | |
| '@vitejs/plugin-basic-ssl', | |
| '@tanstack/virtual-core', | |
| 'get-port-please', | |
| 'cross-inspect', | |
| '@tanstack/react-virtual', | |
| '@tanstack/react-query-devtools', | |
| 'safe-identifier', | |
| 'eslint-compat-utils', | |
| 'goober', | |
| '@cucumber/tag-expressions', | |
| '@urql/core', | |
| 'peberminta', | |
| '@inquirer/core', | |
| '@csstools/cascade-layer-name-parser', | |
| '@vueuse/metadata', | |
| '@radix-ui/react-tabs', | |
| 'i18next-http-backend', | |
| '@radix-ui/react-accordion', | |
| '@antfu/utils', | |
| 'react-hot-toast', | |
| 'react-pdf', | |
| '@swc-node/register', | |
| '@tiptap/core', | |
| '@radix-ui/react-switch', | |
| '@tiptap/pm', | |
| '@radix-ui/react-radio-group', | |
| '@radix-ui/react-label', | |
| '@fullcalendar/daygrid', | |
| '@tiptap/extension-link', | |
| '@tiptap/starter-kit', | |
| 'geckodriver', | |
| '@storybook/test', | |
| '@nuxt/devtools', | |
| '@chakra-ui/icons', | |
| '@inquirer/prompts', | |
| '@vitejs/plugin-vue2', | |
| 'markdown-it-sup', | |
| '@storybook/vue3-vite', | |
| '@clack/prompts', | |
| '@uiw/react-md-editor', | |
| '@iconify/json', | |
| '@storybook/web-components', | |
| 'vue-types', | |
| 'tsm', | |
| 'vite-plugin-lib-inject-css', | |
| '@xylabs/ts-scripts-yarn3' | |
| }, | |
| 'esm' => Set(50) { | |
| '@pkgr/core', | |
| 'get-east-asian-width', | |
| 'unicorn-magic', | |
| 'mdast-util-mdxjs-esm', | |
| '@sindresorhus/merge-streams', | |
| 'stdin-discarder', | |
| '@floating-ui/react', | |
| 'devlop', | |
| 'micromark-extension-mdx-expression', | |
| 'micromark-extension-mdx-jsx', | |
| 'micromark-extension-mdxjs-esm', | |
| 'mdast-util-mdx', | |
| 'micromark-extension-mdx-md', | |
| 'micromark-extension-mdxjs', | |
| 'estree-util-visit', | |
| 'git-hooks-list', | |
| 'unist-util-position-from-estree', | |
| 'micromark-factory-mdx-expression', | |
| 'micromark-util-events-to-acorn', | |
| '@lit-labs/ssr-dom-shim', | |
| '@codemirror/view', | |
| '@codemirror/language', | |
| '@noble/curves', | |
| 'digest-fetch', | |
| '@codemirror/state', | |
| 'is-url-superb', | |
| 'hast-util-is-element', | |
| 'hook-std', | |
| 'prosemirror-transform', | |
| 'prosemirror-commands', | |
| 'jotai', | |
| 'file-url', | |
| '@ckeditor/ckeditor5-ui', | |
| 'filemanager-webpack-plugin', | |
| 'root-check', | |
| 'ng-zorro-antd', | |
| 'typedoc-plugin-missing-exports', | |
| 'random-words', | |
| '@esm-bundle/chai', | |
| '@ckeditor/ckeditor5-html-support', | |
| '@backstage/core-plugin-api', | |
| '@ckeditor/ckeditor5-mention', | |
| '@ckeditor/ckeditor5-page-break', | |
| 'ts-standard', | |
| 'semantic-release-monorepo', | |
| '@ckeditor/ckeditor5-html-embed', | |
| '@backstage/test-utils', | |
| 'renamer', | |
| '@web/dev-server-storybook', | |
| 'alfy' | |
| } | |
| }, | |
| 'dual' => Map(1) { 'esm' => Set(1) { 'chai' } }, | |
| 'esm' => Map(1) { | |
| 'dual' => Set(2) { '@tanstack/table-core', '@tanstack/react-table' } | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * @typedef {'esm' | 'dual' | 'faux' | 'cjs'} Kind | |
| */ | |
| import fs from 'node:fs/promises' | |
| const fromUrl = new URL('data/2023-11-22.json', import.meta.url) | |
| const toUrl = new URL('data/2024-02-20.json', import.meta.url) | |
| const from = JSON.parse(await fs.readFile(fromUrl, 'utf8')) | |
| const to = JSON.parse(await fs.readFile(toUrl, 'utf8')) | |
| /** @type {Map<Kind | undefined, Map<Kind, Set<string>>>} */ | |
| const changes = new Map() | |
| for (const [ | |
| /** @type {string} */ name, | |
| /** @type {Kind} */ now | |
| ] of Object.entries(to)) { | |
| /** @type {Kind | undefined} */ | |
| const before = from[name] || undefined | |
| if (before === now) continue | |
| let to = changes.get(before) | |
| if (!to) changes.set(before, (to = new Map())) | |
| let set = to.get(now) | |
| if (!set) to.set(now, (set = new Set())) | |
| set.add(name) | |
| } | |
| console.log(changes) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment