-
Notifications
You must be signed in to change notification settings - Fork 17
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
Polyfillとドライバーをnpmパッケージに移行する #68
Comments
|
TODO:
|
index.html から script src=node_modules/... で polyfill/drivers 読み込めると思ったら出来ない問題について少し整理した: container テンプレート (node など) にする./node_modules 配下にアクセスするには container テンプレートが必要 codesandbox/codesandbox-client#1757 サンプル: https://codesandbox.io/s/2p8ylq3rwr
node_modules ごとコミットするexample だしまぁまるごと突っ込んでしまうという方法
import にするmodule は import するのが本来の使い方であり、import をちゃんと使えば node_modules 配下もちゃんと percel さんがよしなにやってくれる。
dynamic import にするtype=module 付けたくないなら dynamic import
まぁちょっとやりすぎ。 external resource にするpolyfill/drivers は適当に github pages でも何でも良いから
補足codesandbox の vanilla などの client template が percel 使ってくれたり static template ですら static ではないというのが大元のワナだった。percel 使うのも安直に使って dist をホストしているわけではないようだし... |
比較的利用者への影響が少なそうなので「node_modules ごとコミットする」でとりあえず2019 Q3リリースは良いかなと考えます |
パッケージ一覧: https://www.npmjs.com/org/chirimen-raspi Polyfillリポジトリ: ここ https://github.com/chirimen-oh/chirimen-raspi3 ドライバーリポジトリ: https://github.com/chirimen-oh/chirimen-drivers その他gc 配下のサンプルコードを全て npm に移行したものに差し替えました |
https://github.com/chirimen-oh/chirimen-raspi3/wiki/Contrib https://github.com/chirimen-oh/chirimen-raspi3/wiki/Release 特にこの手順の説明書が必要に思います。
|
以前はI2Cのドライバが一か所のディレクトリにまとまっていましたが、今はExamplesの中に入り込んでしまっている感じですよね? またpolyfillもExamplesの中にコピーが入り込んでる感じ。 |
説明不足な部分で申し訳ないですが、それぞれのドライバーのリポジトリとしては https://github.com/chirimen-oh/chirimen-drivers を作成してオリジナルを集約してnpmにデプロイ、個別のサンプルは npm を介してローカルに保存(現在のExamples)か https://unpkg.com/ を利用する、という想定で考えていました |
移動したことによって参照に失敗している問題があるのは意図して無かったです 消さずにもとの場所に置いておいても不都合無いような気もします ただ、相対パスで実ファイルを参照するという利用方法に関しては、非常にシンプルである一方で、ファイル構造に密結合になってしまっており、たとえばある対象のサンプルコードのあるディレクトリを別のディレクトリの階層に移動しただけで参照に失敗するという問題があります また、GitHub Pagesを介して参照するというのは、同じくリポジトリのパスの構造に依存するので、おっしゃるとおり「URLがかなり冗長・煩雑に」なりがちという問題があります ドライバー自体のパッケージ名に関しては、冗長なので直したい気持ちです。。。 Polyfill を参照するためのURL: https://unpkg.com/@chirimen-raspi/[email protected]/polyfill.js npm i @chirimen-raspi/pilyfill
# ./node_modules/@chirimen-raspi/polyfill/polyfill.js が得られる ドライバーを参照するためのURLVerified official drivershttps://unpkg.com/@chirimen-raspi/[email protected] Contributed drivershttps://unpkg.com/@chirimen-raspi/[email protected] ドライバーを参照するためのコマンドVerified official driversnpm i @chirimen-raspi/chirimen-driver-i2c-ads1015 npm i @chirimen-raspi/chirimen-driver-i2c-adt7410 npm i @chirimen-raspi/chirimen-driver-i2c-gp2y0e03 npm i @chirimen-raspi/chirimen-driver-i2c-grove-accelerometer npm i @chirimen-raspi/chirimen-driver-i2c-grove-gesture npm i @chirimen-raspi/chirimen-driver-i2c-grove-light npm i @chirimen-raspi/chirimen-driver-i2c-grove-oled-display npm i @chirimen-raspi/chirimen-driver-i2c-grove-touch npm i @chirimen-raspi/chirimen-driver-i2c-pca9685 npm i @chirimen-raspi/chirimen-driver-i2c-s11059 npm i @chirimen-raspi/chirimen-driver-i2c-veml6070 npm i @chirimen-raspi/chirimen-driver-i2c-vl53l0x Contributed driversnpm i @chirimen-raspi/chirimen-driver-i2c-ads1x15 npm i @chirimen-raspi/chirimen-driver-i2c-ak8963 npm i @chirimen-raspi/chirimen-driver-i2c-amg8833 npm i @chirimen-raspi/chirimen-driver-i2c-arduino-stepping-motor npm i @chirimen-raspi/chirimen-driver-i2c-bme280 npm i @chirimen-raspi/chirimen-driver-i2c-bmp180 npm i @chirimen-raspi/chirimen-driver-i2c-bmp280 npm i @chirimen-raspi/chirimen-driver-i2c-canzasi-blink npm i @chirimen-raspi/chirimen-driver-i2c-mpu6050 npm i @chirimen-raspi/chirimen-driver-i2c-mpu6500 npm i @chirimen-raspi/chirimen-driver-i2c-neopixel-i2c npm i @chirimen-raspi/chirimen-driver-i2c-pca9685-pwm npm i @chirimen-raspi/chirimen-driver-i2c-pcf8591 |
移行済みなのでクローズします (残作業があればまた別途 isseu 立てましょう) |
残件処理: r.chirimen.org/polyfill.js が github pages のままだったことで p5 Editor で次のように HTML から読み込もうとすると CORS エラーが出ていたので、ちゃんと
|
もともとの問題は解決済みだと思うのでクローズしますね。 |
chirimen-raspi3 環境のPolyfillと、chirimen環境に対応したそれぞれのデバイス用ドライバーをnpmパッケージにして、依存管理システムを導入する
The text was updated successfully, but these errors were encountered: