(opts: CreateOptions)
| 145 | * 创建用户脚本 |
| 146 | */ |
| 147 | export async function createUserScript(opts: CreateOptions) { |
| 148 | let requires = ''; |
| 149 | let resources = ''; |
| 150 | |
| 151 | if (opts.parseRequire) { |
| 152 | // 解析外部依赖 |
| 153 | requires = await parseMetaDataRequires(opts.metadata.require); |
| 154 | opts.metadata.require = []; |
| 155 | } |
| 156 | if (opts.parseResource) { |
| 157 | // 解析资源文件 |
| 158 | resources = await parseMetaDataResources(opts.metadata.resource, opts.resourceBuilder); |
| 159 | opts.metadata.resource = []; |
| 160 | } |
| 161 | const content = [ |
| 162 | // 创建脚本头部信息 |
| 163 | createUserScriptMetadata(opts.metaDataFormatter, Object.assign(DEFAULT_METADATA, opts.metadata)), |
| 164 | requires, |
| 165 | resources, |
| 166 | // 合并入口文件 |
| 167 | readFileSync(opts.entry).toString() |
| 168 | ].join('\n'.repeat(2)); |
| 169 | |
| 170 | writeFileSync(opts.dist, content); |
| 171 | } |
no test coverage detected