| 33 | } |
| 34 | |
| 35 | async function writeRootConfig() { |
| 36 | const content = `<?xml version="1.0" encoding="utf-8"?> |
| 37 | <configuration> |
| 38 | <system.webServer> |
| 39 | <defaultDocument> |
| 40 | <files> |
| 41 | <clear /> |
| 42 | <add value="index.json" /> |
| 43 | </files> |
| 44 | </defaultDocument> |
| 45 | <rewrite> |
| 46 | <rules> |
| 47 | <rule name="AddJsonExtensionForDetails" stopProcessing="true"> |
| 48 | <match url="(.*\\$details)" ignoreCase="true" /> |
| 49 | <action type="Rewrite" url="{R:0}.json" /> |
| 50 | </rule> |
| 51 | <rule name="AddMetaExtension" stopProcessing="true"> |
| 52 | <match url="(.*meta)$" ignoreCase="true" /> |
| 53 | <action type="Rewrite" url="{R:0}.json" /> |
| 54 | </rule> |
| 55 | <rule name="AddModelExtension" stopProcessing="true"> |
| 56 | <match url="(.*model)$" ignoreCase="true" /> |
| 57 | <action type="Rewrite" url="{R:0}.json" /> |
| 58 | </rule> |
| 59 | <rule name="AddExportExtension" stopProcessing="true"> |
| 60 | <match url="(.*export)$" ignoreCase="true" /> |
| 61 | <action type="Rewrite" url="{R:0}.json" /> |
| 62 | </rule> |
| 63 | </rules> |
| 64 | </rewrite> |
| 65 | </system.webServer> |
| 66 | </configuration>` |
| 67 | await fs.writeFile(path.join(REGISTRY_DIR, 'web.config'), content, 'utf8') |
| 68 | } |
| 69 | |
| 70 | async function processDirectories(dir) { |
| 71 | const entries = await fs.readdir(dir, { withFileTypes: true }) |