Skip to content

Commit 40fb7e4

Browse files
committed
Add path conversion. Enforce all to be relative to config path.
1 parent 075e197 commit 40fb7e4

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

src/WebApiTestApplication/WebApiTestApplication.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@
8686
<ItemGroup>
8787
<Content Include="Global.asax" />
8888
<Content Include="Index.html" />
89+
<Content Include="Scripts\Watts.tt">
90+
<Generator>TextTemplatingFileGenerator</Generator>
91+
</Content>
8992
<Content Include="Web.config" />
9093
</ItemGroup>
9194
<ItemGroup>
@@ -99,6 +102,7 @@
99102
</ItemGroup>
100103
<ItemGroup>
101104
<Content Include="packages.config" />
105+
<Content Include="Watts.config.json" />
102106
<None Include="Web.Debug.config">
103107
<DependentUpon>Web.config</DependentUpon>
104108
</None>

src/WebApiToTypeScript/WebApiToTypeScript.cs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,24 @@ private Config.Config GetConfig(string configFilePath)
157157
{
158158
var configFileContent = File.ReadAllText(configFilePath);
159159

160-
return JsonConvert.DeserializeObject<Config.Config>(configFileContent);
160+
var config = JsonConvert.DeserializeObject<Config.Config>(configFileContent);
161+
162+
var baseDir = Path.GetDirectoryName(configFilePath) ?? "";
163+
config.WebApiModuleFileName = Path.Combine(baseDir, config.WebApiModuleFileName);
164+
config.EndpointsOutputDirectory = Path.Combine(baseDir, config.EndpointsOutputDirectory);
165+
config.ServiceOutputDirectory = Path.Combine(baseDir, config.ServiceOutputDirectory);
166+
config.EnumsOutputDirectory = Path.Combine(baseDir, config.EnumsOutputDirectory);
167+
config.InterfacesOutputDirectory = Path.Combine(baseDir, config.InterfacesOutputDirectory);
168+
config.ViewsOutputDirectory = Path.Combine(baseDir, config.ViewsOutputDirectory);
169+
config.ResourcesOutputDirectory = Path.Combine(baseDir, config.ResourcesOutputDirectory);
170+
171+
foreach (var c in config.ViewConfigs)
172+
c.SourceDirectory = Path.Combine(baseDir, c.SourceDirectory);
173+
174+
foreach (var c in config.ResourceConfigs)
175+
c.SourcePath = Path.Combine(baseDir, c.SourcePath);
176+
177+
return config;
161178
}
162179

163180
private void CreateFileForBlock(TypeScriptBlock typeScriptBlock, string outputDirectory, string fileName)

0 commit comments

Comments
 (0)