From 9e5f676e237b087c34cb31beab5fab1116d4a77c Mon Sep 17 00:00:00 2001
From: chylex <contact@chylex.com>
Date: Wed, 4 Jul 2018 06:53:31 +0200
Subject: [PATCH] Move imported files into structured folder for easier
 handling & tweak syntax

---
 Resources/PostBuild.ps1                       | 19 +++++--------------
 .../scripts}/plugins.base.js                  |  0
 Resources/Scripts/plugins.browser.js          |  2 +-
 Resources/Scripts/plugins.notification.js     |  2 +-
 4 files changed, 7 insertions(+), 16 deletions(-)
 rename Resources/Scripts/{components => imports/scripts}/plugins.base.js (100%)

diff --git a/Resources/PostBuild.ps1 b/Resources/PostBuild.ps1
index 1a1ea12b..7d722bed 100644
--- a/Resources/PostBuild.ps1
+++ b/Resources/PostBuild.ps1
@@ -129,17 +129,13 @@ try{
   
   # Imports
   
-  $delete = New-Object "System.Collections.Generic.HashSet[string]"
+  $importFolder = Join-Path $targetDir "scripts\imports"
   
   foreach($path in $imports){
     $text = [IO.File]::ReadAllText($path)
-    $text = [Regex]::Replace($text, '#import (.*)$', {
-      $importPath = $args[0].Groups[1].Value.Trim()
-      $importPath = Join-Path ([IO.Path]::GetDirectoryName($path)) $importPath
-      
-      $delete.Add($importPath) | Out-Null # this is so fucking stupid
-      
-      $importStr = [IO.File]::ReadAllText($importPath)
+    $text = [Regex]::Replace($text, '#import "(.*)"', {
+      $importPath = Join-Path $importFolder ($args[0].Groups[1].Value.Trim())
+      $importStr = [IO.File]::ReadAllText($importPath).TrimEnd()
       
       if ($importStr[0] -eq '#'){
         $importStr = $importStr.Substring($importStr.IndexOf("`n") + 1)
@@ -152,12 +148,7 @@ try{
     Write-Host "Resolved" $path.Substring($targetDir.Length)
   }
   
-  foreach($path in $delete){
-    Remove-Item -Path $path
-    Write-Host "Deleted" $path.Substring($targetDir.Length)
-  }
-  
-  Remove-Item -Path (Join-Path $targetDir "scripts\components")
+  [IO.Directory]::Delete($importFolder, $True)
   
   # Finished
   
diff --git a/Resources/Scripts/components/plugins.base.js b/Resources/Scripts/imports/scripts/plugins.base.js
similarity index 100%
rename from Resources/Scripts/components/plugins.base.js
rename to Resources/Scripts/imports/scripts/plugins.base.js
diff --git a/Resources/Scripts/plugins.browser.js b/Resources/Scripts/plugins.browser.js
index 12032ac6..c3d66691 100644
--- a/Resources/Scripts/plugins.browser.js
+++ b/Resources/Scripts/plugins.browser.js
@@ -123,5 +123,5 @@
   window.TDPF_prioritizeNewestEvent = window.TDGF_prioritizeNewestEvent;
   window.TDPF_injectMustache = window.TDGF_injectMustache;
   
-  #import components/plugins.base.js
+  #import "scripts/plugins.base.js"
 })();
diff --git a/Resources/Scripts/plugins.notification.js b/Resources/Scripts/plugins.notification.js
index f22201a7..eaa59715 100644
--- a/Resources/Scripts/plugins.notification.js
+++ b/Resources/Scripts/plugins.notification.js
@@ -15,4 +15,4 @@ window.TD_PLUGINS = {
   }
 };
 
-#import components/plugins.base.js
+#import "scripts/plugins.base.js"