ESLint 加入 jQuery 基金会

发布于 作者

继上周宣布 JSCS 与 ESLint 合并 之后,本周 ESLint 团队宣布他们将把他们的项目带到 jQuery 基金会。我们很高兴成为 ESLint 长期、公开治理的家园的提供者。我们也期待着看到这个与 JSCS 的新伙伴关系的结果。

在基金会,我们一直在努力寻找方法,使 JavaScript 开发人员的开发体验更佳。我们认为 ESLint 和 JSCS 一直是这方面的领导者。随着这两个才华横溢的团队在 jQuery 基金会走到一起,我们预计将看到并支持 ESLint 的加速开发,以及开发人员在将 JavaScript 分析、代码风格检查和代码风格检查引入其项目时,更容易发现和做出决策。

展望未来,我们希望继续支持 JavaScript 领域的创新,同时为 JavaScript 开发世界的各个方面的协作提供一个合适的环境。有关 ESLint 选择 jQuery 基金会的理由以及这对团队和用户的影响,请查看他们在 ESLint 博客 上的公告。

关于您项目中 npm 依赖项的社区公告

发布于 作者

正如大多数人可能已经知道的那样,最近在项目中使用 npm 模块时,突出显示了一个潜在的危险安全漏洞。总的来说,jQuery 基金会仍然认为这是一种安全且非常强大的做法,我们绝不建议您不再在 JavaScript 项目中使用 npm 进行包管理。我们想倡导的是,在安装包及其依赖项时,对于 jQuery 插件开发人员社区以及基金会中分发 npm 上的包的许多项目的使用者来说,要谨慎行事。

快速回顾

与其重写故事,不如直接从 npm 博客上的完整回顾和总结 中查看。

问题所在

接下来发生的事情是我们写这篇文章的原因。Azer Koçulu 发布了许多 npm 上的包,其中一个是 left-pad 包,它是一个简单的代码片段,许多其他包都依赖于它。该包在取消发布后,许多流行的项目开始出现构建失败,因为缺少该包。令人担忧的是,任何人都可以取消发布您依赖的依赖项,或者依赖于依赖项的依赖项的依赖项,并导致您或您的团队遇到真正的麻烦。在 left-pad 取消发布后不久,npm 团队决定取消取消发布它,并由新所有者修复互联网上许多中断的构建。然而,更令人担忧的是,一旦包被取消发布,任何人都可以获取您在依赖项树中某个地方依赖的那些包名称,并将新的、可能是恶意的代码推送到您的项目中。总的来说,这并不太糟糕,因为您的包可能依赖于一个已取消发布的版本,而新发布的版本不会被拉入。但是,许多人在安装依赖项时使用命令 npm i --save <package-name>npm i --save-dev <package-name>,默认情况下会安装当时发布的最新版本,前面有一个 ^,例如 ^1.0.0,这告诉 npm 在下次更新依赖项时安装任何更新的版本(包括次要版本)。这意味着,如果您重新安装或更新您的项目,并且有人将恶意代码推送到修补程序(1.0.1)或次要(1.1.0)版本(以我们的示例为例),它将自动安装到您的项目中。

建议

我们的主要建议是小心。了解您要安装的内容,以及您依赖的依赖项以及它们在树中的依赖项要安装的内容。您绝对应该立即查看您的项目,看看您依赖的任何模块是否已被取消发布,以及它们是否在 此列表 上,以及它们是否最近发布了您可能想避免的版本,直到您验证它安全为止。虽然我们没有直接与他们交谈,但我们相信 npm, inc. 的团队正在努力解决这些问题,但在那之前,请保持警惕,保护好您的项目和插件。我们一直认为,JavaScript 一直并将继续是开发一切(从个人博客到企业级应用程序)的最强大选择之一。对于任何技术,我们都会遇到挫折,但只要我们从中吸取教训,并将其作为前进的动力,JavaScript 将会取得胜利。

jQuery 基金会和 Dojo 基金会将合并

发布于 作者

联合基金会通过服务开发人员来推动开放网络的发展

jQuery 基金会和 Dojo 基金会今天宣布计划合并力量,组建规模最大、最多样化、最全面的基金会,致力于通过服务开发人员、他们的项目和他们的社区来构建开放网络。

“这次合并提升了网络可访问性、开放性和开发人员教育,并将显著推动开放网络的发展,改善开发人员体验,”jQuery 基金会执行董事 Kris Borchers 说。“每个开源项目都需要社区、治理和技术资源才能成功。通过携手合作,我们让社区更容易发展,简化和简化流程,为项目和开发人员提供无与伦比的资源。”

“Dojo 基金会项目负责人和我都非常高兴能与 jQuery 基金会合作,”Dojo 基金会主席 Dylan Schiemann 说,他将与合并后的 jQuery 基金会董事会合作。“我们拥有共同的使命、目标和方法,我们共同服务 JavaScript 开发人员社区需求的能力将把开放网络推向新的高度。”

jQuery 核心项目负责人 Timmy Willison 同意,并补充说:“我非常喜欢 Dojo 项目和 Dojo 基金会。我很高兴并荣幸能与如此有能力、才华横溢的开发人员合作,我期待着一起探索我们可以取得的成就。”

“一些最具创新性的开发人员理念来自 JavaScript 社区,我们的客户从中看到了很大的价值,”IBM 开放技术副总裁 Todd Moore 说。“我们很高兴看到 jQuery 基金会和 Dojo 基金会在开放协作、以开发人员为中心的开放环境中携手合作。”

RequireJS 项目负责人 James Burke 说:“我曾为两个基金会下的项目贡献过力量,我很感谢这两个基金会通过将法律和机械流程降至最低摩擦来使人们能够轻松地在友好的环境中开始贡献。这两个基金会还致力于通过非常宽松的开源方式创建最有用的代码。我相信,通过将他们的努力结合起来,新的项目将更容易选择这种成功的模式。”

Lo-Dash 项目负责人 John-David Dalton 补充说:“将 Dojo 和 jQuery 基金会的资源结合起来对开发人员来说是一件好事。除了这次合并带来的许多优势之外,合并 CLA 和简化流程将使项目更容易成长,更好地服务于应用程序开发人员社区。”

随着这次合并,jQuery 基金会继续朝着其使命迈进,即让每个人都能访问网络。通过将 Dojo 基金会的项目添加到其支持的项目家族中,基金会能够在努力提高项目和整个开放网络的多样性和可访问性方面接触到更广泛的开发人员社区。这仅仅是 jQuery 基金会进一步服务于开发人员的计划中的第一步。

Esprima 2.1 发布

发布于 作者

我们刚刚发布了 Esprima 2.1.0!此版本引入了对几个新的 ES6 语法片段的支持:类、剩余参数、计算属性名、let 和 const。有关完整详细信息,请参见下面的发行说明。我们还对测试基础设施进行了各种改进,使代码库更易于贡献者使用。感谢所有为此次版本贡献补丁的人:Ariya Hidayat、Bei Zhang、Brandon Mills、Mike Rennie、Mike Sherov。

在将更多 ES6 功能引入 Esprima 的过程中,我们开始与其他 JavaScript 解析器和解析器使用者合作,帮助定义 JS AST 生成的社区标准。这项工作的成果是 ESTree 规范,位于此处:https://github.com/estree/estree。我们要感谢所有做出贡献的人,包括 Esprima、Mozilla SpiderMonkey 解析器、Acorn 解析器和 Babel 的成员,仅举几例。完整的贡献者列表位于此处:https://github.com/estree/estree/blob/master/README.md

预计将在几周后发布 2.2 版本,带来更多 ES6 支持。如果您想帮助贡献,我们会在 Freenode IRC 的 #esprima 房间里闲逛,并在每周三美国东部时间下午 2 点在 Freenode IRC 的 #esprima-meeting 房间里举行每周会议。期待在那里见到您!

