Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
首先需要安装, node 和 npm: http://nodejs.org/#download
然后有两种安装方式:
###通过npm###
$ npm install spm -g
###通过源代码###
git clone https://github.com/seajs/spm.git
npm install spm/ -g
目前我们的打包是基于配置文件,而且对模块的目录结构也有一定的要求,所以需要先了解下SPM打包模块下基本目录结构和一个经典的配置文件.
package.json
README.md
src/
example.js
dist/
example-debug.js
example.js
tests/
examples/
其中dist目录是我们打包好的模块. 也就是最终上线使用的模块.
{
"name": "example",
"version": "0.9.17",
"dependencies": {
"$": "$",
"handlebars": "1.0.0",
"base": "#base/0.9.16/base"
},
"output": {
"name.js": ".",
"name2.js": ['n1.js', 'n2.js']
}
}
handlebars/1.0.0/handlebars
的一种简化形式由于打包的时候我们需要计算依赖关系,所以我们根据用户配置的依赖需要找到具体的模块,我们目前是通过源来完成的,对于一些标准模块 我们会提供统一的源服务,而对于用户的一些私有模块,我们也提供了命令可以方便用户快速的搭建自己的私有源服务.后面也会有相关源的介绍.
目前支持多种写法,最常用的就是上面两种:
总之SPM 目前说简单点就是根据模块的配置文件,然后计算模块的依赖,并替换相关依赖,并把需要的文件合并起来,然后输出标准的CMD模块.
对于配置文件更详细的内容可以参看下面两个内容:
对于具体的例子,可以参考我们已经开放出去的模块:
目前我们的命令大概可以分为两类.
根据package.json的配置打包模块并输出到dist目录:
$ spm build
其中有下面相关设置:
-c // 使用google closure compile 进行压缩
-X // 打印debug信息, 方便调试
打包模块(build),并把打包好后的dist目录的内容按照我们的定义上传到源服务中 方便其他人使用.
$ spm upload
其中build的参数也都适用,有一个新增加的:
--only // 只进行上传,不会执行build操作.
打包模块,并上传源服务,而且根据用户配置的远程服务器信息,可以把dist下面的内容scp到远程服务器. 具体的配置信息参看:
其中参数和upload的一致.
获取所有的 seajs 兼容新模块到当前目录.
$ mkdir libs
$ cd libs
$ spm install all
也可以获取指定模块:
$ spm install jquery@1.7.2
查看更多详情:
$ spm help install
创建一个标准模块:
$ mkdir module
$ cd module
$ spm init
你可以通过 transport
去包装一些非标准模块:
$ cd path/to/modules
$ mkdir xxx
$ cp jquery/transport.js xxx/
$ vi xxx/transport.js # modify it
$ spm transport xxx/transport.js
在当前目录启用源服务, 端口为 8000
$ spm server -p 8000
这样使用者可以在内网部署此服务,可以把模块部署到此服务,其他用户也可以从这个服务获取里面的模块.
如果一个服务想对多个系统(也就是模块配置有不同的root)提供服务的话
$ spm server -p 8001 --mapping
FAQs
Static Package Manager
The npm package spm receives a total of 4 weekly downloads. As such, spm popularity was classified as not popular.
We found that spm demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 8 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.