astx
Version:
super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring
60 lines (55 loc) • 5.89 kB
JavaScript
import { makeIpcTransformResult } from './ipc.mjs'
import runTransformOnFile from './runTransformOnFile.mjs'
import { parentPort as _parentPort } from 'worker_threads'
const parentPort = _parentPort
if (!parentPort) process.exit(1)
const abortControllers = new Map()
parentPort.on('message', async (message) => {
switch (message.type) {
case 'abort': {
var _abortControllers$get
;(_abortControllers$get = abortControllers.get(message.seq)) === null ||
_abortControllers$get === void 0
? void 0
: _abortControllers$get.abort()
return
}
case 'runTransformOnFile': {
const { seq, file, source, transform, transformFile, config } = message
let result
try {
const abortController = new AbortController()
abortControllers.set(seq, abortController)
const { signal } = abortController
result = await runTransformOnFile({
file,
source,
transform,
transformFile,
config,
signal,
forWorker: true,
})
} catch (error) {
parentPort.postMessage({
type: 'error',
seq,
error: {
message: error.message,
stack: error.stack,
},
})
return
} finally {
abortControllers.delete(seq)
}
parentPort.postMessage({
type: 'transformResult',
seq,
result: makeIpcTransformResult(result),
})
return
}
}
}) //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYWtlSXBjVHJhbnNmb3JtUmVzdWx0IiwicnVuVHJhbnNmb3JtT25GaWxlIiwicGFyZW50UG9ydCIsIl9wYXJlbnRQb3J0IiwicHJvY2VzcyIsImV4aXQiLCJhYm9ydENvbnRyb2xsZXJzIiwiTWFwIiwib24iLCJtZXNzYWdlIiwidHlwZSIsImdldCIsInNlcSIsImFib3J0IiwiZmlsZSIsInNvdXJjZSIsInRyYW5zZm9ybSIsInRyYW5zZm9ybUZpbGUiLCJjb25maWciLCJyZXN1bHQiLCJhYm9ydENvbnRyb2xsZXIiLCJBYm9ydENvbnRyb2xsZXIiLCJzZXQiLCJzaWduYWwiLCJmb3JXb3JrZXIiLCJlcnJvciIsInBvc3RNZXNzYWdlIiwic3RhY2siLCJkZWxldGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbm9kZS9Bc3R4V29ya2VyRW50cnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgeyBtYWtlSXBjVHJhbnNmb3JtUmVzdWx0IH0gZnJvbSAnLi9pcGMnXG5pbXBvcnQgcnVuVHJhbnNmb3JtT25GaWxlLCB7XG4gIFJ1blRyYW5zZm9ybU9uRmlsZU9wdGlvbnMsXG59IGZyb20gJy4vcnVuVHJhbnNmb3JtT25GaWxlJ1xuaW1wb3J0IHsgcGFyZW50UG9ydCBhcyBfcGFyZW50UG9ydCB9IGZyb20gJ3dvcmtlcl90aHJlYWRzJ1xuXG5jb25zdCBwYXJlbnRQb3J0ID0gX3BhcmVudFBvcnRcbmlmICghcGFyZW50UG9ydCkgcHJvY2Vzcy5leGl0KDEpXG5cbmNvbnN0IGFib3J0Q29udHJvbGxlcnM6IE1hcDxudW1iZXIsIEFib3J0Q29udHJvbGxlcj4gPSBuZXcgTWFwKClcbnBhcmVudFBvcnQub24oJ21lc3NhZ2UnLCBhc3luYyAobWVzc2FnZTogYW55KSA9PiB7XG4gIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgY2FzZSAnYWJvcnQnOiB7XG4gICAgICBhYm9ydENvbnRyb2xsZXJzLmdldChtZXNzYWdlLnNlcSk/LmFib3J0KClcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjYXNlICdydW5UcmFuc2Zvcm1PbkZpbGUnOiB7XG4gICAgICBjb25zdCB7IHNlcSwgZmlsZSwgc291cmNlLCB0cmFuc2Zvcm0sIHRyYW5zZm9ybUZpbGUsIGNvbmZpZyB9ID1cbiAgICAgICAgbWVzc2FnZSBhcyBSdW5UcmFuc2Zvcm1PbkZpbGVPcHRpb25zICYge1xuICAgICAgICAgIHNlcTogbnVtYmVyXG4gICAgICAgIH1cbiAgICAgIGxldCByZXN1bHRcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKVxuICAgICAgICBhYm9ydENvbnRyb2xsZXJzLnNldChzZXEsIGFib3J0Q29udHJvbGxlcilcbiAgICAgICAgY29uc3QgeyBzaWduYWwgfSA9IGFib3J0Q29udHJvbGxlclxuICAgICAgICByZXN1bHQgPSBhd2FpdCBydW5UcmFuc2Zvcm1PbkZpbGUoe1xuICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgc291cmNlLFxuICAgICAgICAgIHRyYW5zZm9ybSxcbiAgICAgICAgICB0cmFuc2Zvcm1GaWxlLFxuICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICBzaWduYWwsXG4gICAgICAgICAgZm9yV29ya2VyOiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICBwYXJlbnRQb3J0LnBvc3RNZXNzYWdlKHtcbiAgICAgICAgICB0eXBlOiAnZXJyb3InLFxuICAgICAgICAgIHNlcSxcbiAgICAgICAgICBlcnJvcjogeyBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLCBzdGFjazogZXJyb3Iuc3RhY2sgfSxcbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBhYm9ydENvbnRyb2xsZXJzLmRlbGV0ZShzZXEpXG4gICAgICB9XG4gICAgICBwYXJlbnRQb3J0LnBvc3RNZXNzYWdlKHtcbiAgICAgICAgdHlwZTogJ3RyYW5zZm9ybVJlc3VsdCcsXG4gICAgICAgIHNlcSxcbiAgICAgICAgcmVzdWx0OiBtYWtlSXBjVHJhbnNmb3JtUmVzdWx0KHJlc3VsdCksXG4gICAgICB9KVxuICAgICAgcmV0dXJuXG4gICAgfVxuICB9XG59KVxuIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQSxTQUFTQSxzQkFBVCxRQUF1QyxPQUF2QztBQUNBLE9BQU9DLGtCQUFQOztBQUVPLHNCQUZQO0FBR0EsU0FBU0MsVUFBVSxJQUFJQyxXQUF2QixRQUEwQyxnQkFBMUM7O0FBRUEsTUFBTUQsVUFBVSxHQUFHQyxXQUFuQjtBQUNBLElBQUksQ0FBQ0QsVUFBTCxFQUFpQkUsT0FBTyxDQUFDQyxJQUFSLENBQWEsQ0FBYjs7QUFFakIsTUFBTUMsZ0JBQThDLEdBQUcsSUFBSUMsR0FBSixFQUF2RDtBQUNBTCxVQUFVLENBQUNNLEVBQVgsQ0FBYyxTQUFkLEVBQXlCLE9BQU9DLE9BQVAsS0FBd0I7RUFDL0MsUUFBUUEsT0FBTyxDQUFDQyxJQUFoQjtJQUNFLEtBQUssT0FBTCxDQUFjO1FBQ1oseUJBQUFKLGdCQUFnQixDQUFDSyxHQUFqQixDQUFxQkYsT0FBTyxDQUFDRyxHQUE3QixpRkFBbUNDLEtBQW5DO1FBQ0E7TUFDRDtJQUNELEtBQUssb0JBQUwsQ0FBMkI7UUFDekIsTUFBTSxFQUFFRCxHQUFGLEVBQU9FLElBQVAsRUFBYUMsTUFBYixFQUFxQkMsU0FBckIsRUFBZ0NDLGFBQWhDLEVBQStDQyxNQUEvQztRQUNKVCxPQURGOzs7UUFJQSxJQUFJVSxNQUFKO1FBQ0EsSUFBSTtVQUNGLE1BQU1DLGVBQWUsR0FBRyxJQUFJQyxlQUFKLEVBQXhCO1VBQ0FmLGdCQUFnQixDQUFDZ0IsR0FBakIsQ0FBcUJWLEdBQXJCLEVBQTBCUSxlQUExQjtVQUNBLE1BQU0sRUFBRUcsTUFBRixLQUFhSCxlQUFuQjtVQUNBRCxNQUFNLEdBQUcsTUFBTWxCLGtCQUFrQixDQUFDO1lBQ2hDYSxJQURnQztZQUVoQ0MsTUFGZ0M7WUFHaENDLFNBSGdDO1lBSWhDQyxhQUpnQztZQUtoQ0MsTUFMZ0M7WUFNaENLLE1BTmdDO1lBT2hDQyxTQUFTLEVBQUUsSUFQcUIsRUFBRCxDQUFqQzs7UUFTRCxDQWJELENBYUUsT0FBT0MsS0FBUCxFQUFtQjtVQUNuQnZCLFVBQVUsQ0FBQ3dCLFdBQVgsQ0FBdUI7WUFDckJoQixJQUFJLEVBQUUsT0FEZTtZQUVyQkUsR0FGcUI7WUFHckJhLEtBQUssRUFBRSxFQUFFaEIsT0FBTyxFQUFFZ0IsS0FBSyxDQUFDaEIsT0FBakIsRUFBMEJrQixLQUFLLEVBQUVGLEtBQUssQ0FBQ0UsS0FBdkMsRUFIYyxFQUF2Qjs7VUFLQTtRQUNELENBcEJELFNBb0JVO1VBQ1JyQixnQkFBZ0IsQ0FBQ3NCLE1BQWpCLENBQXdCaEIsR0FBeEI7UUFDRDtRQUNEVixVQUFVLENBQUN3QixXQUFYLENBQXVCO1VBQ3JCaEIsSUFBSSxFQUFFLGlCQURlO1VBRXJCRSxHQUZxQjtVQUdyQk8sTUFBTSxFQUFFbkIsc0JBQXNCLENBQUNtQixNQUFELENBSFQsRUFBdkI7O1FBS0E7TUFDRCxDQXhDSDs7QUEwQ0QsQ0EzQ0QifQ==