MCPcopy
hub / github.com/ocsjs/ocsjs / createUserJs

Function createUserJs

scripts/build-core.js:35–149  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

33}
34
35async function createUserJs() {
36 /** 模拟浏览器环境 */
37 require('browser-env')();
38
39 // @ts-ignore
40 globalThis.unsafeWindow = {};
41
42 /** @type {import('../packages/scripts/src/index')} */
43 // @ts-ignore
44 const ocs = require(path.join(distPath, 'index.js'));
45
46 /** @return {import('../packages/utils').CreateOptions} */
47 const createOptions = () => {
48 const { CXProject, ZHSProject, ZJYProject, IcveMoocProject, ICourseProject, YKTProject } = ocs;
49 const projectList = [CXProject, ZHSProject, ZJYProject, IcveMoocProject, ICourseProject, YKTProject]
50 .map((s) => `【${s.name}】`)
51 .join(' ');
52
53 const matchMetadata = Array.from(
54 new Set(
55 ocs
56 .definedProjects()
57 .map((p) => (p.domains || []).map((d) => `*://*.${d}/*`))
58 .flat()
59 )
60 );
61
62 return {
63 parseRequire: true,
64 parseResource: true,
65 resourceBuilder: (key, value) => `const ${key} = \`${value}\`;`,
66 metaDataFormatter: {
67 header: '==UserScript==',
68 footer: '==/UserScript==',
69 prefix: '// ',
70 symbol: '@',
71 gap: '\t'.repeat(4)
72 },
73 metadata: {
74 name: 'OCS 网课助手',
75 version: version,
76 description: [
77 'OCS(online-course-script) 网课助手,官网 https://docs.ocsjs.com ,专注于帮助大学生从网课中释放出来',
78 '让自己的时间把握在自己的手中,拥有人性化的操作页面,流畅的步骤提示,支持 ',
79 projectList,
80 '等网课的学习,作业。具体的功能请查看脚本悬浮窗中的教程页面。'
81 ].join(' '),
82 author: 'enncy',
83 license: 'MIT',
84 namespace: 'https://enncy.cn',
85 homepage: 'https://docs.ocsjs.com',
86 source: 'https://github.com/ocsjs/ocsjs',
87 icon: 'https://cdn.ocsjs.com/logo.png',
88 connect: ['enncy.cn', 'icodef.com', 'ocsjs.com', 'zaizhexue.top', 'localhost', '127.0.0.1'],
89 match: matchMetadata,
90 grant: [
91 'GM_info',
92 'GM_getTab',

Callers

nothing calls this directly

Calls 3

createOptionsFunction · 0.85
createUserScriptFunction · 0.85
createMetaFileFunction · 0.85

Tested by

no test coverage detected