Apache Cordova 团队很高兴地宣布新的插件发布,同时我们将核心插件迁移到 npm!
- 我们也鼓励第三方插件开发者开始将其插件发布到 npm!
- 要开始使用来自 npm 的插件,开发者需要将其 Cordova CLI 更新到 5.0.0 或更高版本。请在 发布博客文章中阅读有关 Cordova CLI 5.0.0 的信息。
随着迁移到 npm,我们决定重命名我们的核心插件,以提高可读性,并更好地适应 npm 生态系统。
- 我们所有的核心插件都已将其 ID 从
org.apache.cordova.*更改为cordova-plugin-*。 - 开发者现在可以使用命令
cordova plugin add cordova-plugin-device安装插件。使用新的 ID 将直接从 npm 获取插件。
我们当前的 Cordova 插件注册表 (CPR) 将继续运行至少 6 个月(2015 年 10 月 15 日),因为我们将帮助插件开发者过渡到 npm。 这也将允许当前的 Cordova 开发者将其 CLI 升级到 5.0.0 或更高版本。
- 我们将在
2015 年 7 月 15 日将 CPR 切换为只读模式。
要在 npm 上查找插件,请搜索 ecosystem:cordova。我们正在与 npm 合作以提高可发现性,并将在今年晚些时候宣布更多消息。我们鼓励所有第三方插件开发者在其插件的 package.json 中添加 ecosystem:cordova 作为关键字。
插件作者:将插件迁移到 npm 的步骤
- 可选 决定是否要更改插件的
id。 如果您决定更改它,- 更新
plugin.xml中的id,并使用新的id更新您的自述文件。 - 发送拉取请求,将您的新 id 和旧 id 添加到 Cordova Registry Mapper。
- 我们将该模块集成到 Cordova CLI 中,以警告用户在将插件添加到其项目时使用新的
id。
- 更新
- 将
package.json添加到您的插件,- 注意:为了保持简单,请确保
plugin.xml中的id与package.json中的package-name相同。 - 使用
plugman createpackagejson [插件目录]创建package.json。- 这将根据
plugin.xml中的现有值创建默认值。 - 它还会自动将关键字
ecosystem:cordova添加到您新生成的package.json文件中。 - 此外,一个 cordova 键将添加到您的
package.json中,我们计划在未来的工具更新中使用它。
- 这将根据
- 查看 cordova-plugin-device 的
package.json,了解在运行plugman createpackagejson [插件目录]命令后,您的package.json应有的样子示例。 - 插件仍然需要
plugin.xml才能安装到 Cordova 项目中。
- 注意:为了保持简单,请确保
- 使用
npm publish [插件目录]将您的插件发布到 npm。
新的白名单插件
我们最近发布了 cordova-plugin-whitelist 和 cordova-plugin-legacy-whitelist。我们已经改进了从 cordova-android@4.0.0 开始的白名单工作方式。通过此更改,现在支持设置内容安全策略 (CSP)。默认情况下,在没有 cordova-plugin-whitelist 的情况下会阻止网络请求,因此即使允许所有请求,甚至在您使用 CSP 时,也要安装此插件。
cordova-plugin-legacy-whitelist 允许 cordova-android@4.0.0 项目继续使用旧的白名单方法。我们建议使用 cordova-plugin-whitelist 而不是 cordova-plugin-legacy-whitelist。
其他平台将在未来的版本中支持 cordova-plugin-whitelist。要了解有关白名单的更多信息,请阅读 cordova-android@4.0.0 发布博客文章。
以下插件今天已更新
- cordova-plugin-battery-status@1.0.0
- cordova-plugin-camera@1.0.0
- cordova-plugin-console@1.0.0
- cordova-plugin-contacts@1.0.0
- cordova-plugin-device@1.0.0
- cordova-plugin-device-motion@1.0.0
- cordova-plugin-device-orientation@1.0.0
- cordova-plugin-dialogs@1.0.0
- cordova-plugin-file@2.0.0
- cordova-plugin-file-transfer@1.0.0
- cordova-plugin-geolocation@1.0.0
- cordova-plugin-globalization@1.0.0
- cordova-plugin-inappbrowser@1.0.0
- cordova-plugin-legacy-whitelist@1.0.1
- cordova-plugin-media@1.0.0
- cordova-plugin-media-capture@1.0.0
- cordova-plugin-network-information@1.0.0
- cordova-plugin-splashscreen@2.0.0
- cordova-plugin-statusbar@1.0.0
- cordova-plugin-test-framework@1.0.0
- cordova-plugin-vibration@1.0.0
要更新您现有的插件,您需要将 Cordova CLI 的版本更新到 5.0.0。
E.g. To update your cli:
`npm install -g cordova@5.0.0`
然后删除您的旧插件并使用新的 ID 重新添加它。
E.g. To update your camera plugin:
`cordova plugin rm org.apache.cordova.camera`
`cordova plugin add cordova-plugin-camera`
插件更改包括
cordova-plugin-battery-status@1.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - 添加
travis.yml以使用 paramedic 进行 CI - 添加了 apache/travis 徽章 - 在 INFRA 更新 github 集成之前不会显示
- CB-8808 修复了在 Windows Phone 8.1 上通过测试的问题
- CB-8831 Windows 添加了对可用
API的额外检查 - 添加 Android+FireOS 警告,告诉开发人员长时间使用会耗尽电池电量
- CB-7971 添加对 Windows Phone 8.1 的
cordova-plugin-battery-status支持 - CB-8659 iOS 4.0.x 兼容性:删除
initWithWebView方法的使用
cordova-plugin-camera@1.0.0
- CB-8653 更新的自述文件
- CB-8780 使用主线程显示弹出窗口。 修复了弹出窗口的缓慢问题
- CB-8746 提高了文件依赖项的版本
- CB-8706 如果
saveToPhotoAlbum为 true,则使用filePicker - CB-8706 从
xml中删除不必要的功能 - CB-8747 更新了依赖项,添加了对等依赖项
- CB-8782 更新了文档以讨论
allowEdit怪癖,它不是 100% 工作,但比以前好 - CB-8782 修复了流程,以便我们保存裁剪后的图像并使用它,而不是原始未裁剪的图像。 裁剪仅支持 G+ 照片裁剪,其他裁剪可能无法工作,具体取决于 OEM
- CB-8740 删除了在三星 Galaxy S3 上失败的
FileHelper调用,既然我们有了真实路径,我们只需要更新MediaStore,在这种情况下不需要从中拉取 - CB-8740 部分修复了在
MobileSpec中发现的保存图像到图库错误 - CB-8683 将
plugin-id更改为package-name - CB-8351 修复了
integerValueForKey的自定义实现 - 修复
cordova-paramedic路径更改,使用TRAVIS_BUILD_DIR构建,使用 npm 安装 paramedic - CB-8683 BlackBerry 更新了从
org.apache.cordova.camera到cordova-plugin-camera的引用 - CB-8707 Windows 重构代码以提高可读性
- 文档:将 Windows 添加到受支持的平台
- CB-8659 iOS 4.0.x 兼容性:删除已弃用标头的使用
cordova-plugin-console@1.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - CB-8560 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - 文档:将 Windows8 重命名为 Windows
- CB-8362 将 Windows 平台部分添加到 Console 插件
cordova-plugin-contacts@1.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - CB-8561 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - CB-8659 iOS 4.0.x 兼容性:删除
initWebView方法的使用 - CB-8659 iOS 4.0.x 兼容性:删除已弃用标头的使用
- CB-8683 更新了旧 id 到新 id 的 wp 特定引用
- CB-8604 挂起对 wp8 的不支持的测试,更新了文档
- CB-8395 将不支持的测试标记为在 wp8 上挂起
cordova-plugin-device@1.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - 添加 travis 徽章
- 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - 添加跨插件 iOS paramedic 测试,以便为 TravisCI 运行
- 删除已失效的 windows8 版本
cordova-plugin-device-motion@1.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name旧 id 到新 id 的特定引用 - CB-8562 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - CB-8683 更新了 Windows 和 Tizen * CB-8096 如果设备上不存在加速度计,则挂起最近添加的 spec.12
- CB-8096 如果设备上不存在加速度计,则挂起自动测试
- CB-8083 添加测试以确保每次都调用成功回调
- CB-8312 在 Windows 上将加速度计值乘以 -g
cordova-plugin-device-orientation@1.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - CB-8563 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - CB-8653 更新的自述文件
- CB-8683 更新了旧 id 到新 id 的 Windows 和 Tizen 特定引用
- CB-8458 修复了在罗盘硬件不可用时测试的错误失败
- CB-8659 iOS 4.0.x 兼容性:删除
initWebView方法的使用 - CB-8659 iOS 4.0.x 兼容性:删除已弃用标头的使用
- 强制异步回调
- 更新插件为 Windows 而不是 Windows8
- CB-8614 Windows 修复了
getCurrentHeading和watchHeading
cordova-plugin-dialogs@1.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - CB-8565 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - CB-8683 更新了旧 id 到新 id 的 wp 和 bb 特定引用
- CB-8659 iOS 4.0.x 兼容性:删除已弃用标头的使用
- CB-8367 Windows 添加提示支持
cordova-plugin-file@2.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - CB-8567 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - CB-8689 修复了
makeEntryForNativeUri中的NPE(影响文件传输) - 添加缓存以加速
AssetFilesystem目录列表 - 不要记录正常异常的堆栈跟踪(例如,找不到文件)
- 调整测试,使其在
deleteEntry失败时失败(而不是超时) - CB-8032 添加
nativeURL外部方法支持CDVFileSystem->makeEntryForPath:isDirectory: - CB-8423 更正了异步测试中
done()的用法 - CB-8459 修复了由于不正确的相对路径处理导致的 spec 111 失败
- 向
FileEntry添加了nativeURL属性,实现了readAsArrayBuffer和readAsBinaryString - CB-8675 还原 “CB-8351 iOS:使用
base64EncodedStringWithOptions而不是CordovaLib 的类扩展” - CB-6428 修复了复制为零长度文件的未压缩资产
- CB-8695 iOS 修复了
asset-libraryURL 的blob.slice() - CB-8659 iOS 4.0.x 兼容性:删除
initWebView方法的使用 - Android 调整
build-extras.gradle,使其仅读取/写入主assets/,而不是build/ - CB-8683 Android 修复插件重命名导致的单元测试失败
- CB-6428 Android 修复 assets
FileEntry大小为 -1 的问题 - Android 将
URLforFullPath移动到基类 (并重命名为localUrlforFullPath) - CB-6428 Android 在 README 中提及
build-extras.gradle - CB-7109 Android 在主线程之外解析参数
- CB-8663 Android 不要通知
MediaScanner私有文件 - Android 读取整个文件时不要使用 LimitedInputStream (优化)
- CB-6428 Android 添加从 assets -> 文件系统复制目录的支持
- Android 添加
listChildren():Java 可使用的readEntriesAtLocalURL()版本 - CB-6428 Android 添加对
file:///android_assetURL 的支持 - CB-8642 Android 修复内容 URI 无法使用 resolve / copy 的问题
- Android 确保
LocalFilesystemURL只能使用cdvfileURL 创建 - Android 将
CordovaResourceApi移动到 Filesystem 基类 - Android 在
ContentFilesystem中使用CordovaResourceApi.mapUriToFile(),而不是自定义逻辑 - Android 在 resolveLocalFileSystemURI 中使用 Uri.parse,而不是手动解析
- Android 删除无效的
JavaDoc(lint 错误) - Android 使用
CordovaResourceApi,而不是FileHelper - CB-7956 Browser 添加支持
- CB-8849 WP8 修复
ReadAsArrayBuffer返回ArrayBuffer而不是 Array 的问题 - CB-8819 wp8 修复 FileReader 的
readAsBinaryString - 文档:将 Windows 添加到受支持的平台
cordova-plugin-file-transfer@1.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - CB-8566 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - CB-8746 提高了文件依赖项的版本
- CB-8583 强制下载覆盖现有目标文件
- CB-8589 修复服务器响应不包含任何数据时上传失败的问题
- CB-8747 更新了依赖项,添加了对等依赖项
- CB-8407 使用 File 代理为下载成功回调构造有效的 FileEntry
- CB-8407 删除下载方法中多余的本机路径转换
- CB-8429 为 0.5.0 版本更新版本和
RELEASENOTES.md - CB-8095 修复 JSHint 和格式化问题
- CB-8095 更新测试和文档
- CB-8095 重写上传方法以正确支持进度事件
- Android 修复
sourceUri上未知uri类型的错误报告,而不是targetUri - CB-7957 Browser 添加支持
- CB-8641 修复测试以在 Windows 和 wp8 上通过
- CB-8654 在文档中记录 WP8 下载请求缓存
- CB-8590 Windows 修复
download.onprogress.lengthComputable - CB-8495 修复 wp8 和 wp8.1 测试失败
cordova-plugin-geolocation@1.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - CB-8568 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - CB-8681 修复偶尔的测试失败
- CB-8659 iOS 4.0.x 兼容性:删除
initWebView方法的使用 - CB-8659 iOS 4.0.x 兼容性:删除已弃用标头的使用
- Firefox OS 插件中的错误参数
- CB-8443 由于多次调用 done,地理定位测试在 Windows 上失败
- 文档:将 Windows 添加到受支持的平台
cordova-plugin-globalization@1.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - CB-8569 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - CB-8683 更新 tizen 和 Browser 中特定于旧 ID 的引用为新 ID
- CB-7960 Browser 添加支持
- CB-8659 iOS 4.0.x 兼容性:删除
initWebView方法的使用 - CB-8394 暂停 Windows 和 wp8 的不支持的测试
- 在
plugin.xml和文档中为 Windows8 平台单独设置章节
cordova-plugin-inappbrowser@1.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - CB-8570 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - CB-4930 (前缀) InAppBrowser 应考虑状态栏
- 添加禁用/启用缩放控件的选项
- 更新文档,将
hardwareback默认设置为 true - 添加一个
hardwareback选项,允许硬件后退按钮返回 - CB-8444 为
cordova.InAppBrowser.open添加一个 clobber - CB-8444 不要 clobber
window.open- 添加新的符号/clobber 以访问 open 函数 (cordova.InAppBrowser.open) 更改现有测试以使用新符号 (即,不要依赖插件 clobberwindow.open) - 添加测试以通过手动替换为新符号来使用window.open- 更新文档以弃用插件 clobberwindow.open - CB-8659 更新
InAppBrowser以支持 cordova-ios 4.0.x 和 3.x - 更新 Android
zoom=no选项的文档 - 将外部 Android 页面保留在单个标签页中
- CB-7961 Browser 添加支持
- CB-8432 修正 Browser 包装器的样式,以便在某些页面上正确显示
- CB-7689 为 Windows 平台添加
insertCSS支持 - CB-8635 改进 Windows 平台上的用户体验
- CB-8661 返回 Windows 上执行的脚本结果
- CB-8683 更新 WP 和 Browser 中特定于旧 ID 的引用为新 ID
cordova-plugin-media@1.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - CB-8572 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - CB-8746 提高了文件依赖项的版本
- CB-8747 更新了依赖项,添加了对等依赖项
- CB-8686 删除
musicLibrary功能 - CB-8428 修复在未配置音频的设备上媒体插件测试中多次调用
done()的问题 - CB-8425 媒体插件
.ctr:按照规范将 src 参数设为必需 - CB-7962 添加 Browser 平台支持
- CB-8659 iOS 4.0.x 兼容性:删除已弃用标头的使用
- CB-8793 修复测试以在 wp8 和 Windows 上通过
- CB-8779 修复 wp8 上的媒体状态报告
- CB-8541 添加有关 Windows 上可用录制格式的信息
- CB-8428 如果没有可用的音频播放硬件,则修复 Windows 上的测试
- CB-8426 向媒体插件添加 Windows 平台部分
cordova-plugin-media-capture@1.0.0
- CB-8683 将
plugin-id更改为package-name - 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - CB-8746 提高了文件依赖项的版本
- CB-8747 更新了依赖项,添加了对等依赖项
- CB-8687 合并清单目标
- CB-7963 Browser 添加支持
- CB-8659 iOS 4.0.x 兼容性:删除
initWebView方法的使用 - CB-8571 集成 TravisCI
- CB-8538 添加了
package.json文件
cordova-plugin-network-information@1.0.0
- CB-8683 将
plugin-id更改为package-name - CB-8185 修复
cordova.platformId中的拼写错误 - 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - CB-8185 在 Browser 平台上使用
navigator.onLine作为连接信息源 - CB-8659 iOS 4.0.x 兼容性:删除
initWebView方法的使用 - CB-8573 集成 TravisCI
- CB-8538 添加了
package.json文件
cordova-plugin-splashscreen@2.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - CB-8574 集成 TravisCI
- CB-8345 将启动画面资源的默认值设为
screen(这也是模板和 CLI 假设的值) - 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - CB-8836 在动画化
splashscreen后崩溃 - CB-8797 iOS 添加启动画面偏好设置
FadeSplashScreenDuration和FadeSplashScreen - CB-8753 Android 修复先前提交中缺少导入的问题
- CB-8753 Android 添加
SplashMaintainAspectRatio偏好设置 - 文档:将 Windows 添加到受支持的平台
- CB-7964 browser 添加支持
- WP8 遵守配置文件中的
SplashScreen和SplashScreenDelay偏好设置 - CB-8397 Windows 支持显示 Windows Phone 启动画面
cordova-plugin-statusbar@1.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - CB-8575 集成 TravisCI
- 使用
TRAVIS_BUILD_DIR,通过 npm 安装 paramedic - 使用
StatusBarBackgroundColor而不是AndroidStatusBarBackgroundColor,并在自述文件中添加了一个怪癖 - Android 5+ 添加对
StatusBar.backgroundColorByHexString(和StatusBar.backgroundColorByName) 的支持 - Android 允许设置
statusbar backgroundcolor
cordova-plugin-test-framework@1.0.0
- CB-8538 添加了
package.json文件 - CB-8683 将
plugin-id更改为package-name - CB-8528 为 jasmine 2.2.0 中移动的
jasmine.Expectation.addMatchers添加一个 shim - CB-8528 更新测试框架插件以使用 Jasmine 2.2.0
- CB-8385 确保
plugin-test-framework只触发一次测试
cordova-plugin-vibration@1.0.0
