BaselineOfXxx equivalent of npm's devDependencies

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

BaselineOfXxx equivalent of npm's devDependencies

Herby Vojčík
Hello!

I'd like to ask what is the equivalent of devDependencies (dependencies
to be loaded only when developing, but not when in profuction / used as
a dependency) of a baseline.

My baseline method looks like:

baseline: spec
    <baseline>
        spec for: #common do: [
                spec package: 'Towergame' with: [ spec requires: 'GarageGlorp';
requires: 'NeoJSON' ].
                spec project: 'GarageGlorp' with: [
                        spec
                                className: 'ConfigurationOfGarageGlorp';
                                version: #stable;
                                repository:
'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ].
                spec project: 'NeoJSON' with: [
                        spec
                                className: 'ConfigurationOfNeoJSON';
                                version: #stable;
                                repository:
'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ].
                spec
                        baseline: 'Mocketry'
                        with: [ spec repository: 'github://dionisiydk/Mocketry:v4.0.x' ]
        ]

and I want to have Mocketry as dev-only dependency. How to write it and
how to load it with dev / without dev dependencies? Atm I load it this way:

Metacello new baseline: 'Towergame'; repository: 'gitlocal:///',
(hereRef / 'src') fullName; load.

where hereRef is file reference to project dir.

Thanks, Herby

Reply | Threaded
Open this post in threaded view
|

Re: BaselineOfXxx equivalent of npm's devDependencies

Denis Kudriashov
You need to specify groups for your project:

spec
group: 'default' with: #('Core' 'Tests' );
group: 'Core' with: #('Towergame' );
group: 'Tests' with: #('Towergame-Tests' 'Mocketry')

Then your script will load default group with everything. And to load Core group use "load: #(Core)" instread of simple #load message.

2017-07-28 14:33 GMT+02:00 Herby Vojčík <[hidden email]>:
Hello!

I'd like to ask what is the equivalent of devDependencies (dependencies to be loaded only when developing, but not when in profuction / used as a dependency) of a baseline.

My baseline method looks like:

baseline: spec
   <baseline>
        spec for: #common do: [
                spec package: 'Towergame' with: [ spec requires: 'GarageGlorp'; requires: 'NeoJSON' ].
                spec project: 'GarageGlorp' with: [
                        spec
                                className: 'ConfigurationOfGarageGlorp';
                                version: #stable;
                                repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ].
                spec project: 'NeoJSON' with: [
                        spec
                                className: 'ConfigurationOfNeoJSON';
                                version: #stable;
                                repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ].
                spec
                        baseline: 'Mocketry'
                        with: [ spec repository: 'github://dionisiydk/Mocketry:v4.0.x' ]
        ]

and I want to have Mocketry as dev-only dependency. How to write it and how to load it with dev / without dev dependencies? Atm I load it this way:

Metacello new baseline: 'Towergame'; repository: 'gitlocal:///', (hereRef / 'src') fullName; load.

where hereRef is file reference to project dir.

Thanks, Herby


Reply | Threaded
Open this post in threaded view
|

Re: BaselineOfXxx equivalent of npm's devDependencies

Denis Kudriashov
And if you really have Towergame-Tests package then you will probably define it as
  spec package: 'Towergame-Tests' with: [ spec requires: #('Towergame' 'Mocketry')  ].
And then Tests group can include only Towergame-Tests package because Mocketry will be loaded as dependency.

2017-07-28 15:39 GMT+02:00 Denis Kudriashov <[hidden email]>:
You need to specify groups for your project:

spec
group: 'default' with: #('Core' 'Tests' );
group: 'Core' with: #('Towergame' );
group: 'Tests' with: #('Towergame-Tests' 'Mocketry')

Then your script will load default group with everything. And to load Core group use "load: #(Core)" instread of simple #load message.

2017-07-28 14:33 GMT+02:00 Herby Vojčík <[hidden email]>:
Hello!

I'd like to ask what is the equivalent of devDependencies (dependencies to be loaded only when developing, but not when in profuction / used as a dependency) of a baseline.

My baseline method looks like:

baseline: spec
   <baseline>
        spec for: #common do: [
                spec package: 'Towergame' with: [ spec requires: 'GarageGlorp'; requires: 'NeoJSON' ].
                spec project: 'GarageGlorp' with: [
                        spec
                                className: 'ConfigurationOfGarageGlorp';
                                version: #stable;
                                repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ].
                spec project: 'NeoJSON' with: [
                        spec
                                className: 'ConfigurationOfNeoJSON';
                                version: #stable;
                                repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ].
                spec
                        baseline: 'Mocketry'
                        with: [ spec repository: 'github://dionisiydk/Mocketry:v4.0.x' ]
        ]

and I want to have Mocketry as dev-only dependency. How to write it and how to load it with dev / without dev dependencies? Atm I load it this way:

Metacello new baseline: 'Towergame'; repository: 'gitlocal:///', (hereRef / 'src') fullName; load.

where hereRef is file reference to project dir.

Thanks, Herby



Reply | Threaded
Open this post in threaded view
|

Re: BaselineOfXxx equivalent of npm's devDependencies

Herby Vojčík


On July 28, 2017 3:41:37 PM GMT+02:00, Denis Kudriashov <[hidden email]> wrote:
>And if you really have Towergame-Tests package then you will probably
>define it as
>
>  spec package: 'Towergame-Tests' with: [ spec requires: #('Towergame'
>'Mocketry')  ].
>
>And then Tests group can include only Towergame-Tests package because
>Mocketry will be loaded as dependency.

