From cb884f9335c01d73e00e398459cfa7f863ddaec5 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Tue, 9 Jul 2024 21:21:28 +0300 Subject: [PATCH] Build/v0.1.0 --- CHANGELOG.md | 4 ++ Documentation/assets/search.js | 2 +- Documentation/functions/Build.Exec.html | 4 +- Documentation/functions/Build.Merge.html | 2 +- Documentation/functions/Build.build-1.html | 6 +- Documentation/functions/Exec.exec.html | 4 +- Documentation/functions/File.file.html | 4 +- Documentation/functions/JSON.JSON.html | 4 +- Documentation/functions/Merge.merge.html | 2 +- Documentation/index.html | 4 +- Documentation/interfaces/Build.Interface.html | 6 +- Documentation/interfaces/Exec.Interface.html | 4 +- Documentation/interfaces/File.Interface.html | 4 +- Documentation/interfaces/JSON.Interface.html | 4 +- Documentation/modules/Build.html | 4 +- Documentation/modules/ESBuild.html | 4 +- Documentation/modules/Exec.html | 4 +- Documentation/modules/File.html | 4 +- Documentation/modules/JSON.html | 4 +- Documentation/modules/Merge.html | 4 +- Documentation/variables/Build.Current.html | 2 +- Documentation/variables/Build.Pipe.html | 2 +- Documentation/variables/Build.build.html | 2 +- Documentation/variables/ESBuild.ESBuild.html | 2 +- Source/Class/Build.ts | 1 + Source/Function/Build.ts | 60 +++++++++++-------- Source/Interface/Build.ts | 1 + Target/Class/Build.js | 2 +- Target/Function/Build.js | 2 +- Target/Interface/Build.d.ts | 1 + package.json | 3 +- 31 files changed, 88 insertions(+), 68 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8392eee5..ea3ca059 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.1.0 + +- Cleanup + ## 0.0.11 - Cleanup diff --git a/Documentation/assets/search.js b/Documentation/assets/search.js index 2d14f8cc..c57cda50 100644 --- a/Documentation/assets/search.js +++ b/Documentation/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAACs1YXY/jJhT9LzxTjwF/4Dy2mpW20raVVupLFFUeh8ywdWwL29MZRfnvFR+OIYGMk67UffI1XA6Hwz0Q5wBE+08PVusD+Js3W7DCEDTlnoEVePz688jrLYBgFDVYgX27HWvWP5j26GXY1wCCqi77nvVgBcARTigkDPNaCl4+2UBhQAi6UrBmsGDmOeYpvjDxzC54qtarLLPkBLF3IHZjUw28bSaQfQDK4qc5+Nj9+vX33y7Iycal3ByAmZqCCOBYxNRoH69PvL4UTTYu5bWzAWZeCmLnx7F4qel9vB7fWHVZdG+sWsqL2QAzLwXB/Dh2ocnRPl5+N3zsBYvZo5+ZscGH1M4dYCF/CdSvhg5Z4Qq25eA/eMc89tXQsvNu5F9GoZJC4Kb/blWenC07V0X1/oRuQ8dpdoL/3AxM7MpqVodPLcaep4zbPLp0DmW1hXOc+23pHKosF85x7p2lc+j9WDjJlXp6Ctw01n4vwt5AwJstewOrA3hloudtA1YARyQqAAQ7zuqtvDP1tBBU7X4vx29M35+sGlohM3TKQwzgOoYYRXlCNxu4nkaoDtWg0lAoDTlpGMA1gohGhBInDTtpJJRGnLQEwDWGKI1o7mQlTlYayDLtEaEJJDCO8jSBCYyjglCYmvfMvOcQRYhiSGEcpTSFhXlHMYyjLCMQITMC4amLTEEyBakOZmqZXGcMEY5QgR1ymbOEPJinejKIo4wiiPIpoDqYEajMK3wI1JmpCObJHrkkkuVKJkqwkilLlUppnGp14lSKgaI4xxAVsiXHEEudaIYhRlOAp4BMQTIF6RRkU5BPAZ2CQgdWBcqCJLGvatBZraLgIlXXD73KoIOQayEkrUIQxFlE08zNdF2EpF0I9ma6TkJpWGLZpdyTG9fkiVJKPmXpRigmkEhpi4xCkkxBqgNrEln6JPMYVvX8z45FeZDdUisiGoSgP3r1FUHqxffafxz2MdY+VlfcKxMD237WV916DUoAD+Avc/Wd7u7Dcb7iVgeQ6pZCPxAyT9OMMvOk5qnyjkdJoWxsfBwHJjhHpjbC1oZA6DaOmQexf2+qF9E27dg77ELQV9g98Vb+HrD4hTTMzeDcGqx/u8yDyawPQLGrMlbvDqZGqV7OUDC9fR0y60xpTO6BaQb1694SJL2+YXqHzPDp48CSBFuSJAEJWH8hpaXkJGRosPpCswgX81DqKarFYkjgcWBujeHbRdUf3RZBa22mvPNLYqlbPicjWOacvo5s8OS7HwH8uWmFu4B8uUf4/BFhFUVmFUVmD7qgcLnf3NmQD6pzwXHCBwcQhWzjqfdvvSu+VeuJzk7DG2vh1LwZHvqx73jF27F/aFr21tW84kPZvDvkQkeDR/m6fXZLN1QaV0rX/MdmEZhXiHU6MaNwYLvanUMiVDpXSHSl6Jl7iXxQ5ba2XTkMTDSOFCRUNSc/WPXfqf9SrMGWBogEVt2JtmK9q39xx9I1jHsGkdDqfewFK7fO6BALj3SCdYL1rHENQkIG8U8/jGfio9AR6mHQD1smhKNi6H6+omI/bNvRuZVwqACuoAwvpYMRsuL9J+3w4hbafz7ahveO9ZXgnUM8ZMFz/TdQ1X7NGwZW683x+C8voVxfehgAAA=="; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,H4sIAAAAAAAACs1YXY/jJhT9LzxTjwF/5rHVrLSVtq20Ul+iqPI4ZIatY1vYns4oyn+vADOGhJvJpiN1n3wDl8PhcC7YOSDZ/TOg1fqA/hbtFq0oRm2152iF7r/+PIlmizCaZINWaN9tp4YPd3N79DTuG4RR3VTDwAe0QuiILQqDYZ4rKaoHFwgGxKivJG9HB2aZY5ni16+//3ZGUzVe5EjT7A3hcztyuatq/gYjbMuM9JZxmaamEuL4STT8jKNq/BiOGulKjppKiOP9C6/Pt/uF1x/DUSNdyVFTCXEMe/J9R17N0kBdSRP25BcuH883XLde5JklbxB7D2I3tfUoutaC7AEoh53hEMT2SmaB1lYHKgd2uYO7c22+4Gp77sJuh53p4HLXmguuthQPOxR2k4N7H8adD6Z3gU/330H+AuyegYaMcAHbOVP/ED0PHKgGWnXejPzLJHUSBD7336zKg1e+p6ro3p/IzewfgJvGQb8Ke4ORaLf8Ba0O6JnLQXQtWiEasahEGO0Eb7bqzjTTYlR3+70av5n7/uT12EmVYVLuYoTXMaYkypNis8FrO0J36AadRqA04qVRhNcEkzQqci+LelkM4TUNZDEzOmJFghmOozxNcILjqGQFTuff2fw7xyQiBcUFjqO0SHE5/yYxjqMsY5iQeQShtovZILFBaoKFWqIoxJjQiJTUI5d4S0iBJah2kmEaZQXBJLdBYYJlfKbyytA8mTdPDsyj2tVyWJZriQpGtURZqhVK49QoE6dKCBLFOcWkVC05xVRpVGQUU2IDagNmg8QGqQ0yG+Q2KGxQmmDhXSh+MSZFxArmMS+89ZXA+lS73vp83vI80QtST7U/EYkZZmplZVZgRm3ATOAYV/mYJSEm5MTiBM70XU4gm9uO/9PBhIEWNl1XuJMkoD1114/sPJLC3NMfnXsGW9A/F4g+AFJMs6hIMz8z9zN1KWbBTL8WSQkWLfmweqQxOAk19ahvuGcuR779bG669RpVCB/QX/PN9/a6fDguN9zqgJhpyc2jNA9C52cyP9P5qfuPR8Wgal14GgP4eQjJImxdCEKuohjmNiMOr239JLu2mwaPHQR9gd2D6NTbgMMPktCKw5zB5s1lGcwWfVDhiokRjfU4F9KA1E8nILT4/mWorBOhKbsFph31i6SjR3p5v8xGzcPte6ijyCInIgUgAR/OlHSEjOeJoMH6Y8AhXC5Ds+BSr1VDIU8j9z1Gv19V83nlMHQWl3iuCgl8WqxOcdo3cRc8+egTQDy2nfT559eXiFi+2h0Rl/XPtNJzdoGtFt5WvGPMKw4SMXqABKqYgNW/Db7sy9GDqJf9HlAj2vFumIZe1KKbhru24y99I2oxVu2rNwN0LARUb7pH37WQKy64dv4jwynlxCllW5RkfmbAlnU7jwfknAs8+koO3L9C3vG4K29fjSOXracGg/bZVoXj/l5/tDtjU0eEHFh0L7uaD/4OlDes3MD4BxCDDqAAecmrrTcYIhEQTvJe8oG3fokw6IoNzj5OJ8oTiHyAwDBuuZSehtDVfEHDYdx2k3cjUejcuIAyPlUeBlSKNx+y45Pvsv98tI2vPR9qKXqPN1R+p/JvsDZ+I1qOVuvN8fgvK2lhHHIYAAA="; \ No newline at end of file diff --git a/Documentation/functions/Build.Exec.html b/Documentation/functions/Build.Exec.html index 6fc75016..ab448f97 100644 --- a/Documentation/functions/Build.Exec.html +++ b/Documentation/functions/Build.Exec.html @@ -1,4 +1,4 @@ -Exec | @playform/build - v0.0.11
  • The 'Exec' function is an asynchronous function that executes a command and logs the +Exec | @playform/build - v0.1.0

    • The 'Exec' function is an asynchronous function that executes a command and logs the stdout and stderr of the child process.

      Parameters

      • Command: string

        The 'Command' parameter is a string that represents the command you want to execute. It can be any valid command that can be executed in a @@ -7,4 +7,4 @@ of the child process should be logged. If set to 'false', no logging will occur. If set to a function, the function will be called with the stdout and stderr data as a parameter for custom logging. If not provided, stdout and stderr will be logged to the console by default.

        -

      Returns Promise<void>

    \ No newline at end of file +

Returns Promise<void>

\ No newline at end of file diff --git a/Documentation/functions/Build.Merge.html b/Documentation/functions/Build.Merge.html index e8da80a2..9a84a9ea 100644 --- a/Documentation/functions/Build.Merge.html +++ b/Documentation/functions/Build.Merge.html @@ -1 +1 @@ -Merge | @playform/build - v0.0.11
  • Type Parameters

    • Ts extends readonly unknown[]

    Parameters

    • Rest ...objects: Ts

    Returns DeepMergeHKT<Ts, Readonly<{
        DeepMergeArraysURI: "DeepMergeArraysDefaultURI";
        DeepMergeFilterValuesURI: "DeepMergeFilterValuesDefaultURI";
        DeepMergeMapsURI: "DeepMergeMapsDefaultURI";
        DeepMergeOthersURI: "DeepMergeLeafURI";
        DeepMergeRecordsURI: "DeepMergeRecordsDefaultURI";
        DeepMergeSetsURI: "DeepMergeSetsDefaultURI";
    }>, Readonly<{
        key: PropertyKey;
        parents: readonly Readonly<Record<PropertyKey, unknown>>[];
    }>>

\ No newline at end of file +Merge | @playform/build - v0.1.0
  • Type Parameters

    • Ts extends readonly unknown[]

    Parameters

    • Rest ...objects: Ts

    Returns DeepMergeHKT<Ts, Readonly<{
        DeepMergeArraysURI: "DeepMergeArraysDefaultURI";
        DeepMergeFilterValuesURI: "DeepMergeFilterValuesDefaultURI";
        DeepMergeMapsURI: "DeepMergeMapsDefaultURI";
        DeepMergeOthersURI: "DeepMergeLeafURI";
        DeepMergeRecordsURI: "DeepMergeRecordsDefaultURI";
        DeepMergeSetsURI: "DeepMergeSetsDefaultURI";
    }>, Readonly<{
        key: PropertyKey;
        parents: readonly Readonly<Record<PropertyKey, unknown>>[];
    }>>

