First round of nodejs libraries retiring
by Troy Dawson
The following "applications" source rpm's start with nodejs, and have
a binary in /usr/bin/ They have either had their dependencies
bundled, or did not have any nodejs library dependencies.
nodejs-buble nodejs-linefix nodejs-nodemon
nodejs-replace-require-self nodejs-shelljs nodejs-supervisor
nodejs-svgo nodejs-tape
With the above "application" packages bundled, I have moved onto
discovering what nodejs libraries can safely be removed.
I have used the following steps, on a rawhide machine, to find my list.
dnf repoquery --qf="%{source_name}" -a | grep ^nodejs- | sort -u -o
nodejs.sources
vi nodejs.sources # remove the "application" packages from Comment
#1, and nodejs-packaging
./find_unblocked_orphans.py --release rawhide --skip-orphans $(cat
nodejs.sources)
From the above steps, there are only 6 packages that are still
depended upon, and 210 that can be removed if we remove them all at
the same time.
I am planning on removing the 210 packages before the F34 mass
rebuild. Hopefully by end of day Monday, January 18.
During the F34 mass rebuild I will keep watch to see if any packages
are failing builds due to missing nodejs libraries. I will work with
any of these failed builds to get a proper solution following the
change request guidelines.
Note: There are currently only 216 nodejs library packages. There
were 740 two months ago, and 1300 a year ago. These have all gone
away due to being orphaned and/or being uninstallable.
Packages still needed due to dependencies (6):
nodejs-acorn-object-spread
nodejs-backbone nodejs-colors nodejs-generic-pool
nodejs-typescript nodejs-underscore
Packages that can be removed, if done all at once (210):
nodejs-acorn-dynamic-import
nodejs-amdefine nodejs-ansicolors nodejs-any-promise
nodejs-append-transform nodejs-array-buffer-from-string
nodejs-array-index nodejs-asap nodejs-ascli nodejs-base32-encode
nodejs-better-assert nodejs-better-than-before nodejs-bignumber-js
nodejs-boom nodejs-bson nodejs-buf-compare nodejs-buffer-equal
nodejs-builtin-modules nodejs-builtins nodejs-bundle-dependencies
nodejs-bunker nodejs-burrito nodejs-caching-transform
nodejs-caller-callsite nodejs-caller-path nodejs-callsites
nodejs-camelcase-keys nodejs-charm nodejs-ci-info nodejs-cli
nodejs-cli-color nodejs-cli-table nodejs-codemirror
nodejs-code-point-at nodejs-combined-stream nodejs-commander
nodejs-connect-livereload nodejs-consolemd nodejs-cookies
nodejs-cryptiles nodejs-csv nodejs-currently-unhandled
nodejs-cycle nodejs-d nodejs-debug nodejs-decamelize
nodejs-decamelize-keys nodejs-deeper
nodejs-default-require-extensions nodejs-delayed-stream
nodejs-detect-indent nodejs-discord-js nodejs-dot-prop
nodejs-duration nodejs-each nodejs-emojione nodejs-es5-ext
nodejs-es6-iterator nodejs-es6-weak-map nodejs-escape-html
nodejs-escape-regexp-component nodejs-escape-string-regexp
nodejs-espurify nodejs-event-emitter nodejs-fancy-log nodejs-fmix
nodejs-forever-agent nodejs-formatio nodejs-form-data
nodejs-glob-base nodejs-glob-parent nodejs-glogg
nodejs-gonzales-pe nodejs-graceful-readlink nodejs-growl
nodejs-grunt-contrib-nodeunit nodejs-grunt-sed nodejs-gulplog
nodejs-has-ansi nodejs-has-binary2 nodejs-has-flag nodejs-has-glob
nodejs-has-gulplog nodejs-hashish nodejs-hawk
nodejs-hex-to-array-buffer nodejs-hoek nodejs-homedir-polyfill
nodejs-imurmurhash nodejs-indent-string nodejs-indexof
nodejs-ipaddr-dot-js nodejs-irc-colors nodejs-irc-formatting
nodejs-irc-upd nodejs-isarray nodejs-is-builtin-module
nodejs-is-finite nodejs-is-fullwidth-code-point
nodejs-is-observable nodejs-isodate nodejs-is-plain-obj
nodejs-is-promise nodejs-is-text-path nodejs-is-valid-instance
nodejs-js-base64 nodejs-jschardet nodejs-json3 nodejs-jsonify
nodejs-jsonselect nodejs-lcid nodejs-levn nodejs-lolex
nodejs-loud-rejection nodejs-lru-cache nodejs-lru-queue
nodejs-magic-string nodejs-makeerror nodejs-md5-hex
nodejs-memoizee nodejs-minipass nodejs-mkdirp nodejs-mongodb
nodejs-mongodb-core nodejs-murmur-32 nodejs-mustache nodejs-mysql
nodejs-mz nodejs-negative-zero nodejs-npm-run-path
nodejs-nth-check nodejs-observable-to-promise nodejs-once
nodejs-open nodejs-optionator nodejs-option-chain nodejs-options
nodejs-os-homedir nodejs-os-locale nodejs-own-or-env
nodejs-package-license nodejs-parse-glob nodejs-path-is-absolute
nodejs-path-parse nodejs-pkginfo nodejs-platform nodejs-plur
nodejs-pretty-ms nodejs-prism-media nodejs-pruddy-error
nodejs-rainbowsocks nodejs-random-path nodejs-readdir-enhanced
nodejs-require-all nodejs-resolve-cwd nodejs-resolve-from
nodejs-resolve-pkg nodejs-rhea nodejs-runforcover nodejs-samsam
nodejs-shebang-command nodejs-simple-fmt nodejs-simple-is
nodejs-slide nodejs-snapdragon-capture-set nodejs-snapdragon-node
nodejs-snapdragon-util nodejs-snekfetch nodejs-sntp
nodejs-sorted-object nodejs-source-map nodejs-sprintf nodejs-ssri
nodejs-stable nodejs-stack-trace nodejs-string
nodejs-string_decoder nodejs-stringmap nodejs-stringscanner
nodejs-stringset nodejs-string-width nodejs-strip-ansi
nodejs-strip-bom-stream nodejs-strip-json-comments
nodejs-strip-path nodejs-tempfile nodejs-tern-liferay
nodejs-thenify nodejs-thenify-all nodejs-thunkify nodejs-tildify
nodejs-timers-ext nodejs-tinycolor nodejs-trim-newlines
nodejs-tryor nodejs-type-check nodejs-ultron nodejs-umask
nodejs-user-home nodejs-vow nodejs-vow-queue nodejs-walker
nodejs-ware nodejs-when nodejs-whet-dot-extend nodejs-window-size
nodejs-wrap-ansi nodejs-ws nodejs-yamlish nodejs-yargs
2 years, 8 months
Nodejs "applications" to bundle, first pass
by Troy Dawson
Hello,
As the very first working (non-documentation) step I've gone through
the spec files of all the nodejs* and found all those that put
anything in /usr/bin (or %{_bindir} or bin/) These are the packages I
found.
nodejs-buble
nodejs-linefix
nodejs-nodemon
nodejs-replace-require-self
nodejs-shelljs
nodejs-supervisor
nodejs-svgo
nodejs-tape
If you know of any that I missed, please let me know.
* Already done.
** Either already bundled, or both the build and runtime do not
require any nodejs libraries.
nodejs-linefix
nodejs-nodemon
nodejs-supervisor
nodejs-tape
* Orphaned, but not retired.
** The packages are marked as orphaned, but haven't been retired.
** Should we fix/bundle them?
nodejs-shelljs
nodejs-svgo
* Needs bundling
** I'll help if the maintainer wants. I'd like to get these done
quick, hopefully before the mass rebuild.
nodejs-buble
nodejs-replace-require-self
Troy Dawson
2 years, 8 months
nodejs change proposal - javascript exception - thoughts
by Troy Dawson
Hello,
As the nodejs bundle libraries by default change proposal has worked
it's way through the process, a question came up that I'd like others
opinions on.
Some nodejs packages also provide javascript sub-packages. An example
is nodejs-underscore, also provides the js-underscore package.
What is the difference between the nodejs- and js- packages? The
nodejs packages provide "server side" libraries. They are in a place
that only your local server will see these libraries. The js-
packages provide "browser side" libraries. These are libraries that
are expected to be served by the web server to the users browsers.
Our nodejs proposal is supposed to only get rid of the server side
libraries. We (the Nodejs SIG) do not feel we should be messing with
the browser side (javascript) libraries. So, what to do.
For those nodejs libraries, that also provide javascript sub-packages,
and that do not fall under the "Packages that provide binaries that
users would want to use in their shell" clause:
- Remove the nodejs package, leaving only the js- sub-package.
So, for our example nodejs-underscore also provides js-underscore.
We would change the spec file so that it would only build js-underscore.
Does that seem like a good thing to do?
Troy
2 years, 8 months