| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.uniStatsPlugin = void 0;
- const uni_cli_shared_1 = require("@dcloudio/uni-cli-shared");
- const emittedHashMap = new WeakMap();
- function uniStatsPlugin() {
- let resolvedConfig;
- return {
- name: 'uni:app-stats',
- enforce: 'post',
- configResolved(config) {
- resolvedConfig = config;
- emittedHashMap.set(resolvedConfig, new Map());
- },
- writeBundle(_, bundle) {
- if (resolvedConfig.isProduction) {
- // 仅dev生效
- return;
- }
- const emittedHash = emittedHashMap.get(resolvedConfig);
- const changedFiles = [];
- Object.keys(bundle).forEach((filename) => {
- const outputFile = bundle[filename];
- let outputFileHash = '';
- if (outputFile.type === 'asset') {
- outputFileHash = (0, uni_cli_shared_1.hash)(outputFile.source);
- }
- else {
- outputFileHash = (0, uni_cli_shared_1.hash)(outputFile.code);
- }
- if (emittedHash.get(filename) !== outputFileHash) {
- emittedHash.set(filename, outputFileHash);
- changedFiles.push(filename);
- }
- });
- process.env.UNI_APP_CHANGED_FILES = changedFiles.length
- ? JSON.stringify(changedFiles)
- : '';
- },
- };
- }
- exports.uniStatsPlugin = uniStatsPlugin;
|