I'd like to create application bundle with all it's dependencies, so it can be installed on any platform without need of internet connection (other case is that it shouldn't be dependent on npm repository state - let's say I want to be sure I can install it without issues in 5 years time).
So technically all packages with it's dependencies need to be downloaded as usually `npm install` does, but compile step shouldn't proceed. Afterwards when I load such bundle on any platform, `npm install` should (without need of downloading anything) just compile already present packages for given platform,
On Thu, Oct 11, 2012 at 6:06 AM, Mariusz Nowak <mari...@medikoo.com> wrote:
> I'd like to create application bundle with all it's dependencies, so it can
> be installed on any platform without need of internet connection (other case
> is that it shouldn't be dependent on npm repository state - let's say I want
> to be sure I can install it without issues in 5 years time).
> So technically all packages with it's dependencies need to be downloaded as
> usually `npm install` does, but compile step shouldn't proceed.
> Afterwards when I load such bundle on any platform, `npm install` should
> (without need of downloading anything) just compile already present packages
> for given platform,
Daniel, I think 'npm rebuild' may work for installation of already created bundle, but still what's missing is how to download all dependencies into correct folders without compiling them.
> On Thu, Oct 11, 2012 at 6:06 AM, Mariusz Nowak <mar...@medikoo.com<javascript:>> > wrote: > > I'd like to create application bundle with all it's dependencies, so it > can > > be installed on any platform without need of internet connection (other > case > > is that it shouldn't be dependent on npm repository state - let's say I > want > > to be sure I can install it without issues in 5 years time).
> > So technically all packages with it's dependencies need to be downloaded > as > > usually `npm install` does, but compile step shouldn't proceed. > > Afterwards when I load such bundle on any platform, `npm install` should > > (without need of downloading anything) just compile already present > packages > > for given platform,
> > What would be the easiest way to achieve that?
On Thursday, October 11, 2012 8:49:10 AM UTC-5, Mariusz Nowak wrote:
> Daniel, I think 'npm rebuild' may work for installation of > already created bundle, but still what's missing is how to download all > dependencies into correct folders without compiling them.
> On Thursday, October 11, 2012 3:30:37 PM UTC+2, Daniel R. wrote:
>> I believe the easiest way to achieve what you want to do is by using >> the "npm rebuild" command.
>> On Thu, Oct 11, 2012 at 6:06 AM, Mariusz Nowak <mar...@medikoo.com> >> wrote: >> > I'd like to create application bundle with all it's dependencies, so it >> can >> > be installed on any platform without need of internet connection (other >> case >> > is that it shouldn't be dependent on npm repository state - let's say I >> want >> > to be sure I can install it without issues in 5 years time).
>> > So technically all packages with it's dependencies need to be >> downloaded as >> > usually `npm install` does, but compile step shouldn't proceed. >> > Afterwards when I load such bundle on any platform, `npm install` >> should >> > (without need of downloading anything) just compile already present >> packages >> > for given platform,
>> > What would be the easiest way to achieve that?
> On Thursday, October 11, 2012 8:49:10 AM UTC-5, Mariusz Nowak wrote:
>> Daniel, I think 'npm rebuild' may work for installation of >> already created bundle, but still what's missing is how to download all >> dependencies into correct folders without compiling them.
>> On Thursday, October 11, 2012 3:30:37 PM UTC+2, Daniel R. wrote:
>>> I believe the easiest way to achieve what you want to do is by using >>> the "npm rebuild" command.
>>> On Thu, Oct 11, 2012 at 6:06 AM, Mariusz Nowak <mar...@medikoo.com> >>> wrote: >>> > I'd like to create application bundle with all it's dependencies, so >>> it can >>> > be installed on any platform without need of internet connection >>> (other case >>> > is that it shouldn't be dependent on npm repository state - let's say >>> I want >>> > to be sure I can install it without issues in 5 years time).
>>> > So technically all packages with it's dependencies need to be >>> downloaded as >>> > usually `npm install` does, but compile step shouldn't proceed. >>> > Afterwards when I load such bundle on any platform, `npm install` >>> should >>> > (without need of downloading anything) just compile already present >>> packages >>> > for given platform,
>>> > What would be the easiest way to achieve that?
Bradley thanks, it's probably best way to install bundle that was already prepared, but do you know the way how can I create such bundle? This is what I'm missing (!) :)
>> On Thursday, October 11, 2012 8:49:10 AM UTC-5, Mariusz Nowak wrote:
>>> Daniel, I think 'npm rebuild' may work for installation of >>> already created bundle, but still what's missing is how to download all >>> dependencies into correct folders without compiling them.
>>> On Thursday, October 11, 2012 3:30:37 PM UTC+2, Daniel R. wrote:
>>>> I believe the easiest way to achieve what you want to do is by using >>>> the "npm rebuild" command.
>>>> On Thu, Oct 11, 2012 at 6:06 AM, Mariusz Nowak <mar...@medikoo.com> >>>> wrote: >>>> > I'd like to create application bundle with all it's dependencies, so >>>> it can >>>> > be installed on any platform without need of internet connection >>>> (other case >>>> > is that it shouldn't be dependent on npm repository state - let's say >>>> I want >>>> > to be sure I can install it without issues in 5 years time).
>>>> > So technically all packages with it's dependencies need to be >>>> downloaded as >>>> > usually `npm install` does, but compile step shouldn't proceed. >>>> > Afterwards when I load such bundle on any platform, `npm install` >>>> should >>>> > (without need of downloading anything) just compile already present >>>> packages >>>> > for given platform,
>>>> > What would be the easiest way to achieve that?
``` npm i && cat package.json | json -e "this.bundledDependencies='$(for FILE in $(ls -A node_modules); do printf "$FILE "; done)'.split(/ /)" > package.json && npm pack ```
We do something a bit more complex on our build server but this covers most cases (wont set env variables when spawning npm and such so rebuild-bundled will have to be set when you `npm i` on any other server if it has install scripts that need running even if it was bundled).
On Thursday, October 11, 2012 12:19:56 PM UTC-5, Mariusz Nowak wrote:
> Bradley thanks, it's probably best way to install bundle that was already > prepared, but do you know the way how can I create such bundle? This is > what I'm missing (!) :)
> On Thursday, October 11, 2012 5:26:24 PM UTC+2, Bradley Meck wrote:
>> Forgot to mention, bundle the dependencies on your build server.
>> On Thursday, October 11, 2012 10:25:56 AM UTC-5, Bradley Meck wrote:
>>> On Thursday, October 11, 2012 8:49:10 AM UTC-5, Mariusz Nowak wrote:
>>>> Daniel, I think 'npm rebuild' may work for installation of >>>> already created bundle, but still what's missing is how to download all >>>> dependencies into correct folders without compiling them.
>>>> On Thursday, October 11, 2012 3:30:37 PM UTC+2, Daniel R. wrote:
>>>>> I believe the easiest way to achieve what you want to do is by using >>>>> the "npm rebuild" command.
>>>>> On Thu, Oct 11, 2012 at 6:06 AM, Mariusz Nowak <mar...@medikoo.com> >>>>> wrote: >>>>> > I'd like to create application bundle with all it's dependencies, so >>>>> it can >>>>> > be installed on any platform without need of internet connection >>>>> (other case >>>>> > is that it shouldn't be dependent on npm repository state - let's >>>>> say I want >>>>> > to be sure I can install it without issues in 5 years time).
>>>>> > So technically all packages with it's dependencies need to be >>>>> downloaded as >>>>> > usually `npm install` does, but compile step shouldn't proceed. >>>>> > Afterwards when I load such bundle on any platform, `npm install` >>>>> should >>>>> > (without need of downloading anything) just compile already present >>>>> packages >>>>> > for given platform,
>>>>> > What would be the easiest way to achieve that?
On Thursday, October 11, 2012 9:30:12 PM UTC+2, Bradley Meck wrote:
> you can do something like
> ``` > npm i && cat package.json | json -e "this.bundledDependencies='$(for FILE > in $(ls -A node_modules); do printf "$FILE "; done)'.split(/ /)" > > package.json && npm pack > ```
> We do something a bit more complex on our build server but this covers > most cases (wont set env variables when spawning npm and such so > rebuild-bundled will have to be set when you `npm i` on any other server if > it has install scripts that need running even if it was bundled).
> On Thursday, October 11, 2012 12:19:56 PM UTC-5, Mariusz Nowak wrote:
>> Bradley thanks, it's probably best way to install bundle that was already >> prepared, but do you know the way how can I create such bundle? This is >> what I'm missing (!) :)
>> On Thursday, October 11, 2012 5:26:24 PM UTC+2, Bradley Meck wrote:
>>> Forgot to mention, bundle the dependencies on your build server.
>>> On Thursday, October 11, 2012 10:25:56 AM UTC-5, Bradley Meck wrote:
>>>> On Thursday, October 11, 2012 8:49:10 AM UTC-5, Mariusz Nowak wrote:
>>>>> Daniel, I think 'npm rebuild' may work for installation of >>>>> already created bundle, but still what's missing is how to download all >>>>> dependencies into correct folders without compiling them.
>>>>> On Thursday, October 11, 2012 3:30:37 PM UTC+2, Daniel R. wrote:
>>>>>> I believe the easiest way to achieve what you want to do is by using >>>>>> the "npm rebuild" command.
>>>>>> On Thu, Oct 11, 2012 at 6:06 AM, Mariusz Nowak <mar...@medikoo.com> >>>>>> wrote: >>>>>> > I'd like to create application bundle with all it's dependencies, >>>>>> so it can >>>>>> > be installed on any platform without need of internet connection >>>>>> (other case >>>>>> > is that it shouldn't be dependent on npm repository state - let's >>>>>> say I want >>>>>> > to be sure I can install it without issues in 5 years time).
>>>>>> > So technically all packages with it's dependencies need to be >>>>>> downloaded as >>>>>> > usually `npm install` does, but compile step shouldn't proceed. >>>>>> > Afterwards when I load such bundle on any platform, `npm install` >>>>>> should >>>>>> > (without need of downloading anything) just compile already present >>>>>> packages >>>>>> > for given platform,
>>>>>> > What would be the easiest way to achieve that?
On Thursday, October 11, 2012 4:07:24 PM UTC-5, Mariusz Nowak wrote:
> Bradley, thanks. I'll try that. Anyway it looks it needs to be done > programmatically, maybe I'll come up with some neat module that would do > that.
> On Thursday, October 11, 2012 9:30:12 PM UTC+2, Bradley Meck wrote:
>> you can do something like
>> ``` >> npm i && cat package.json | json -e "this.bundledDependencies='$(for FILE >> in $(ls -A node_modules); do printf "$FILE "; done)'.split(/ /)" > >> package.json && npm pack >> ```
>> We do something a bit more complex on our build server but this covers >> most cases (wont set env variables when spawning npm and such so >> rebuild-bundled will have to be set when you `npm i` on any other server if >> it has install scripts that need running even if it was bundled).
>> On Thursday, October 11, 2012 12:19:56 PM UTC-5, Mariusz Nowak wrote:
>>> Bradley thanks, it's probably best way to install bundle that was >>> already prepared, but do you know the way how can I create such bundle? >>> This is what I'm missing (!) :)
>>> On Thursday, October 11, 2012 5:26:24 PM UTC+2, Bradley Meck wrote:
>>>> Forgot to mention, bundle the dependencies on your build server.
>>>> On Thursday, October 11, 2012 10:25:56 AM UTC-5, Bradley Meck wrote:
>>>>> On Thursday, October 11, 2012 8:49:10 AM UTC-5, Mariusz Nowak wrote:
>>>>>> Daniel, I think 'npm rebuild' may work for installation of >>>>>> already created bundle, but still what's missing is how to download all >>>>>> dependencies into correct folders without compiling them.
>>>>>> On Thursday, October 11, 2012 3:30:37 PM UTC+2, Daniel R. wrote:
>>>>>>> I believe the easiest way to achieve what you want to do is by using >>>>>>> the "npm rebuild" command.
>>>>>>> On Thu, Oct 11, 2012 at 6:06 AM, Mariusz Nowak <mar...@medikoo.com> >>>>>>> wrote: >>>>>>> > I'd like to create application bundle with all it's dependencies, >>>>>>> so it can >>>>>>> > be installed on any platform without need of internet connection >>>>>>> (other case >>>>>>> > is that it shouldn't be dependent on npm repository state - let's >>>>>>> say I want >>>>>>> > to be sure I can install it without issues in 5 years time).
>>>>>>> > So technically all packages with it's dependencies need to be >>>>>>> downloaded as >>>>>>> > usually `npm install` does, but compile step shouldn't proceed. >>>>>>> > Afterwards when I load such bundle on any platform, `npm install` >>>>>>> should >>>>>>> > (without need of downloading anything) just compile already >>>>>>> present packages >>>>>>> > for given platform,
>>>>>>> > What would be the easiest way to achieve that?