发行说明

  • 支持 ES6 类 #1001
  • 支持 ES6 rest 参数 #1011
  • 支持 ES6 计算属性名 #1037
  • 支持 ES6 词法声明 #1065
  • 扩展属性 getter、setter 和方法的位置 #1029
  • 使 TryStatement 能够转换为单个处理程序 #1031
  • 容忍未闭合的块注释 #1041

Famo.us 加入 jQuery 基金会

发布于 作者

如果你还没听说,Famous Industries (Famo.us) 今天宣布加入 jQuery 基金会,成为创始级成员。Famo.us 加入我们的其他创始级成员,WordPress 和 IBM,以及我们不断增长的成员公司名单,他们认识到 jQuery 基金会对 JavaScript 技术的开放治理的强大力量和重要性。

对于那些不熟悉 Famo.us 的人来说,他们提供了一个免费的开源 JavaScript 平台,使工程师能够构建美观、跨平台的 Web 应用。它是唯一一个提供完全集成到 3D 物理动画引擎中的开源 3D 布局引擎的框架,它可以渲染到 DOM、Canvas 或 WebGL。

Famo.us 还通过 Famo.us 大学提供广泛的免费培训、示例和教程。他们的实时编码环境允许学生实时查看他们的代码,并以自己的节奏学习主题。我们计划通过与 Famo.us 合作来利用他们在教育方面的热情,在 2015 年年中于旧金山举办一个顶级的开发者活动 (敬请关注!)。

如今,jQuery 仍然是可用的最受欢迎的 JavaScript 库之一,80% 的顶级 JavaScript 启用网站和超过 60% 的顶级百万个网站*选择使用 jQuery 启用的库。随着我们的社区不断发展和创新,我们也在不断发展。这使得我们的成员的支持比以往任何时候都更加重要。

我们正在进行一系列新的计划:改进我们创新的技术社区合作方式。Famo.us 有许多小部件,他们打算作为 jQuery 插件提供,我们期待利用他们的支持和专业知识,在我们努力改进围绕 jQuery 插件的扩展社区指南方面。

Famo.us 开发人员将加入我们的技术工作,所以请向他们问好,并让他们感到宾至如归。联合创始人兼首席执行官 Steve Newcomb 已被选入 jQuery 基金会董事会。我们期待从 Steve 带来的独特视角、商业头脑和人生经验中获益,帮助我们朝着实现使命迈进。

这将是一个伟大的合作伙伴关系,也是一个忙碌的新年。因此,请加入我们,并向 Famo.us 喊一声,欢迎他们加入 jQuery 基金会!

*来自 BuiltWith.com 的数据

改进指针事件填充程序

发布于 作者

今天,我们很高兴地宣布,Google 已将他们的 指针事件填充程序 转移到 jQuery 基金会。此填充程序最初由 Google 的 Polymer 团队编写,但由于 Google 选择暂停他们的指针事件实现,我们参与进来,以确保该填充程序得到维护,并继续成为开发人员可以用来作为在所有浏览器中最终实现原生实现的路径的工具。非常感谢 Google 和 Polymer 团队允许我们构建在他们的工作基础上,并继续开发。

jQuery 基金会一直是,并将继续成为 标准的坚定支持者,我们特别 坚定地支持指针事件标准,因为它将简化 Web 开发人员处理用户交互的方式。如今,开发人员需要为鼠标和触摸使用两种截然不同的事件模型,尽管它们有许多相似之处。结果通常是代码包含许多特殊情况,尤其是在设备本身从触摸生成“虚假”鼠标事件时。jQuery 基金会希望推动开发人员采用这种统一的事件系统。我们的目标是让所有浏览器都原生实现此标准。

就在昨天,W3C 将指针事件规范提到了 建议提案 阶段。这使得指针事件离完成标准又近了一步,并为浏览器提供了坚实的基础,可以用来实现这些 API。一些浏览器甚至已经开始实现。不出所料,Internet Explorer 首先实现了指针事件,并在提交给 W3C 进行标准化之前,已经实现了指针事件,并且 Firefox 也有一个实现指针事件的代码库分支,他们 打算将其移植到所有版本的 Firefox。这两个实现最近 通过了 100% 的指针事件测试套件,因此实现进展顺利。

