Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fast-sourcemap-upload

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fast-sourcemap-upload

fast track sourcemap upload

  • 1.1.10
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

FAST SourceMap Upload

上传SourceMap文件node脚本

插件功能

fast-sourcemap-upload根据用户配置的文件目录,自动递归搜索配置目录下的source文件和.map文件,并根据文件名与oss仓库文件做比对,实现增量上传源文件与map文件

提示:避免在开发环境使用该插件,在生产环境再启用该插件

配置项

配置字段类型说明是否必填默认值
app_keystring项目唯一标识无默认值
product_codestringproduct_code无默认值
app_codestringapp_code无默认值
upload_urlstring待上传文件目录路径(绝对路径)无默认值
is_delete_source_mapboolean是否在上传完map文件后删除输出目录的.js.map和.css.map文件,默认值为truetrue
timeoutnumber单个文件上传超时时间,默认值300000,5分钟300000
sts_urlstringSTS上传权限获取接口无默认值
force_updateboolean是否强制上传false

使用

npm i fast-sourcemap-upload -D

创建一个js文件 nodeUpload.js


const nodePlugin = require('fast-sourcemap-upload');
const path = require('path')
nodePlugin({
  app_key: 'your app——key',
  product_code: 'your product_code',
  app_code: 'your app_code',
  upload_url: path.resolve(__dirname, 'your dir_path'),
  is_delete_source_map: true,
})

终端

node nodeUpload

上传时间

上传时间不定,根据当前网络状况决定,oss仓库存在的文件不会上传(根据文件路径与名称区分,请开启文件名hash)。

注意事项

  1. 前端构建工具请开启文件名hash模式,增量上传是根据文件路径与文件名进行区分的。

  2. 如果您的项目将css、less、scss文件打包入您的js文件时,请在相关loader中关闭您css、less、scss相关文件的sourcemap生成配置。以防止生成的map文件一并打包入您的js文件中,导致js文件大小超过预期。

例:

{
  loader: 'style-loader',
  options: {
    sourceMap: false
  }
}
  1. 由于node对进程的内存分配有默认设置,32位系统 node默认分配内存 0.7g左右,64位系统默认分配内存1.4g左右, 如果项目复杂,在开启souremap生成选项时,打包的时候,可能出现内存不足导致打包失败的情况

例:

<--- Last few GCs --->

[70041:0x103800000]   112100 ms: Mark-sweep 1049.8 (1273.7) -> 1049.7 (1214.2) MB, 427.1 / 0.0 ms  (average mu = 0.618, current mu = 0.000) last resort GC in old space requested
[70041:0x103800000]   112510 ms: Mark-sweep 1049.7 (1214.2) -> 1049.7 (1192.2) MB, 410.3 / 0.0 ms  (average mu = 0.447, current mu = 0.000) last resort GC in old space requested


<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 0x36295d35be3d]
Security context: 0x0280a0d9e6e1 <JSObject>
    1: byteLength(aka byteLength) [0x280057866f1] [buffer.js:531] [bytecode=0x280f3e290c1 offset=204](this=0x0280cf7826f1 <undefined>,string=0x028037c8a291 <Very long string[190258200]>,encoding=0x0280a0dbd819 <String[4]: utf8>)
    2: arguments adaptor frame: 3->2
    3: fromString(aka fromString) [0x2800579d2d9] [buffer.js:342] [bytecode=0x280f3e278e1 offs...

解决方案:

配置打包命令时,修改node进程占用内存的大小 --max-old-space-size

例:

package.json

"scripts": {
    "build": " node --max-old-space-size=4096 ./scripts/build.js",
  },

Keywords

FAQs

Package last updated on 17 Apr 2023

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc