diff --git a/CHANGELOG.md b/CHANGELOG.md index 8392eee..ea3ca05 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 2d14f8c..c57cda5 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 6fc7501..ab448f9 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 e8da80a..9a84a9e 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 1acbeef..4bacf5c 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 da9e600..01d1cc7 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 e7ec3c3..e0064d3 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 50a3298..55caa09 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 c75de9a..6d86efb 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 122beea..ea97b24 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 42d8ccb..b710dc4 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 789c111..af4479b 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 609f300..e6f7255 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 11fd48b..6b25fd3 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 291dfa3..793b526 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 4c7c002..3c22161 100644 --- a/Documentation/modules/ESBuild.html +++ b/Documentation/modules/ESBuild.html @@ -1,2 +1,2 @@ -ESBuild | @playform/build - v0.0.11

Index

Variables

\ No newline at end of file +ESBuild | @playform/build - v0.1.0

Index

Variables

\ No newline at end of file diff --git a/Documentation/modules/Exec.html b/Documentation/modules/Exec.html index 1eb2e85..74942d2 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 786c5d1..39ab154 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 438fd68..59460a6 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 0908131..9d0571f 100644 --- a/Documentation/modules/Merge.html +++ b/Documentation/modules/Merge.html @@ -1,2 +1,2 @@ -Merge | @playform/build - v0.0.11

Index

Functions

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

Index

Functions

\ No newline at end of file diff --git a/Documentation/variables/Build.Current.html b/Documentation/variables/Build.Current.html index bcde28f..8df4349 100644 --- a/Documentation/variables/Build.Current.html +++ b/Documentation/variables/Build.Current.html @@ -1 +1 @@ -Current | @playform/build - v0.0.11

Variable CurrentConst

Current: string = ...
\ No newline at end of file +Current | @playform/build - v0.1.0

Variable CurrentConst

Current: string = ...
\ No newline at end of file diff --git a/Documentation/variables/Build.Pipe.html b/Documentation/variables/Build.Pipe.html index e5e22a5..a7cf458 100644 --- a/Documentation/variables/Build.Pipe.html +++ b/Documentation/variables/Build.Pipe.html @@ -1 +1 @@ -Pipe | @playform/build - v0.0.11

Variable PipeConst

Pipe: string[] = []
\ No newline at end of file +Pipe | @playform/build - v0.1.0

Variable PipeConst

Pipe: string[] = []
\ No newline at end of file diff --git a/Documentation/variables/Build.build.html b/Documentation/variables/Build.build.html index 0bc02c0..bd67572 100644 --- a/Documentation/variables/Build.build.html +++ b/Documentation/variables/Build.build.html @@ -1 +1 @@ -build | @playform/build - v0.0.11
build: Command
\ No newline at end of file +build | @playform/build - v0.1.0
build: Command
\ No newline at end of file diff --git a/Documentation/variables/ESBuild.ESBuild.html b/Documentation/variables/ESBuild.ESBuild.html index df7c1e2..1a341a2 100644 --- a/Documentation/variables/ESBuild.ESBuild.html +++ b/Documentation/variables/ESBuild.ESBuild.html @@ -1 +1 @@ -ESBuild | @playform/build - v0.0.11
ESBuild: BuildOptions
\ No newline at end of file +ESBuild | @playform/build - v0.1.0
ESBuild: BuildOptions
\ No newline at end of file diff --git a/Source/Class/Build.ts b/Source/Class/Build.ts index 8d57101..87847d6 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 17d15c0..89d087c 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 84d2f05..e32d153 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 f8fdeec..72aa281 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 9b83d81..d6e0f57 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 65d1010..6280aed 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 a9e6a31..b487a17 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": {