Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dtrace-provider and ldapjs #2303

Closed
wants to merge 1 commit into from

Conversation

utsushiiro
Copy link
Contributor

@utsushiiro utsushiiro commented May 31, 2020

概要

以下の環境でdtrace-providerのビルドが失敗するためこれを修正した.

item version
OS macOS Mojave(10.14.6)
node.js v12.17.0

詳細

GROWIが現時点で利用してるdtrace-providerは0.7.1, 0.8.5の2つ. このどちらについてもビルドが失敗する.

$ yarn why dtrace-provider
yarn why v1.22.4
[1/4] 🤔  Why do we have the module "dtrace-provider"...?
[2/4] 🚚  Initialising dependency graph...
[3/4] 🔍  Finding dependency...
[4/4] 🚡  Calculating file sizes...
=> Found "[email protected]"
info Reasons this module exists
   - "bunyan" depends on it
   - Hoisted from "bunyan#dtrace-provider"
info Disk size without dependencies: "480KB"
info Disk size with unique dependencies: "964KB"
info Disk size with transitive dependencies: "964KB"
info Number of shared dependencies: 1
=> Found "ldapjs#[email protected]"
info This module exists because "passport-ldapauth#ldapauth-fork#ldapjs" depends on it.
info Disk size without dependencies: "456KB"
info Disk size with unique dependencies: "940KB"
info Disk size with transitive dependencies: "940KB"
info Number of shared dependencies: 1
✨  Done in 0.93s.

#2297 同様に, 0.8.x系を最新版(0.8.8)に更新し, ビルドが成功することを確認.
一方, 0.7.x系は0.7.1が最新であり, こちらはビルドに失敗している.

0.7.1に依存してるパッケージはldapjsなのでこれを確認すると, 以下のようになっている.

ldapjs@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/ldapjs/-/ldapjs-1.0.1.tgz#352b812ae74b0a8e96549a4b896060eee1b9a546"
  dependencies:
    asn1 "0.2.3"
    assert-plus "^1.0.0"
    backoff "^2.5.0"
    bunyan "^1.8.3"
    dashdash "^1.14.0"
    ldap-filter "0.2.2"
    once "^1.4.0"
    vasync "^1.6.4"
    verror "^1.8.1"
  optionalDependencies:
    dtrace-provider "^0.7.0"

ldapjsの1.x.x系の最新版を確認すると1.0.2となっており, 1.0.11.0.2での変更(ldapjs/node-ldapjs@v1.0.1...v1.0.2) はdtrace-providerのバージョン更新のみのため適用しても問題ないと判断しldapjsを1.0.2に更新した.

これにより依存するdtrace-providerのバージョンをビルドが成功する0.8.8のみにした.

Node v14について

v14(14.3.0)ではdtrace-providerの最新版でもビルドが失敗する.
こちらはdtrace-provider側の修正を待つ必要がある(chrisa/node-dtrace-provider#132).
ただし, dtrace-providerは以下のような性質を持つため, dtrace-providerの機能を使ってない場合は対応を待たずにv14にアップデートしても特に問題はなく, GROWIはこれに当てはまると思われる.

  • デバッグ用
  • macOSにおいてのみ利用される
  • ビルドに失敗してもエラー終了しない(optional)

@yuki-takei
Copy link
Member

resolutions で解決してほしい
https://classic.yarnpkg.com/ja/docs/selective-version-resolutions/

@yuki-takei
Copy link
Member

master ブランチの 7e801f9 で同様の操作を行って解決させた

@yuki-takei yuki-takei closed this Jun 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants