问题标签 [semantic-versioning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
versioning - 抛出异常类型的更改是否应该被视为重大更改?
如果我有一个使用语义版本控制管理的公共 API,是否应该将方法可能引发的异常类型的更改视为重大更改?
考虑这个例子:
调用代码可能如下所示:
如果 的实现API.Method
因此改变:
是否应该增加语义版本的主要值,因为这种变化可能会破坏?它肯定会破坏上面的异常处理程序,所以看起来像是一个重大变化。
node.js - 为 npm install --save 指定 semver 运算符
默认情况下npm install --save
用作^
semver 运算符。我知道可以使用设置save-prefix
配置来更改此默认值。但由于我想~
为依赖项和^
devDependencies 指定,我不想更改配置。有没有办法~
用命令指定操作员--save
?
reactjs - ReactJS 版本 <1。是否已准备好生产(主要 API 在版本凹凸上不可变)?
正如标题所说,
我正在考虑在生产就绪项目中使用 React(特别是:Meteor 的Material-ui模块)。
因为它甚至在v1.0
那时还不够稳定,可以在生产中使用吗?1.0
使用 <版本有什么缺点?
java - 使用 maven 碰撞模块版本
我有一个大型的多模块 maven 项目(数十个模块,4 个嵌套级别)。
每个模块都有自己的语义版本(可以是也可以SNAPSHOT
不是)。
我想找到使用一个命令或脚本自动调整每个模块主要版本的方法,以避免每个模块发生变化。
所以我有例如
撞了之后我想拥有
我知道Maven 发布插件和版本 Maven 插件,但我不知道如何让它们自动更新主要版本。
你能帮我解决这个问题吗?
node.js - npm install 使用预发布版本
我想在我的 package.json 中使用预发布版本来获取最新版本(包含 als 预发布)中的一些依赖项,但由于某些原因,它在我的情况下不起作用。预发行版被完全忽略。作为一个例子,让我们使用角度。如果我要求"angular": ">=1.4.0-rc.0 <1.4.1"
作为依赖项,我希望我会1.4.0-rc.2
安装版本,但我只得到版本1.4.0
。
显示npm info angular
,有一些可用的 rc 版本,如
...
“1.4.0-beta.4”、
“1.4.0-beta.5”、
“1.4.0-beta.6”、
“1.4.0-rc.0”、
“1.4.0-rc”。 1',
'1.4.0-rc.2',
我的 package.json 现在看起来如下
任何想法为什么我没有得到任何 rc 版本?我该怎么做才能让它工作?
node.js - 获取 maxSatisfying 版本,包括带有节点 semver 的预发布版本
如何使用 node/semver 从一系列版本中获取最新版本(包括预发布版本)。
例如:
返回 null,但我想取回 1.0.0-rc.11。
亲切的问候,祝您有美好的一天!
ios - 使用 TestFlight 进行内部测试时,什么是好的 iOS 应用版本控制策略?
我有一个 iOS 应用程序,它使用语义版本控制来标记已发布的版本。我还使用 Apple 的 TestFlight 将内部构建推送给团队进行测试/QA。
推送内部构建需要将构建上传到 iTunes Connect。iTunes Connect 的测试版本和发布版本之间没有区别,iTunes Connect 不允许覆盖以前上传的版本。所以每次我想为内部测试推送一个新版本时,我都必须增加版本号(嗯,补丁(XX X)号)。
这很好用,除了对我们的用户来说,看起来我们的版本号在更新之间跳了很多。例如,如果这是我们的构建历史:
v1.0.0
v1.0.1
(测试中发现bug)v1.0.2
v1.1.0
(测试中发现bug)v1.1.1
(测试中发现bug)v1.1.2
...然后用户只看到大胆的发布,我们的发布历史看起来很奇怪:
v1.0.0
v1.0.2
v1.1.2
我认为避免这种情况的一个好方法是使用 beta 版本,例如v1.1.0-beta
测试版本,但 iTunes Connect 拒绝任何不是X.X.X
.
有没有办法继续使用 TestFlight 进行内部测试/QA 并避免向用户显示填补空白的版本历史记录?
internationalization - 出于语义版本控制的目的,i18n 字符串键是否被视为“公共 API”?
我正在维护一个 PHP 模块,该模块的 i18n 覆盖率非常低且过时,我们正在尝试对其进行更新。为了将内容放在应有的位置,我们需要组合一些键(例如 OrderInformation.ss.QUANTITY 和 ProductCategoryItem.ss.QUANTITY)并重命名其他键。
从理论上讲,这可能会导致之前翻译的一些网站在更新时恢复一些字符串。这是否有资格在语义版本控制下进行向后不兼容的更改?
php - 解析 JSON 文件并比较 semvers
我有一个看起来大致像这样的 json 文件。
我想知道是否有解决方案来解析和获取最重新发送的 semver 标签。我试过了:
现在,假设$container
包含所有标签,我如何获得最新版本将是 2.4。
获取2.4
不是问题,而是制定一种面向未来的可靠方法来找出哪个是最近的。
node.js - npm 安装不起作用
我的 npm 有问题。这是我的错误:
我尝试卸载 nodejs 并安装它,但我的错误仍然存在,然后我尝试命令 npm install npm,有同样的错误并且npm -v
也不起作用。