MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / appendSource

Method appendSource

tools/mcmanifest.js:2140–2186  ·  view source on GitHub ↗
(target, source, include, suffix, parts, kind, query)

Source from the content-addressed store, hash-verified

2138
2139class ModulesRule extends Rule {
2140 appendSource(target, source, include, suffix, parts, kind, query) {
2141 var tool = this.tool;
2142 if (kind < 0)
2143 return;
2144 if (tool.dataFiles.already[source])
2145 return;
2146 else if ((parts.extension == ".js") || (parts.extension == ".mjs"))
2147 this.appendFile(tool.jsFiles, target + ".xsb", source, include);
2148 else if (parts.extension == ".c")
2149 this.appendFile(tool.cFiles, parts.name + ".c.o", source, include);
2150 else if (parts.extension == ".cc")
2151 this.appendFile(tool.cFiles, parts.name + ".cc.o", source, include);
2152 else if (parts.extension == ".cpp")
2153 this.appendFile(tool.cFiles, parts.name + ".cpp.o", source, include);
2154 else if (parts.extension == ".m")
2155 this.appendFile(tool.cFiles, parts.name + ".m.o", source, include);
2156 else if (parts.extension == ".java")
2157 this.appendFile(tool.javaFiles, parts.name + ".class", source, include);
2158 else if (parts.extension == ".h") {
2159 this.appendFolder(tool.cFolders, parts.directory);
2160 this.appendFolder(tool.hFiles, source);
2161 if ("cdv" === query.transform) {
2162 const result = this.appendFile(tool.cdvFiles, target, source, include);
2163 if (result) {
2164 result.query = {...query};
2165 delete result.query.source;
2166 delete result.query.transform;
2167 }
2168 }
2169 else if (parts.name.endsWith(".cdv"))
2170 this.appendFile(tool.cdvFiles, target.slice(0, -4), source, include);
2171 }
2172 else if (parts.extension == ".ts")
2173 this.appendFile(tool.tsFiles, target + ".xsb", source, include);
2174 else if (parts.extension == ".d.ts")
2175 this.appendFile(tool.dtsFiles, target, source, include);
2176 else if (parts.extension == ".json") {
2177 if (parts.name.startsWith("manifest"))
2178 ;
2179 else if ("nodered2mcu" === query.transform)
2180 this.appendFile(tool.nodered2mcuFiles, target, source, include);
2181 else
2182 this.appendFile(tool.jsFiles, target + ".xsb", source, include);
2183 }
2184 else if (parts.extension == ".pio")
2185 this.appendFile(tool.pioFiles, target, source, include);
2186 }
2187 appendTarget(target) {
2188 this.appendFolder(this.tool.jsFolders, target);
2189 }

Callers

nothing calls this directly

Calls 3

sliceMethod · 0.65
appendFileMethod · 0.45
appendFolderMethod · 0.45

Tested by

no test coverage detected