\ No newline at end of file diff --git a/Documentation/functions/Build.build-1.html b/Documentation/functions/Build.build-1.html index 1acbeef7..4bacf5c6 100644 --- a/Documentation/functions/Build.build-1.html +++ b/Documentation/functions/Build.build-1.html @@ -1,6 +1,6 @@ -build | @playform/build - v0.0.11
  • Represents a function that processes file patterns.

    +build | @playform/build - v0.1.0
    • Represents a function that processes file patterns.

      Parameters

      • File: string[]

        An array of file patterns to be processed. Each pattern can include wildcards (*) to match multiple files.

        -
      • Optional Option: {
            ESBuild?: string;
            TypeScript?: string;
        }

        An optional object that can contain two properties.

        +
      • Optional Option: {
            ESBuild?: string;
            TypeScript?: string;
            Watch?: boolean;
        }

        An optional object that can contain two properties.

        • Optional ESBuild?: string

          A string representing the ESBuild option.

        • Optional TypeScript?: string

          A string representing the TypeScript option.

          -

      Returns Promise<void>

    \ No newline at end of file +
  • Optional Watch?: boolean

Returns Promise<void>

\ No newline at end of file diff --git a/Documentation/functions/Exec.exec.html b/Documentation/functions/Exec.exec.html index da9e6002..01d1cc7a 100644 --- a/Documentation/functions/Exec.exec.html +++ b/Documentation/functions/Exec.exec.html @@ -1,4 +1,4 @@ -exec | @playform/build - v0.0.11
  • The 'Exec' function is an asynchronous function that executes a command and logs the +exec | @playform/build - v0.1.0

    • The 'Exec' function is an asynchronous function that executes a command and logs the stdout and stderr of the child process.

      Parameters

      • Command: string

        The 'Command' parameter is a string that represents the command you want to execute. It can be any valid command that can be executed in a @@ -7,4 +7,4 @@ of the child process should be logged. If set to 'false', no logging will occur. If set to a function, the function will be called with the stdout and stderr data as a parameter for custom logging. If not provided, stdout and stderr will be logged to the console by default.

        -

      Returns Promise<void>

    \ No newline at end of file +