我们要感谢 Microsoft Open Technologies 在 指针事件上的辛勤工作和他们持续的支持。我们还要感谢 IBM、Mozilla、Google、Dojo 以及其他许多组织和个人,他们通过创建、培养和推广指针事件等新标准来帮助并继续帮助让开发人员的生活更轻松。如果你想参与其中,或者只是想在你的项目中开始使用指针事件,请访问新的 指针事件库 并查看。

jQuery.com 2014 年 9 月安全回顾

发布于 作者

在 9 月的最后两周,由于我们 Web 服务器遭到一系列攻击,我们登上了新闻头条。今天,我们想向大家简要更新一下我们网站的状态,以及过去两周发生的事件回顾。

jQuery 遭到围攻

9 月 18 日凌晨,我们遭到了 DDoS 攻击,网站离线。我们宕机了几个小时。这些网站在 9 月 18 日当天晚些时候恢复了运行,一切都看似正常。

后来,在 9 月 18 日下午,一家名为 RiskIQ 的安全公司联系我们,报告称他们的爬虫发现我们的内容网站正在提供恶意软件。从没有报告称 jQuery 库或 CDN 遭到破坏。在收到该报告后,我们立即完全销毁并重新映像了所有这些机器,吊销并重新颁发了所有相关的 SSL 证书,并确认当时没有提供任何可疑内容。从那时起,我们自己的团队以及来自 Mozilla 和 MaxCDN 的安全人员一直在努力分析日志,并试图确认此次攻击的影响。

9 月 23 日,RiskIQ 公开发布了他们的报告,该报告在当天在各种媒体和 Twitter 上引起了热议。第二天早上,9 月 24 日,在我们网站上的 DDoS 攻击在频率和规模上不断增加的同时,CVE-2014-6271,也就是我们所知的 ShellShock 漏洞,被发布。在我们继续回应媒体讨论,并向社区传达 9 月 18 日发生的事件时,我们再次成为了受害者,遭遇了一系列更为公开的攻击,这些攻击涉及到反复破坏 jquery.com

我们对系统的调查尚未找到最初的攻击媒介。但是,我们确实采取了一些措施来提高自身的安全性。例如,我们的一些 WordPress 安装过时了,我们所有的服务器都容易受到最近的 shell 漏洞的攻击,NGINX 也略微过时,以及可能需要进行的其他一些补丁等。基础设施团队迅速行动起来,开始进行这些更改,并开始构建新的、完全修补并安全化的服务器来托管我们的网站。这些更改似乎有效,因为破坏行为停止了,我们也没有发现任何自那以后入侵的证据。

9 月 24 日晚些时候,一场大规模且持续不断的 DDoS 攻击开始了。它似乎会一波一波地来,但直到 9 月 28 日晚才停止。9 月 26 日和 27 日的大部分时间都花在了尝试实施各种产品和解决方案,以便使服务器保持在线状态。我们夜以继日地努力让网站保持在线状态。我们必须赞扬 Corey Frang、Adam Ulvi、基础设施团队的其他成员以及其他人;他们通宵达旦,轮班工作,试图让我们保持在线状态。没有他们的努力,我们就不可能拥有我们所拥有的短暂的正常运行时间。我们采取的一项非常重要的措施是联系了 CloudFlare,他们慷慨地迅速地让我们访问了他们的企业服务,这在缓解这些攻击方面帮助巨大。

展望未来

jQuery 和 jQuery 基金会对 Web 生态系统很重要,这一点从大量的新闻报道和众多关心此事的人和组织所提出的问题中可以明显看出。jQuery 基金会每天都在努力维护和改进我们的项目以及围绕这些项目的基礎设施。这项工作的目标是继续让 Web 开发人员的工作更轻松,并确保他们在标准和浏览器的世界中拥有发言权。但是,这些目标需要大量的资源。无论这些资源是通过访问公司员工或服务的专业知识,还是通过财务支持提供的,我们都无法在没有开源社区和支持成员的支持下继续进行这项重要的工作。

在这段艰难时期,我们被多次问到为什么没有部署 XYZ 服务,或者为什么我们的安全团队没有更密切地关注这类风险。简单来说,我们的预算紧张,资源有限。我们的基础设施团队,以及我们大多数团队都是由志愿者组成,他们无偿地奉献时间来确保一切正常运行。 Heartbleed 和 ShellShock 漏洞是最近的例子,说明当开源项目被视为理所当然并被认为没问题时,事情会变得多么糟糕。最终,一些问题会从缝隙中漏出来,而当人们利用业余时间尽力去做的时候,这些缝隙会变得更大、更频繁。

那么,您能如何提供帮助呢?作为个人,您可以参与我们的其中一个项目。我们始终需要帮助编写代码、设计、维护服务器、处理活动等等。请查看 contribute.jquery.org,或者在我们的 IRC 频道中打个招呼,我们的多个频道列表在 irc.jquery.org 上。作为组织,我们非常乐意了解您是否愿意捐赠任何服务,是否可以抽出几小时每周来为我们提供开发者或其他技术娴熟的专业人员,或者您是否可以提供经济上的帮助。请发送电子邮件至 membership@jquery.org 并告诉我们您能如何提供帮助。

我们不想过多地谈论这些攻击,因为它们一直都在发生,因为在黑客眼中,我们仍然是一个诱人的目标,他们甚至在本文撰写之时仍在试图入侵我们的服务器。在目前与社区分享所有这些信息时,我们试图在解释发生的事情的必要性和公开宣布我们认为已经控制住局面的潜在反弹之间取得平衡。

话虽如此,我们目前确实认为已经控制住局面。为此,我们衷心感谢整个 jQuery 基础设施团队,他们在这些问题上撸起袖子,夜以继日地工作,将我们恢复到良好的状态。我们将继续保持警惕,确保我们为用户社区提供的全部资源的可靠性和安全性。

(不仅仅是)jQuery 基金会

发布日期: 作者:

jQuery 基金会的 使命一直不仅仅是关于我们同名的 jQuery、jQuery UI 和 jQuery Mobile 项目。我们已经托管了几个项目,比如 Sizzle、QUnit 和 Globalize,它们并不依赖 jQuery 库。

我们在 jQuery 大会上体现了这种更广泛的 Web 导向型使命,这些会议涵盖了超出 jQuery 的广泛开发者关注点,包括 Node、CSS、工具、测试等等。多年来,我们举办了关于构建工具、可访问性、安全性、性能、设计模式以及 Ember 和 Angular 等框架的演讲。例如,在今年 2 月的圣地亚哥大会上,Lenny Markus 发表了一场精彩演讲,主题是 PayPal 继续采用 Node 作为他们从 Java 和专有解决方案转向的过程,Catherine Farman 谈到了 现实世界的响应式设计,John Dimm 发表了一场关于 HTML5 语音 API 的演讲。

jQuery 基金会通过参与 W3C 和 ECMA TC39(负责制定我们所知的 JavaScript 标准的组织)的成员身份,参与 Web 平台的持续发展。我们认为,在这些标准组织中拥有强大的代表性至关重要,以确保它们能够满足开发者的需求。该基金会为开发者提供了一个平台,让他们能够在这些标准机构中发声。

除了我们项目之间的技术兼容性之外,我们还共享开源模式及其带来的所有优势。该基金会增加了顶级结构的优势,旨在为这些项目提供服务,为他们提供所需的资源,但允许贡献者根据社区的意见决定项目的最佳方向。加入该基金会的任何项目都可以满足其社区的需求,而不会受到营利公司的目标的限制。

