@codepress/codepress-engine 0.9.4 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -115,13 +115,9 @@ function createCodePressPlugin(options = {}) {
115
115
  // This keeps the DOM clean instead of polluting HTML with attributes
116
116
  let configPrefix = "";
117
117
  if (repo_name) {
118
- const escapedRepo = repo_name
119
- .replace(/\\/g, "\\\\")
120
- .replace(/"/g, '\\"');
121
- const escapedBranch = (branch_name || "main")
122
- .replace(/\\/g, "\\\\")
123
- .replace(/"/g, '\\"');
124
- configPrefix = `try{if(typeof window!=='undefined'){window.__CODEPRESS_CONFIG__=Object.assign(window.__CODEPRESS_CONFIG__||{},{repo:"${escapedRepo}",branch:"${escapedBranch}"});}}catch(_){}\n`;
118
+ const repoLiteral = JSON.stringify(repo_name);
119
+ const branchLiteral = JSON.stringify(branch_name || "main");
120
+ configPrefix = `try{if(typeof window!=='undefined'){window.__CODEPRESS_CONFIG__=Object.assign(window.__CODEPRESS_CONFIG__||{},{repo:${repoLiteral},branch:${branchLiteral}});}}catch(_){}\n`;
125
121
  }
126
122
  return {
127
123
  contents: configPrefix + transformed,
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild-plugin.js","sourceRoot":"","sources":["../src/esbuild-plugin.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEH,sDA4DC;AAjID,uCAAyB;AACzB,2CAA6B;AAS7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;AAEzD,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAE,CAAC;IAChD,CAAC;IACD,OAAO,GAAG;SACP,QAAQ,CAAC,QAAQ,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,MAAc,EAAE,OAAe;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;QAEV,kEAAkE;QAClE,+CAA+C;QAC/C,IACE,iDAAiD,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5D,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,2CAA2C;UAC9E,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QAED,gDAAgD;QAChD,qGAAqG;QACrG,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAC/B,yEAAyE,EACzE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YAChC,sGAAsG;YACtG,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,sBAAsB,OAAO,IAAI,OAAO,IAAI,OAAO,GAAG,CAAC,CAAC;YAEnE,OAAO,GAAG,MAAM,IAAI,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC;QAC3D,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,qBAAqB,CACnC,UAAkC,EAAE;IAEpC,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,WAAW,GAAG,EAAE,EAChB,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,GAC1B,GAAG,OAAO,CAAC;IAEZ,OAAO;QACL,IAAI,EAAE,yBAAyB;QAC/B,KAAK,CAAC,KAAK;YACT,0BAA0B;YAC1B,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACnD,IAAI,CAAC;oBACH,oBAAoB;oBACpB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;wBACvC,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;oBAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;oBAC7C,CAAC;oBAED,4CAA4C;oBAC5C,+EAA+E;oBAC/E,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAEzD,+EAA+E;oBAC/E,qEAAqE;oBACrE,IAAI,YAAY,GAAG,EAAE,CAAC;oBACtB,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,WAAW,GAAG,SAAS;6BAC1B,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;6BACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBACxB,MAAM,aAAa,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC;6BAC1C,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;6BACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;wBACxB,YAAY,GAAG,wHAAwH,WAAW,aAAa,aAAa,oBAAoB,CAAC;oBACnM,CAAC;oBAED,OAAO;wBACL,QAAQ,EAAE,YAAY,GAAG,WAAW;wBACpC,MAAM,EAAE,KAAK;qBACd,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CACX,uCAAuC,EACvC,IAAI,CAAC,IAAI,EACT,GAAG,CACJ,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAED,kBAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"esbuild-plugin.js","sourceRoot":"","sources":["../src/esbuild-plugin.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -250,18 +250,14 @@ try {
250
250
  }
251
251
  // Inject repo/branch config into window.__CODEPRESS_CONFIG__ (cleaner than DOM attributes)
252
252
  if (!globalAttributesAdded && repoName && state.file.encodedPath) {
253
- const escapedRepo = repoName
254
- .replace(/\\/g, "\\\\")
255
- .replace(/"/g, '\\"');
256
- const escapedBranch = (branch || "main")
257
- .replace(/\\/g, "\\\\")
258
- .replace(/"/g, '\\"');
253
+ const repoLiteral = JSON.stringify(repoName);
254
+ const branchLiteral = JSON.stringify(branch || "main");
259
255
  const scriptCode = `
260
256
  try {
261
257
  if (typeof window !== 'undefined') {
262
258
  window.__CODEPRESS_CONFIG__ = Object.assign(window.__CODEPRESS_CONFIG__ || {}, {
263
- repo: "${escapedRepo}",
264
- branch: "${escapedBranch}"
259
+ repo: ${repoLiteral},
260
+ branch: ${branchLiteral}
265
261
  });
266
262
  }
267
263
  } catch (_) {}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AA6CA,wBAcC;AAgGD,kCA0WC;AApgBD,iDAAyC;AACzC,gDAAwB;AAGxB,uDAA4D;AAC5D,mDAI4B;AAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;AAEzD,MAAM,4BAA4B,GAA2B;IAC3D,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,EAAE;CACR,CAAC;AAEF,MAAM,uBAAuB,GAA2B;IACtD,GAAG,EAAE,GAAG;IACR,CAAC,EAAE,GAAG;CACP,CAAC;AAUF,SAAS,MAAM,CAAC,OAAe;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAE,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAE,CAAC;IAClE,CAAC;IAED,OAAO,MAAM;SACV,QAAQ,CAAC,QAAQ,CAAC;SAClB,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAE,CAAC,CAAC;AACtE,CAAC;AAED,SAAgB,MAAM,CAAC,cAAyC;IAC9D,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CACnC,OAAO,EACP,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAE,CACzC,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAE,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAE,CAAC;IACpE,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,eAAe;IACtB,MAAM,aAAa,GACjB,OAAO,CAAC,GAAG,CAAC,UAAU;QACtB,OAAO,CAAC,GAAG,CAAC,qBAAqB;QACjC,OAAO,CAAC,GAAG,CAAC,eAAe;QAC3B,OAAO,CAAC,GAAG,CAAC,eAAe;QAC3B,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC9B,OAAO,CAAC,GAAG,CAAC,aAAa;QACzB,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;IAErB,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,iCAAiC,EAAE;YACzD,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,OAAO,MAAM,IAAI,MAAM,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACT,mEAAmE,EACnE,KAAK,CACN,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB;IACxB,uCAAuC;IACvC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACtD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAEpD,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,GAAG,WAAW,IAAI,UAAU,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CACT,qDAAqD,MAAM,SAAS,CACrE,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6CAA6C;IAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACjD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CACT,6DAA6D,UAAU,SAAS,CACjF,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,4BAA4B;IAC5B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAA,wBAAQ,EAAC,oCAAoC,EAAE;YAC/D,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAChC,qDAAqD,CACtD,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC;YACnC,MAAM,MAAM,GAAG,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,yCAAyC,MAAM,SAAS,CAAC,CAAC;YACtE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAC9B,8CAA8C,CAC/C,CAAC;QAEF,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC;YACjC,MAAM,MAAM,GAAG,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,yCAAyC,MAAM,SAAS,CAAC,CAAC;YACtE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,GAAG,CACT,oEAAoE,CACrE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAwB,eAAe,CACrC,KAAmB,EACnB,UAAkC,EAAE;IAEpC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IAEtB,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;IACxC,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAC;IAE5C,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAClC,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAE3B,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;IAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,IAAI,eAAe,CAAC;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,aAAa,CAAC;IAEpD,iDAAiD;IACjD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAE5E,SAAS,eAAe,CACtB,IAGiC;QAEjC,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,kCAAkC;YAClC,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;YACvB,OAAO,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;YACrB,CAAC;YACD,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,iBAAiB,CACxB,IAGiC;QAEjC,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;YAChC,OAAO,SAAS,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,SAAS,eAAe,CACtB,IAGiC;QAEjC,uBAAuB;QACvB,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,6BAA6B;QAC7B,IAAI,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,IACE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;gBAC5B,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,EACjC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO;QACL,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,KAAK,CAAC,QAAQ,EAAE,KAAK;;oBACnB,MAAM,QAAQ,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,mCAAI,EAAE,CAAC;oBAChD,MAAM,YAAY,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;oBAE5D,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;wBAC3D,OAAO;oBACT,CAAC;oBAED,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;oBAC9C,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,mCAAoB,CAAC,YAAY,CAAC,CAAC;oBAChE,KAAK,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,8BAAiB,CAAC,YAAY,CAAC,CAAC;oBACnE,kBAAkB,IAAI,CAAC,CAAC;oBAExB,0DAA0D;oBAC1D,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;oBAEvD,mCAAmC;oBACnC,QAAQ,CAAC,QAAQ,CAAC;wBAChB,iBAAiB,CAAC,IAAI;4BACpB,KAAK,CAAC,IAAI,CAAC,WAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;wBACvD,CAAC;wBACD,sBAAsB,CAAC,IAAI;4BACzB,KAAK,CAAC,IAAI,CAAC,WAAY,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;wBAC5D,CAAC;wBACD,kBAAkB,CAAC,IAAI;4BACrB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;4BACpC,IAAI,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;gCACpC,MAAM,IAAI,GACR,MAAM,CAAC,IAAI,KAAK,OAAO;oCACrB,CAAC,CAAC,OAAO;oCACT,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK;wCACrB,CAAC,CAAC,KAAK;wCACP,CAAC,CAAC,KAAK,CAAC;gCACd,KAAK,CAAC,IAAI,CAAC,WAAY,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAC9D,CAAC;wBACH,CAAC;wBACD,mBAAmB,CAAC,IAAI;;4BACtB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gCACjB,KAAK,CAAC,IAAI,CAAC,WAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oCACtC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI;oCACxB,IAAI,EAAE,MAAM;oCACZ,IAAI,EAAE,GAAG,YAAY,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,0CAAE,KAAK,CAAC,IAAI,KAAI,CAAC,EAAE;iCAC7D,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;wBACD,gBAAgB,CAAC,IAAI;;4BACnB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gCACjB,KAAK,CAAC,IAAI,CAAC,WAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oCACtC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI;oCACxB,IAAI,EAAE,OAAO;oCACb,IAAI,EAAE,GAAG,YAAY,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,0CAAE,KAAK,CAAC,IAAI,KAAI,CAAC,EAAE;iCAC7D,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;wBACD,oBAAoB,CAAC,IAAI;4BACvB,KAAK,CAAC,IAAI,CAAC,WAAY,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;wBAC1D,CAAC;wBACD,gBAAgB,CAAC,IAAI;4BACnB,KAAK,CAAC,IAAI,CAAC,WAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;wBACtD,CAAC;wBACD,cAAc,CAAC,IAAI;4BACjB,KAAK,CAAC,IAAI,CAAC,WAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;wBACpD,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,WAAW,EAAE,KAAK;;oBACrB,sDAAsD;oBACtD,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;wBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;wBAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,WAAY,CAAC;wBACxC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBAExC,MAAM,kBAAkB,GAAG;;;;kBAIrB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;;CAEnF,CAAC;wBAEU,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;wBACxD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;wBAC7C,CAAC;6BAAM,CAAC;4BACN,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC1C,CAAC;oBACH,CAAC;oBAED,2FAA2F;oBAC3F,IAAI,CAAC,qBAAqB,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;wBAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;wBACvD,MAAM,UAAU,GAAG;;;;cAIjB,WAAW;gBACT,aAAa;;;;CAI5B,CAAC;wBAEU,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBACjD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;4BAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC;wBAC9C,CAAC;6BAAM,CAAC;4BACN,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBAC3C,CAAC;wBAED,qBAAqB,GAAG,IAAI,CAAC;wBAC7B,OAAO,CAAC,GAAG,CACT,wCAAwC,cAAI,CAAC,QAAQ,CACnD,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,mCAAI,SAAS,CACtC,SAAS,CACX,CAAC;oBACJ,CAAC;gBACH,CAAC;aACF;YACD,iBAAiB,CAAC,QAAQ,EAAE,KAAK;;gBAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC3C,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAClD,OAAO;gBACT,CAAC;gBAED,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;gBAE1B,kEAAkE;gBAClE,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,OAAO;gBACT,CAAC;gBACD,MAAM,SAAS,GAAG,MAAA,MAAA,IAAI,CAAC,GAAG,0CAAE,KAAK,CAAC,IAAI,mCAAI,CAAC,CAAC;gBAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;gBACtC,MAAM,OAAO,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,IAAI,mCAAI,SAAS,CAAC;gBACjD,MAAM,cAAc,GAAG,GAAG,WAAW,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;gBAEhE,gCAAgC;gBAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAC5C,CAAC,IAAI,EAAoC,EAAE,CACzC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC;oBACtB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CACnE,CAAC;gBAEF,IAAI,iBAAiB,EAAE,CAAC;oBACtB,iBAAiB,CAAC,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,CAAC,CAAC,YAAY,CACZ,CAAC,CAAC,aAAa,CAAC,wBAAwB,CAAC,EACzC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAChC,CACF,CAAC;gBACJ,CAAC;gBAED,6CAA6C;gBAC7C,MAAM,QAAQ,GAAe,EAAE,CAAC;gBAChC,MAAM,UAAU,GAAgB,EAAE,CAAC;gBAEnC,cAAc;gBACd,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACnC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;wBACzC,IACE,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC;4BACtC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EACrC,CAAC;4BACD,MAAM,KAAK,GAAe,EAAE,CAAC;4BAC7B,KAAK,CAAC,IAAI,CAAC,iBAAkB,CAAC,eAAe,CAC3C,IAAI,CAAC,KAAK,CAAC,UAAU,EACrB,KAAK,CACN,CAAC;4BACF,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;4BACxB,KAAK,CAAC,IAAI,CAAC,iBAAkB,CAAC,iBAAiB,CAC7C,IAAI,CAAC,KAAK,CAAC,UAAU,EACrB,UAAU,CACX,CAAC;wBACJ,CAAC;oBACH,CAAC;yBAAM,IAAI,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxC,MAAM,KAAK,GAAe,EAAE,CAAC;wBAC7B,KAAK,CAAC,IAAI,CAAC,iBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBACpE,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;wBACxB,KAAK,CAAC,IAAI,CAAC,iBAAkB,CAAC,iBAAiB,CAC7C,IAAI,CAAC,QAAQ,EACb,UAAU,CACX,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,iBAAiB;gBACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC/B,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBACpC,IACE,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC;4BACjC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,EAChC,CAAC;4BACD,MAAM,KAAK,GAAe,EAAE,CAAC;4BAC7B,KAAK,CAAC,IAAI,CAAC,iBAAkB,CAAC,eAAe,CAC3C,KAAK,CAAC,UAAU,EAChB,KAAK,CACN,CAAC;4BACF,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;4BACxB,KAAK,CAAC,IAAI,CAAC,iBAAkB,CAAC,iBAAiB,CAC7C,KAAK,CAAC,UAAU,EAChB,UAAU,CACX,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,sCAAsC;gBACtC,MAAM,UAAU,GACd,KAAK,CAAC,IAAI,CAAC,iBAAkB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACzD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAkB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAErE,yBAAyB;gBACzB,MAAM,QAAQ,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,mCAAI,EAAE,CAAC;gBAChD,MAAM,YAAY,GAAG,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC5D,MAAM,UAAU,GAAG,GAAG,YAAY,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;gBAC7D,MAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAC1D,CAAC;gBACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBAED,kBAAkB;gBAClB,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAClD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAClD,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;gBAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBACnC,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;gBAE7C,+BAA+B;gBAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,CAAC,CAAC,YAAY,CACZ,CAAC,CAAC,aAAa,CAAC,gCAAgC,CAAC,EACjD,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAC/B,CACF,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,CAAC,CAAC,YAAY,CACZ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,EAC9C,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAC1B,CACF,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,CAAC,CAAC,YAAY,CACZ,CAAC,CAAC,aAAa,CAAC,4BAA4B,CAAC,EAC7C,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAC/B,CACF,CAAC;gBAEF,yBAAyB;gBACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,CAAC,CAAC,YAAY,CACZ,CAAC,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAC1C,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAChC,CACF,CAAC;gBAEF,6DAA6D;gBAC7D,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChE,0DAA0D;oBAC1D,+CAA+C;gBACjD,CAAC;YACH,CAAC;SACF;QACD,IAAI;YACF,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CACT,uBAAuB,kBAAkB,8CAA8C,CACxF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/server.js CHANGED
@@ -58,8 +58,11 @@ function toAbsolutePath(inputPath) {
58
58
  if (!inputPath)
59
59
  return process.cwd();
60
60
  const trimmedPath = String(inputPath).trim();
61
- // Fix macOS-like absolute paths missing the leading slash, e.g. "Users/..."
62
- const looksLikePosixAbsNoSlash = process.platform !== "win32" &&
61
+ // Fix macOS absolute paths missing the leading slash, e.g. "Users/...".
62
+ // Scope to darwin ONLY: on Linux (the dev-server MicroVM/EC2 runtime) "Users/"
63
+ // and "Volumes/" are legitimate repo-relative directories, so prefixing a '/'
64
+ // there would redirect the write to the VFS root instead of the checkout.
65
+ const looksLikePosixAbsNoSlash = process.platform === "darwin" &&
63
66
  (trimmedPath.startsWith("Users" + path.sep) ||
64
67
  trimmedPath.startsWith("Volumes" + path.sep));
65
68
  const candidate = looksLikePosixAbsNoSlash
@@ -115,6 +118,112 @@ function removeLockFile(lockPath) {
115
118
  // ignore
116
119
  }
117
120
  }
121
+ // --- Shared checkout lock (dev-server-pool box only) -----------------------
122
+ // When the dev-server-pool daemon runs this engine as its `/write-files` sidecar
123
+ // it points CP_CHECKOUT_LOCK at a lockfile it also holds across its checkout
124
+ // converge (git reset --hard). Honoring the same advisory lock keeps a converge
125
+ // reset from clobbering a `/write-files` apply that is mid-flight (and vice
126
+ // versa). The lockfile body is `{ pid, timestamp }` and acquire is an atomic
127
+ // O_EXCL create; a holder is stolen only if its pid is dead or its timestamp is
128
+ // older than the stale threshold, so a crashed holder can't wedge the other
129
+ // side. The protocol matches apps/dev-server-pool/src/converge-lock.mjs. When
130
+ // CP_CHECKOUT_LOCK is unset (any non-pool consumer of the engine) none of this
131
+ // runs and `/write-files` behaves exactly as before.
132
+ // Sized well above the worst-case legitimate hold (the daemon's blobless `reset
133
+ // --hard`, which can spike to tens of seconds on a large changeset); a CRASHED
134
+ // holder is reclaimed instantly via the dead-pid check, so this only bounds an
135
+ // alive-but-wedged holder.
136
+ // `Number(env || default)` (not `Number(env) || default`) so an explicit "0"
137
+ // is honored rather than falling back — keeping the shared knobs parsed
138
+ // identically to the daemon (apps/dev-server-pool/src/converge-lock.mjs).
139
+ const CHECKOUT_LOCK_STALE_MS = Number(process.env.CP_CHECKOUT_LOCK_STALE_MS || 120000);
140
+ const CHECKOUT_LOCK_POLL_MS = Number(process.env.CP_CHECKOUT_LOCK_POLL_MS || 25);
141
+ // Makes each acquire attempt's temp file unique within this process.
142
+ let checkoutLockTmpSeq = 0;
143
+ // How long `/write-files` waits for the lock before proceeding WITHOUT it. It
144
+ // fails OPEN (never drop a forwarded edit); the converge fails closed, so the
145
+ // worst case of a timeout is reopening the rare proof→reset window.
146
+ const WRITE_LOCK_TIMEOUT_MS = Number(process.env.CP_WRITE_LOCK_TIMEOUT_MS || 10000);
147
+ // Whether the lock holder's process is alive. Unlike isPidAlive (used by the
148
+ // single-instance server lock), EPERM — the process exists but this process may
149
+ // not be permitted to signal it — counts as ALIVE, matching the daemon's
150
+ // converge-lock.mjs so both sides of the shared protocol agree and never steal a
151
+ // live-but-unsignalable holder. (Moot in the same-UID pool box, but keeps the
152
+ // two implementations identical.)
153
+ function checkoutHolderPidAlive(pid) {
154
+ try {
155
+ process.kill(pid, 0);
156
+ return true;
157
+ }
158
+ catch (err) {
159
+ return err.code === "EPERM";
160
+ }
161
+ }
162
+ function stealCheckoutLockIfStale(lockPath) {
163
+ const holder = readLockFile(lockPath);
164
+ const stale = !holder ||
165
+ typeof holder.pid !== "number" ||
166
+ !checkoutHolderPidAlive(holder.pid) ||
167
+ typeof holder.timestamp !== "number" ||
168
+ Date.now() - holder.timestamp > CHECKOUT_LOCK_STALE_MS;
169
+ if (stale) {
170
+ try {
171
+ fs.unlinkSync(lockPath);
172
+ }
173
+ catch {
174
+ // lost the unlink race — re-evaluated on the next attempt
175
+ }
176
+ }
177
+ }
178
+ // Materialize the lockfile by writing the holder record to a private temp and
179
+ // atomically hard-LINKing it into place: link() fails with EEXIST if the target
180
+ // exists (the same exclusivity as an O_EXCL create) but, unlike
181
+ // create-then-write, never leaves an EMPTY lockfile visible — closing the
182
+ // sub-millisecond window where a contender's steal could read a half-written
183
+ // lock, find it unparseable, and unlink it out from under the creator.
184
+ async function acquireCheckoutLock(lockPath, timeoutMs) {
185
+ const deadline = Date.now() + timeoutMs;
186
+ for (;;) {
187
+ checkoutLockTmpSeq += 1;
188
+ const tmp = `${lockPath}.${process.pid}.${checkoutLockTmpSeq}.tmp`;
189
+ try {
190
+ fs.writeFileSync(tmp, JSON.stringify({ pid: process.pid, timestamp: Date.now() }));
191
+ try {
192
+ fs.linkSync(tmp, lockPath); // atomic; throws EEXIST if already held
193
+ return true;
194
+ }
195
+ catch (err) {
196
+ if (err.code !== "EEXIST")
197
+ throw err;
198
+ stealCheckoutLockIfStale(lockPath);
199
+ if (Date.now() >= deadline)
200
+ return false;
201
+ await new Promise((resolve) => setTimeout(resolve, CHECKOUT_LOCK_POLL_MS));
202
+ }
203
+ }
204
+ finally {
205
+ // Drop the temp; on success the lockfile links the same inode, so its
206
+ // content survives.
207
+ try {
208
+ fs.unlinkSync(tmp);
209
+ }
210
+ catch {
211
+ // already gone
212
+ }
213
+ }
214
+ }
215
+ }
216
+ function releaseCheckoutLock(lockPath) {
217
+ const holder = readLockFile(lockPath);
218
+ if (holder && holder.pid === process.pid) {
219
+ try {
220
+ fs.unlinkSync(lockPath);
221
+ }
222
+ catch {
223
+ // already gone
224
+ }
225
+ }
226
+ }
118
227
  /**
119
228
  * Create a lock file to ensure only one instance runs.
120
229
  * Cleans up stale locks automatically.
@@ -944,15 +1053,66 @@ function createApp() {
944
1053
  }
945
1054
  });
946
1055
  // Endpoint to write files to local filesystem (for local mode)
1056
+ app.post("/read-files", async (request, reply) => {
1057
+ try {
1058
+ const { paths } = request.body;
1059
+ if (!Array.isArray(paths)) {
1060
+ return reply.code(400).send({
1061
+ error: "Missing or invalid paths array",
1062
+ });
1063
+ }
1064
+ const files = {};
1065
+ const missing = [];
1066
+ for (const rawPath of paths) {
1067
+ if (typeof rawPath !== "string" || !rawPath)
1068
+ continue;
1069
+ try {
1070
+ const targetFilePath = toAbsolutePath(rawPath);
1071
+ files[rawPath] = fs.readFileSync(targetFilePath, "utf8");
1072
+ }
1073
+ catch (readErr) {
1074
+ missing.push(rawPath);
1075
+ console.error(`\x1b[31m✗ Failed to read ${rawPath}: ${readErr.message}\x1b[0m`);
1076
+ }
1077
+ }
1078
+ return reply.code(200).send({ success: true, files, missing });
1079
+ }
1080
+ catch (err) {
1081
+ console.error(`\x1b[31m✗ Error in /read-files: ${err.message}\x1b[0m`);
1082
+ return reply.code(500).send({ error: err.message });
1083
+ }
1084
+ });
947
1085
  app.post("/write-files", async (request, reply) => {
1086
+ const checkoutLockPath = process.env.CP_CHECKOUT_LOCK;
1087
+ let checkoutLockHeld = false;
948
1088
  try {
949
- const { updated_files } = request.body;
1089
+ const { updated_files, deleted_files } = request.body;
950
1090
  if (!updated_files || typeof updated_files !== "object") {
951
1091
  return reply.code(400).send({
952
1092
  error: "Missing or invalid updated_files object",
953
1093
  });
954
1094
  }
1095
+ // Serialize this apply against a concurrent converge reset via the shared
1096
+ // checkout lock (dev-server-pool box only; see CP_CHECKOUT_LOCK). FAIL
1097
+ // OPEN: if the lock can't be acquired, write anyway rather than drop a
1098
+ // forwarded edit — the converge is the side that fails closed.
1099
+ if (checkoutLockPath) {
1100
+ try {
1101
+ checkoutLockHeld = await acquireCheckoutLock(checkoutLockPath, WRITE_LOCK_TIMEOUT_MS);
1102
+ }
1103
+ catch {
1104
+ checkoutLockHeld = false;
1105
+ }
1106
+ if (!checkoutLockHeld) {
1107
+ console.warn("\x1b[33m⚠ /write-files: proceeding without checkout lock (timeout)\x1b[0m");
1108
+ }
1109
+ }
955
1110
  const writtenFiles = [];
1111
+ // Per-file write/delete errors are otherwise swallowed (logged, then the
1112
+ // loop continues). Collect the paths that failed so the response can report
1113
+ // success=false — the backend forwarder reads this to detect a partial
1114
+ // failure instead of trusting a blanket 200.
1115
+ const failedFiles = [];
956
1116
  const updatedEntries = Object.entries(updated_files);
957
1117
  for (const [rawPath, newContent] of updatedEntries) {
958
1118
  try {
@@ -966,18 +1126,43 @@ function createApp() {
966
1126
  console.log(`\x1b[32m✓ Wrote ${targetFilePath} to disk\x1b[0m`);
967
1127
  }
968
1128
  catch (writeErr) {
1129
+ failedFiles.push(rawPath);
969
1130
  console.error(`\x1b[31m✗ Failed to write ${rawPath}: ${writeErr.message}\x1b[0m`);
970
1131
  }
971
1132
  }
1133
+ const deletedFiles = [];
1134
+ if (Array.isArray(deleted_files)) {
1135
+ for (const rawPath of deleted_files) {
1136
+ if (typeof rawPath !== "string" || !rawPath)
1137
+ continue;
1138
+ try {
1139
+ const targetFilePath = toAbsolutePath(rawPath);
1140
+ fs.rmSync(targetFilePath, { force: true });
1141
+ deletedFiles.push(targetFilePath);
1142
+ console.log(`\x1b[32m✓ Deleted ${targetFilePath}\x1b[0m`);
1143
+ }
1144
+ catch (delErr) {
1145
+ failedFiles.push(rawPath);
1146
+ console.error(`\x1b[31m✗ Failed to delete ${rawPath}: ${delErr.message}\x1b[0m`);
1147
+ }
1148
+ }
1149
+ }
972
1150
  return reply.code(200).send({
973
- success: true,
1151
+ success: failedFiles.length === 0,
974
1152
  written_files: writtenFiles,
1153
+ deleted_files: deletedFiles,
1154
+ failed_files: failedFiles,
975
1155
  });
976
1156
  }
977
1157
  catch (err) {
978
1158
  console.error(`\x1b[31m✗ Error in /write-files: ${err.message}\x1b[0m`);
979
1159
  return reply.code(500).send({ error: err.message });
980
1160
  }
1161
+ finally {
1162
+ if (checkoutLockHeld && checkoutLockPath) {
1163
+ releaseCheckoutLock(checkoutLockPath);
1164
+ }
1165
+ }
981
1166
  });
982
1167
  return app;
983
1168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- type Band = "v0_82_87" | "v26" | "v42";
1
+ type Band = "v0_82_87" | "v26" | "v42" | "turbopack";
2
2
  interface BandSelection {
3
3
  band?: Band;
4
4
  wasmPath?: string;
@@ -8,9 +8,23 @@ interface SWCUserConfig extends Record<string, unknown> {
8
8
  }
9
9
  interface SWCConfig extends SWCUserConfig, Required<CodePressPluginOptions> {
10
10
  }
11
+ /**
12
+ * Map a Next.js version to its SWC ABI band, or `null` when the version has no
13
+ * Next-specific mapping (the caller then falls back to @swc/core detection).
14
+ *
15
+ * Next 15.5 and everything newer — including Next 16+, where Turbopack is the
16
+ * default bundler — share the swc_core 42 plugin AST schema, so they use the
17
+ * v42-family bands. The gate is a semver compare rather than a minor-version
18
+ * regex so that 16+ is not accidentally excluded: under Turbopack we pick the
19
+ * `turbopack` band (same swc_core 42 compiled with the compat_turbopack guard
20
+ * for Turbopack's non-zero BytePos module bases, which otherwise panic the host
21
+ * source map on the BytePos(0) lookups v42 makes), and `v42` for webpack. Next
22
+ * sets process.env.TURBOPACK when `--turbopack` is active.
23
+ */
24
+ declare function bandForNextVersion(nextVersion: string, isTurbopack: boolean): Band | null;
11
25
  declare function pickBand(): BandSelection;
12
26
  declare function resolveWasmFile(selection: BandSelection): string;
13
27
  declare const createSWCPlugin: (userConfig?: SWCUserConfig) => [string, SWCConfig];
14
- export { createSWCPlugin, pickBand, resolveWasmFile };
28
+ export { createSWCPlugin, pickBand, resolveWasmFile, bandForNextVersion };
15
29
  export type { SWCConfig };
16
30
  export default createSWCPlugin;
package/dist/swc/index.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createSWCPlugin = void 0;
4
4
  exports.pickBand = pickBand;
5
5
  exports.resolveWasmFile = resolveWasmFile;
6
+ exports.bandForNextVersion = bandForNextVersion;
6
7
  const child_process_1 = require("child_process");
7
8
  const PACKAGE_SCOPE = "@codepress/codepress-engine";
8
9
  function readGitOutput(command) {
@@ -80,6 +81,31 @@ function compareSemver(a, b) {
80
81
  }
81
82
  return 0;
82
83
  }
84
+ /**
85
+ * Map a Next.js version to its SWC ABI band, or `null` when the version has no
86
+ * Next-specific mapping (the caller then falls back to @swc/core detection).
87
+ *
88
+ * Next 15.5 and everything newer — including Next 16+, where Turbopack is the
89
+ * default bundler — share the swc_core 42 plugin AST schema, so they use the
90
+ * v42-family bands. The gate is a semver compare rather than a minor-version
91
+ * regex so that 16+ is not accidentally excluded: under Turbopack we pick the
92
+ * `turbopack` band (same swc_core 42 compiled with the compat_turbopack guard
93
+ * for Turbopack's non-zero BytePos module bases, which otherwise panic the host
94
+ * source map on the BytePos(0) lookups v42 makes), and `v42` for webpack. Next
95
+ * sets process.env.TURBOPACK when `--turbopack` is active.
96
+ */
97
+ function bandForNextVersion(nextVersion, isTurbopack) {
98
+ if (compareSemver(nextVersion, "15.5.0") >= 0) {
99
+ return isTurbopack ? "turbopack" : "v42";
100
+ }
101
+ if (/^(14\.(2|3|4|5)\.|15\.(0|1|2|3|4)\.)/.test(nextVersion)) {
102
+ return "v26";
103
+ }
104
+ if (/^14\.(0|1)\./.test(nextVersion)) {
105
+ return "v0_82_87";
106
+ }
107
+ return null;
108
+ }
83
109
  function pickBand() {
84
110
  var _a;
85
111
  if (process.env.CODEPRESS_SWC_WASM) {
@@ -90,14 +116,9 @@ function pickBand() {
90
116
  }
91
117
  const nextVersion = readPackageVersion("next");
92
118
  if (nextVersion) {
93
- if (/^15\.(5|[6-9]|\d{2,})\./.test(nextVersion)) {
94
- return { band: "v42" };
95
- }
96
- if (/^(14\.(2|3|4|5)\.|15\.(0|1|2|3|4)\.)/.test(nextVersion)) {
97
- return { band: "v26" };
98
- }
99
- if (/^14\.(0|1)\./.test(nextVersion)) {
100
- return { band: "v0_82_87" };
119
+ const band = bandForNextVersion(nextVersion, Boolean(process.env.TURBOPACK));
120
+ if (band) {
121
+ return { band };
101
122
  }
102
123
  }
103
124
  const swcVersion = (_a = readPackageVersion("@swc/core")) !== null && _a !== void 0 ? _a : "0.0.0";
@@ -124,6 +145,7 @@ function resolveWasmFile(selection) {
124
145
  v0_82_87: `${PACKAGE_SCOPE}/swc/wasm-v0_82_87`,
125
146
  v26: `${PACKAGE_SCOPE}/swc/wasm-v26`,
126
147
  v42: `${PACKAGE_SCOPE}/swc/wasm-v42`,
148
+ turbopack: `${PACKAGE_SCOPE}/swc/wasm-turbopack`,
127
149
  };
128
150
  return bandToSpecifier[(_b = selection.band) !== null && _b !== void 0 ? _b : "v42"];
129
151
  }