Returns Promise<void>

\ No newline at end of file diff --git a/Documentation/functions/File.file.html b/Documentation/functions/File.file.html index e7ec3c33..e0064d3b 100644 --- a/Documentation/functions/File.file.html +++ b/Documentation/functions/File.file.html @@ -1,2 +1,2 @@ -file | @playform/build - v0.0.11
\ No newline at end of file +file | @playform/build - v0.1.0
\ No newline at end of file diff --git a/Documentation/functions/JSON.JSON.html b/Documentation/functions/JSON.JSON.html index 50a3298d..55caa09d 100644 --- a/Documentation/functions/JSON.JSON.html +++ b/Documentation/functions/JSON.JSON.html @@ -1,4 +1,4 @@ -JSON | @playform/build - v0.0.11
  • The function 'JSON' is a TypeScript function that reads a JSON file and returns its +JSON | @playform/build - v0.1.0

    • The function 'JSON' is a TypeScript function that reads a JSON file and returns its parsed content.

      Parameters

      • File: string

        The File parameter is a string that represents the name or path of the JSON file that you want to parse.

        @@ -6,4 +6,4 @@ the directory path from which the JSON file should be loaded. If From is provided, it will be used as the base directory path. If From is not provided, the current directory will be used as the base directory path.

        -

      Returns Promise<any>

    \ No newline at end of file +

Returns Promise<any>

\ No newline at end of file diff --git a/Documentation/functions/Merge.merge.html b/Documentation/functions/Merge.merge.html index c75de9a3..6d86efb0 100644 --- a/Documentation/functions/Merge.merge.html +++ b/Documentation/functions/Merge.merge.html @@ -1 +1 @@ -merge | @playform/build - v0.0.11
  • Type Parameters

    • Ts extends readonly unknown[]

    Parameters

    • Rest ...objects: Ts

    Returns DeepMergeHKT<Ts, Readonly<{
        DeepMergeArraysURI: "DeepMergeArraysDefaultURI";
        DeepMergeFilterValuesURI: "DeepMergeFilterValuesDefaultURI";
        DeepMergeMapsURI: "DeepMergeMapsDefaultURI";
        DeepMergeOthersURI: "DeepMergeLeafURI";
        DeepMergeRecordsURI: "DeepMergeRecordsDefaultURI";
        DeepMergeSetsURI: "DeepMergeSetsDefaultURI";
    }>, Readonly<{
        key: PropertyKey;
        parents: readonly Readonly<Record<PropertyKey, unknown>>[];
    }>>