Thank you sir.

I don't have Towergame-Tests in its own package but I presume I can save it as one (category I do have of course).

Herby

>
>2017-07-28 15:39 GMT+02:00 Denis Kudriashov <[hidden email]>:
>
>> You need to specify groups for your project:
>>
>> spec
>> group: 'default' with: #('Core' 'Tests' );
>> group: 'Core' with: #('Towergame' );
>> group: 'Tests' with: #('Towergame-Tests' 'Mocketry')
>>
>>
>> Then your script will load default group with everything. And to load
>Core
>> group use "load: #(Core)" instread of simple #load message.
>>
>> 2017-07-28 14:33 GMT+02:00 Herby Vojčík <[hidden email]>:
>>
>>> Hello!
>>>
>>> I'd like to ask what is the equivalent of devDependencies
>(dependencies
>>> to be loaded only when developing, but not when in profuction / used
>as a
>>> dependency) of a baseline.
>>>
>>> My baseline method looks like:
>>>
>>> baseline: spec
>>>    <baseline>
>>>         spec for: #common do: [
>>>                 spec package: 'Towergame' with: [ spec requires:
>>> 'GarageGlorp'; requires: 'NeoJSON' ].
>>>                 spec project: 'GarageGlorp' with: [
>>>                         spec
>>>                                 className:
>'ConfigurationOfGarageGlorp';
>>>                                 version: #stable;
>>>                                 repository: '
>>> http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ].
>>>                 spec project: 'NeoJSON' with: [
>>>                         spec
>>>                                 className: 'ConfigurationOfNeoJSON';
>>>                                 version: #stable;
>>>                                 repository: '
>>> http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ].
>>>                 spec
>>>                         baseline: 'Mocketry'
>>>                         with: [ spec repository:
>>> 'github://dionisiydk/Mocketry:v4.0.x' ]
>>>         ]
>>>
>>> and I want to have Mocketry as dev-only dependency. How to write it
>and
>>> how to load it with dev / without dev dependencies? Atm I load it
>this way:
>>>
>>> Metacello new baseline: 'Towergame'; repository: 'gitlocal:///',
>(hereRef
>>> / 'src') fullName; load.
>>>
>>> where hereRef is file reference to project dir.
>>>
>>> Thanks, Herby
>>>
>>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: BaselineOfXxx equivalent of npm's devDependencies

Herby Vojčík
In reply to this post by Denis Kudriashov


On July 28, 2017 3:41:37 PM GMT+02:00, Denis Kudriashov <[hidden email]> wrote:
>And if you really have Towergame-Tests package then you will probably
>define it as
>
>  spec package: 'Towergame-Tests' with: [ spec requires: #('Towergame'
>'Mocketry')  ].
>
>And then Tests group can include only Towergame-Tests package because
>Mocketry will be loaded as dependency.

And I presume I can make the core the default and one including the tests as #dev if I felt like it (don't know the cultural pattern though, if default is always including tests and production is always special in Pharo world, I am nor going to break it; in js/npm world, prod is the default).

Thanks, Herby

>
>2017-07-28 15:39 GMT+02:00 Denis Kudriashov <[hidden email]>:
>
>> You need to specify groups for your project:
>>
>> spec
>> group: 'default' with: #('Core' 'Tests' );
>> group: 'Core' with: #('Towergame' );
>> group: 'Tests' with: #('Towergame-Tests' 'Mocketry')
>>
>>
>> Then your script will load default group with everything. And to load
>Core
>> group use "load: #(Core)" instread of simple #load message.
>>
>> 2017-07-28 14:33 GMT+02:00 Herby Vojčík <[hidden email]>:
>>
>>> Hello!
>>>
>>> I'd like to ask what is the equivalent of devDependencies
>(dependencies
>>> to be loaded only when developing, but not when in profuction / used
>as a
>>> dependency) of a baseline.
>>>
>>> My baseline method looks like:
>>>
>>> baseline: spec
>>>    <baseline>
>>>         spec for: #common do: [
>>>                 spec package: 'Towergame' with: [ spec requires:
>>> 'GarageGlorp'; requires: 'NeoJSON' ].
>>>                 spec project: 'GarageGlorp' with: [
>>>                         spec
>>>                                 className:
>'ConfigurationOfGarageGlorp';
>>>                                 version: #stable;
>>>                                 repository: '
>>> http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ].
>>>                 spec project: 'NeoJSON' with: [
>>>                         spec
>>>                                 className: 'ConfigurationOfNeoJSON';
>>>                                 version: #stable;
>>>                                 repository: '
>>> http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo60/main' ].
>>>                 spec
>>>                         baseline: 'Mocketry'
>>>                         with: [ spec repository:
>>> 'github://dionisiydk/Mocketry:v4.0.x' ]
>>>         ]
>>>
>>> and I want to have Mocketry as dev-only dependency. How to write it
>and
>>> how to load it with dev / without dev dependencies? Atm I load it
>this way:
>>>
>>> Metacello new baseline: 'Towergame'; repository: 'gitlocal:///',
>(hereRef
>>> / 'src') fullName; load.
>>>
>>> where hereRef is file reference to project dir.
>>>
>>> Thanks, Herby
>>>
>>>
>>