虽然这是我们一直以来的使命,但我们觉得需要更清晰地表达这一点。我们很高兴开始将我们使命的一部分公之于众,并开始积极努力构建一个对所有人开放的 Web。如果您也对此感到兴奋,请帮助我们。为 基金会项目贡献您的时间。提供贵公司的服务。如果您或您的公司拥有成熟的开源项目,您认为该项目可以造福所有人,并且通过加入 jQuery 基金会而蓬勃发展,请查看我们关于 项目加入基金会 的理念,并 告诉我们您有兴趣。如果您希望通过经济支持来支持基金会的现有项目和未来项目,请 成为基金会的成员。只有所有受益于开源项目的人以任何可能的方式回馈,这些项目才能蓬勃发展。

支持事业,改善网络

发布日期: 作者:

为了帮助 jQuery 基金会实现其 使命,即改善开放式网络并使其对所有人开放,我们创建了一个会员计划,让组织和个人可以加入基金会,帮助我们支持我们的目标。作为回报,会员将在我们的网站和大会上得到认可。从那时起,许多大大小小的公司以及个人都站出来支持基金会以及 jQuery 项目的持续成功。您可以在 jquery.org 上的 会员页面 上找到我们所有会员的完整列表。

企业会员

企业会员根据支持程度提供多个级别,从青铜级到白金级。在这些级别之上,是我们的最高级别会员,称为创始会员。目前,WordPress 是我们唯一的创始会员,他们是我们 jQuery 基金会使命的重要组成部分,我们想对他们表示衷心的感谢。如果没有 WordPress 和我们各个级别的众多企业会员的支持,我们今天就不会站在这里。

那么,会员可以从对基金会的支持中获得什么呢?根据支持级别,我们以多种方式认可并感谢我们的会员。每个会员都将在 会员页面 上得到认可。随着您在不同会员级别中提升,您将获得更多权益,例如在大会上得到认可、免费和降价的赞助套餐、参加团队会议以讨论 jQuery 项目的开发和方向,甚至有机会举办您自己的 jQuery 授权活动。有关企业会员计划的更多信息,请发送电子邮件至 membership@jquery.org

我不是企业,我如何提供帮助?

很高兴您问这个问题。jQuery 基金会还设有个人会员计划,个人可以通过捐赠少量款项来帮助支持基金会,作为回报,我们会寄送一些很酷的 jQuery 品牌商品。该计划刚开始时,我们为个人提供了三个会员级别。这对加入的会员和管理付款和礼物配送的人来说都变得过于复杂。现在只有一个级别的个人会员,年费为 400 美元。如果您仔细想想,这仅仅相当于每天 1 美元,可以帮助 jQuery 基金会继续运营。您可以在 会员页面 上看到我们所有的个人会员。随着新会员的加入,他们将被列为英雄,直到从 3 层级到 1 层级的计划过渡完成,所有人合并到一个个人会员列表中。如果这一切让您跃跃欲试,想要成为下一波个人会员中的一员,请前往 https://jquery.org/join/ 并加入我们的行列。

会员资格可能并非所有人的选择,但您仍然可以通过多种方式支持基金会的工作。首先是捐赠。jQuery 基金会接受通过 PayPal 进行的各种规模的捐赠。如果您对此选项感兴趣,请查看我们的 捐赠页面。帮助基金会的另一种方式是在 DevSwag 上为自己购买一件漂亮的衬衫或一些贴纸。我们与 DevSwag 合作,就像许多其他开源项目一样,授权销售官方 jQuery 品牌服装和其他商品,这些商品的销售收入的一部分将捐赠给 jQuery 基金会。

无论您是公司还是个人,我们都希望您花点时间考虑支持 jQuery 基金会,让我们继续努力让 Web 对所有人开放。

最后一点……

我们想再次提醒您即将举办的 圣地亚哥 jQuery 大会。大会将于 2 月 12 日至 13 日举行,在此之前,Bocoup 将举办为期两天的培训大会 Roost,时间为 2 月 10 日至 11 日。别忘了在结账时使用折扣码 jqblog50,在参加其中一个或两个活动时享受 50 美元的优惠!