\ No newline at end of file +merge | @playform/build - v0.1.0
  • Type Parameters

    • Ts extends readonly unknown[]

    Parameters

    • Rest ...objects: Ts

    Returns DeepMergeHKT<Ts, Readonly<{
        DeepMergeArraysURI: "DeepMergeArraysDefaultURI";
        DeepMergeFilterValuesURI: "DeepMergeFilterValuesDefaultURI";
        DeepMergeMapsURI: "DeepMergeMapsDefaultURI";
        DeepMergeOthersURI: "DeepMergeLeafURI";
        DeepMergeRecordsURI: "DeepMergeRecordsDefaultURI";
        DeepMergeSetsURI: "DeepMergeSetsDefaultURI";
    }>, Readonly<{
        key: PropertyKey;
        parents: readonly Readonly<Record<PropertyKey, unknown>>[];
    }>>

\ No newline at end of file diff --git a/Documentation/index.html b/Documentation/index.html index 122beeab..ea97b246 100644 --- a/Documentation/index.html +++ b/Documentation/index.html @@ -1,4 +1,4 @@ -@playform/build - v0.0.11

@playform/build - v0.0.11

🌀 Build —

Build all your TypeScript files into JavaScript.

+@playform/build - v0.1.0

@playform/build - v0.1.0

🌀 Build —

Build all your TypeScript files into JavaScript.

Installation

Add configuration and setup scripts:

npm install -D -E @playform/build
 
@@ -17,4 +17,4 @@

TypeScript Configuration

tsconfig.json

{
"compilerOptions": {
"outDir": "Target"
},
"extends": "@playform/build/tsconfig",
"include": ["Source"]
}
-
\ No newline at end of file +
\ No newline at end of file diff --git a/Documentation/interfaces/Build.Interface.html b/Documentation/interfaces/Build.Interface.html index 42d8ccba..b710dc4e 100644 --- a/Documentation/interfaces/Build.Interface.html +++ b/Documentation/interfaces/Build.Interface.html @@ -1,6 +1,6 @@ -Interface | @playform/build - v0.0.11
interface Interface ((File, Option?) => Promise<void>)
  • Represents a function that processes file patterns.

    +Interface | @playform/build - v0.1.0
    interface Interface ((File, Option?) => Promise<void>)
    • Represents a function that processes file patterns.

      Parameters

      • File: string[]

        An array of file patterns to be processed. Each pattern can include wildcards (*) to match multiple files.

        -
      • Optional Option: {
            ESBuild?: string;
            TypeScript?: string;
        }

        An optional object that can contain two properties.

        +
      • Optional Option: {
            ESBuild?: string;
            TypeScript?: string;
            Watch?: boolean;
        }

        An optional object that can contain two properties.

        • Optional ESBuild?: string

          A string representing the ESBuild option.

        • Optional TypeScript?: string

          A string representing the TypeScript option.

          -

      Returns Promise<void>

    \ No newline at end of file +
  • Optional Watch?: boolean

Returns Promise<void>

\ No newline at end of file diff --git a/Documentation/interfaces/Exec.Interface.html b/Documentation/interfaces/Exec.Interface.html index 789c111c..af4479b6 100644 --- a/Documentation/interfaces/Exec.Interface.html +++ b/Documentation/interfaces/Exec.Interface.html @@ -1,4 +1,4 @@ -Interface | @playform/build - v0.0.11

Interface Interface

interface Interface ((Command, Echo?) => Promise<void>)
  • The 'Exec' function is an asynchronous function that executes a command and logs the +Interface | @playform/build - v0.1.0

    Interface Interface

    interface Interface ((Command, Echo?) => Promise<void>)
    • The 'Exec' function is an asynchronous function that executes a command and logs the stdout and stderr of the child process.

      Parameters

      • Command: string

        The 'Command' parameter is a string that represents the command you want to execute. It can be any valid command that can be executed in a @@ -7,4 +7,4 @@ of the child process should be logged. If set to 'false', no logging will occur. If set to a function, the function will be called with the stdout and stderr data as a parameter for custom logging. If not provided, stdout and stderr will be logged to the console by default.

        -

      Returns Promise<void>

    \ No newline at end of file +

Returns Promise<void>

\ No newline at end of file diff --git a/Documentation/interfaces/File.Interface.html b/Documentation/interfaces/File.Interface.html index 609f300e..e6f72559 100644 --- a/Documentation/interfaces/File.Interface.html +++ b/Documentation/interfaces/File.Interface.html @@ -1,2 +1,2 @@ -Interface | @playform/build - v0.0.11

Interface Interface

interface Interface ((Path) => Promise<any>)
\ No newline at end of file +Interface | @playform/build - v0.1.0

Interface Interface

interface Interface ((Path) => Promise<any>)
\ No newline at end of file diff --git a/Documentation/interfaces/JSON.Interface.html b/Documentation/interfaces/JSON.Interface.html index 11fd48b5..6b25fd3a 100644 --- a/Documentation/interfaces/JSON.Interface.html +++ b/Documentation/interfaces/JSON.Interface.html @@ -1,4 +1,4 @@ -Interface | @playform/build - v0.0.11

Interface Interface

interface Interface ((File, From?) => Promise<any>)
  • The function 'JSON' is a TypeScript function that reads a JSON file and returns its +Interface | @playform/build - v0.1.0

    Interface Interface

    interface Interface ((File, From?) => Promise<any>)
    • The function 'JSON' is a TypeScript function that reads a JSON file and returns its parsed content.

      Parameters

      • File: string

        The File parameter is a string that represents the name or path of the JSON file that you want to parse.

        @@ -6,4 +6,4 @@ the directory path from which the JSON file should be loaded. If From is provided, it will be used as the base directory path. If From is not provided, the current directory will be used as the base directory path.

        -

      Returns Promise<any>

    \ No newline at end of file +

Returns Promise<any>

\ No newline at end of file diff --git a/Documentation/modules/Build.html b/Documentation/modules/Build.html index 291dfa30..793b526f 100644 --- a/Documentation/modules/Build.html +++ b/Documentation/modules/Build.html @@ -1,8 +1,8 @@ -Build | @playform/build - v0.0.11

Index

Interfaces

Interface +Build | @playform/build - v0.1.0
\ No newline at end of file +
\ No newline at end of file diff --git a/Documentation/modules/ESBuild.html b/Documentation/modules/ESBuild.html index 4c7c0025..3c22161e 100644 --- a/Documentation/modules/ESBuild.html +++ b/Documentation/modules/ESBuild.html @@ -1,2 +1,2 @@ -ESBuild | @playform/build - v0.0.11
\ No newline at end of file +ESBuild | @playform/build - v0.1.0
\ No newline at end of file diff --git a/Documentation/modules/Exec.html b/Documentation/modules/Exec.html index 1eb2e858..74942d2b 100644 --- a/Documentation/modules/Exec.html +++ b/Documentation/modules/Exec.html @@ -1,3 +1,3 @@ -Exec | @playform/build - v0.0.11

Index

Interfaces

Interface +Exec | @playform/build - v0.1.0
\ No newline at end of file +
\ No newline at end of file diff --git a/Documentation/modules/File.html b/Documentation/modules/File.html index 786c5d1c..39ab1541 100644 --- a/Documentation/modules/File.html +++ b/Documentation/modules/File.html @@ -1,3 +1,3 @@ -File | @playform/build - v0.0.11

Index

Interfaces

Interface +File | @playform/build - v0.1.0
\ No newline at end of file +
\ No newline at end of file diff --git a/Documentation/modules/JSON.html b/Documentation/modules/JSON.html index 438fd68b..59460a6f 100644 --- a/Documentation/modules/JSON.html +++ b/Documentation/modules/JSON.html @@ -1,3 +1,3 @@ -JSON | @playform/build - v0.0.11

Index

Interfaces

Interface +JSON | @playform/build - v0.1.0
\ No newline at end of file +
\ No newline at end of file diff --git a/Documentation/modules/Merge.html b/Documentation/modules/Merge.html index 0908131c..9d0571fb 100644 --- a/Documentation/modules/Merge.html +++ b/Documentation/modules/Merge.html @@ -1,2 +1,2 @@ -Merge | @playform/build - v0.0.11
\ No newline at end of file +Merge | @playform/build - v0.1.0
\ No newline at end of file diff --git a/Documentation/variables/Build.Current.html b/Documentation/variables/Build.Current.html index bcde28f7..8df43492 100644 --- a/Documentation/variables/Build.Current.html +++ b/Documentation/variables/Build.Current.html @@ -1 +1 @@ -Current | @playform/build - v0.0.11
\ No newline at end of file +Current | @playform/build - v0.1.0
\ No newline at end of file diff --git a/Documentation/variables/Build.Pipe.html b/Documentation/variables/Build.Pipe.html index e5e22a5d..a7cf458e 100644 --- a/Documentation/variables/Build.Pipe.html +++ b/Documentation/variables/Build.Pipe.html @@ -1 +1 @@ -Pipe | @playform/build - v0.0.11
\ No newline at end of file +Pipe | @playform/build - v0.1.0
\ No newline at end of file diff --git a/Documentation/variables/Build.build.html b/Documentation/variables/Build.build.html index 0bc02c03..bd67572e 100644 --- a/Documentation/variables/Build.build.html +++ b/Documentation/variables/Build.build.html @@ -1 +1 @@ -build | @playform/build - v0.0.11
\ No newline at end of file +build | @playform/build - v0.1.0
\ No newline at end of file diff --git a/Documentation/variables/ESBuild.ESBuild.html b/Documentation/variables/ESBuild.ESBuild.html index df7c1e20..1a341a24 100644 --- a/Documentation/variables/ESBuild.ESBuild.html +++ b/Documentation/variables/ESBuild.ESBuild.html @@ -1 +1 @@ -ESBuild | @playform/build - v0.0.11
\ No newline at end of file +ESBuild | @playform/build - v0.1.0
\ No newline at end of file diff --git a/Source/Class/Build.ts b/Source/Class/Build.ts index 8d571016..87847d62 100644 --- a/Source/Class/Build.ts +++ b/Source/Class/Build.ts @@ -11,5 +11,6 @@ export default new (await import("commander")).Command() .argument("", "📝 File —") .option("-ES, --ESBuild ", "📜 ESBuild —") .option("-TS, --TypeScript ", "📜 TypeScript —", "tsconfig.json") + .option("-W --Watch", "👁️ Watch —") .action((await import("../Function/Build.js")).default) .parse(); diff --git a/Source/Function/Build.ts b/Source/Function/Build.ts index 17d15c0c..89d087c5 100644 --- a/Source/Function/Build.ts +++ b/Source/Function/Build.ts @@ -13,7 +13,7 @@ export default (async (...[File, Option]: Parameters) => { Pipe.reverse(); - const Configuration = Merge( + let Configuration: BuildOptions = Merge( (await import("../Variable/ESBuild.js")).default, { entryPoints: Object.fromEntries( @@ -29,32 +29,44 @@ export default (async (...[File, Option]: Parameters) => { }, ); - console.log( - await (await import("esbuild")).analyzeMetafile( - ( - await ( - await import("esbuild") - ).build( - Option?.ESBuild - ? Merge( - Configuration, - await ( - await import("@Function/File.js") - ).default(Option.ESBuild), - ) - : Configuration, - ) - )?.metafile ?? "", - { - verbose: true, - }, - ), - ); + Configuration = Option?.ESBuild + ? Merge( + Configuration, + await (await import("@Function/File.js")).default( + Option.ESBuild, + ), + ) + : Configuration; + + Configuration.plugins?.push({ + name: "TypeScript", + setup({ onEnd }) { + onEnd(async () => { + await Exec(`tsc -p ${Configuration.tsconfig}`); + await Exec(`tsc-alias -f -p ${Configuration.tsconfig}`); + }); + }, + }); + + if (Option?.Watch) { + const Context = await (await import("esbuild")).context(Configuration); - await Exec(`tsc -p ${Configuration.tsconfig}`); - await Exec(`tsc-alias -f -p ${Configuration.tsconfig}`); + await Context.watch(); + } else { + console.log( + await (await import("esbuild")).analyzeMetafile( + (await (await import("esbuild")).build(Configuration)) + ?.metafile ?? "", + { + verbose: true, + }, + ), + ); + } }) satisfies Interface as Interface; +import type { BuildOptions } from "esbuild"; + import type Interface from "../Interface/Build.js"; export const { default: Exec } = await import("../Function/Exec.js"); diff --git a/Source/Interface/Build.ts b/Source/Interface/Build.ts index 84d2f057..e32d153a 100644 --- a/Source/Interface/Build.ts +++ b/Source/Interface/Build.ts @@ -20,6 +20,7 @@ export default interface Interface { Option?: { ESBuild?: string; TypeScript?: string; + Watch?: boolean; }, ): Promise; } diff --git a/Target/Class/Build.js b/Target/Class/Build.js index f8fdeec1..72aa281f 100644 --- a/Target/Class/Build.js +++ b/Target/Class/Build.js @@ -1,2 +1,2 @@ #!/usr/bin/env node -var i=new(await import("commander")).Command().name("Build").version("0.0.11").description("\u{1F300}\u2001Build\u2001\u2014").argument("","\u{1F4DD}\u2001File\u2001\u2014").option("-ES, --ESBuild ","\u{1F4DC}\u2001ESBuild\u2001\u2014").option("-TS, --TypeScript ","\u{1F4DC}\u2001TypeScript\u2001\u2014","tsconfig.json").action((await import("../Function/Build.js")).default).parse();export{i as default}; +var i=new(await import("commander")).Command().name("Build").version("0.1.0").description("\u{1F300}\u2001Build\u2001\u2014").argument("","\u{1F4DD}\u2001File\u2001\u2014").option("-ES, --ESBuild ","\u{1F4DC}\u2001ESBuild\u2001\u2014").option("-TS, --TypeScript ","\u{1F4DC}\u2001TypeScript\u2001\u2014","tsconfig.json").option("-W --Watch","\u{1F441}\uFE0F\u2001Watch\u2001\u2014").action((await import("../Function/Build.js")).default).parse();export{i as default}; diff --git a/Target/Function/Build.js b/Target/Function/Build.js index 9b83d811..d6e0f57a 100644 --- a/Target/Function/Build.js +++ b/Target/Function/Build.js @@ -1 +1 @@ -var l=async(...[s,e])=>{for(const a of s)for(const c of await(await import("fast-glob")).default(a.replaceAll("'","").replaceAll('"',"")))i.push(c);i.reverse();const t=o((await import("../Variable/ESBuild.js")).default,{entryPoints:Object.fromEntries(i.map(a=>[a.replace("Source/","").split(".").slice(0,-1).join("."),a])),tsconfig:e?.TypeScript??"tsconfig.json"});console.log(await(await import("esbuild")).analyzeMetafile((await(await import("esbuild")).build(e?.ESBuild?o(t,await(await import("./File.js")).default(e.ESBuild)):t))?.metafile??"",{verbose:!0})),await r(`tsc -p ${t.tsconfig}`),await r(`tsc-alias -f -p ${t.tsconfig}`)};const{default:r}=await import("../Function/Exec.js"),{default:o}=await import("../Function/Merge.js"),i=[],f=(await import("url")).fileURLToPath((await import("path")).dirname(import.meta.url));export{f as Current,r as Exec,o as Merge,i as Pipe,l as default}; +var l=async(...[s,e])=>{for(const a of s)for(const p of await(await import("fast-glob")).default(a.replaceAll("'","").replaceAll('"',"")))i.push(p);i.reverse();let t=r((await import("../Variable/ESBuild.js")).default,{entryPoints:Object.fromEntries(i.map(a=>[a.replace("Source/","").split(".").slice(0,-1).join("."),a])),tsconfig:e?.TypeScript??"tsconfig.json"});t=e?.ESBuild?r(t,await(await import("./File.js")).default(e.ESBuild)):t,t.plugins?.push({name:"TypeScript",setup({onEnd:a}){a(async()=>{await o(`tsc -p ${t.tsconfig}`),await o(`tsc-alias -f -p ${t.tsconfig}`)})}}),e?.Watch?await(await(await import("esbuild")).context(t)).watch():console.log(await(await import("esbuild")).analyzeMetafile((await(await import("esbuild")).build(t))?.metafile??"",{verbose:!0}))};const{default:o}=await import("../Function/Exec.js"),{default:r}=await import("../Function/Merge.js"),i=[],n=(await import("url")).fileURLToPath((await import("path")).dirname(import.meta.url));export{n as Current,o as Exec,r as Merge,i as Pipe,l as default}; diff --git a/Target/Interface/Build.d.ts b/Target/Interface/Build.d.ts index 65d1010d..6280aed8 100644 --- a/Target/Interface/Build.d.ts +++ b/Target/Interface/Build.d.ts @@ -18,6 +18,7 @@ export default interface Interface { (File: Pattern[], Option?: { ESBuild?: string; TypeScript?: string; + Watch?: boolean; }): Promise; } import type { Pattern } from "fast-glob"; diff --git a/package.json b/package.json index a9e6a319..b487a175 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@playform/build", - "version": "0.0.11", + "version": "0.1.0", "private": false, "description": "🌀 Build —", "keywords": [ @@ -30,6 +30,7 @@ "Build": "Target/Class/Build.js" }, "scripts": { + "Run": "node --no-warnings --loader ts-node/esm Source/Class/Build.ts 'Source/**/*.ts' -W", "prepublishOnly": "node --no-warnings --loader ts-node/esm Source/Class/Build.ts 'Source/**/*.ts'" }, "dependencies": {