0.7.38 • Published 6 years ago

@rxdi/starter-server-side v0.7.38

Weekly downloads
-
License
MIT
Repository
-
Last release
6 years ago

@rxdi/starter-server-side

Starter project Server Side based on @rxdi/core

Powerful Dependency Injection inside Browser and Node using Typescript and RXJS 6


The idea behind @rxdi is to create independent, dependency injection that can be used everywhere. First steps where with platform called @gapi you can check repository @gapi/core. Then because of the needs of the platform i decided to develop this Reactive Dependency Injection container helping me build progressive applications. Hope you like my journey! Any help and suggestions are appreciated! Main repository @rxdi/core


Installation and basic examples:

To start developing, run:
git clone https://github.com/rxdi/starter-server-side

Start App Development

npm run start

Build app for production

npm run build

(Optional)

Production build with Parcel Production build is added inside @gapi/cli but if you want you can use parcel-bundler globally to build and start your application as follow:

Install Parcel:

npm install -g parcel-bundler

Build single bundle from first bootstrapped file in this case main.ts

parcel build src/main.ts --target node

This command will generate single file from this application inside dist/main.js with mappings dist/main.map

Starting bundled application

node ./dist/main.js

Important!

This will not bundle your node modules only rxdi application.

Simplest app

main.ts

import { Bootstrap } from '@rxdi/core';
import { AppModule } from './app/app.module';

Bootstrap(AppModule, {
    init: true,
    logger: {
        logging: true,
        date: true,
        hashes: true,
        exitHandler: true,
        fileService: true
    }
})
.subscribe(
    () => console.log('Started!'),
    (e) => console.error(e)
);

app.module.ts

import { Module } from "@rxdi/core";
import { UserModule } from './user/user.module';

@Module({
    imports: [UserModule]
})
export class AppModule {}

user.module.ts

import { Module } from '@rxdi/core';
import { UserService } from './services';
import { Observable } from 'rxjs';

@Module({
    services: [
        UserService,
        {
            provide: 'createUniqueHash',
            useDynamic: {
                fileName: 'createUniqueHash',
                namespace: '@helpers',
                extension: 'js',
                typings: '',
                outputFolder: '/node_modules/',
                link: 'https://ipfs.infura.io/ipfs/QmdQtC3drfQ6M6GFpDdrhYRKoky8BycKzWbTkc4NEzGLug'
            }
        },
        {
            provide: 'testFactoryAsync',
            lazy: true,
            useFactory: async () => {
                return new Promise((resolve) => {
                    setTimeout(() => resolve('dad2a'), 0);
                })
            }
        },
        {
            provide: 'testFactorySync',
            useFactory: () => {
                return 'dada';
            }
        },
        {
            provide: 'testValue2',
            useValue: 'dadada'
        },
        {
            provide: 'testChainableFactoryFunction',
            // lazy: true, if you don't provide lazy parameter your factory will remain Observable so you can chain it inside constructor
            useFactory: () => new Observable(o => o.next(15))
        },
    ]
})
export class UserModule {}

user.service.ts

import { Service, OnInit } from "@rxdi/core";
import { Inject } from "@rxdi/core";
import { Observable } from "rxjs";
import { map } from "rxjs/operators";
import { CREATE_UNIQUE_HASH } from "../user.tokens";

@Service()
export class UserService implements OnInit {
    constructor(
        @Inject(CREATE_UNIQUE_HASH) private ipfsDownloadedFactory: { testKey: () => string },
        @Inject('testFactoryAsync') private testFactoryAsync: string,
        @Inject('testChainableFactoryFunction') private chainableFactory: Observable<number>
    ) {}

    OnInit() {
        console.log('UserService', this.ipfsDownloadedFactory.testKey(), this.testFactoryAsync);
        this.chainableFactory
            .pipe(
                map((res) => res)
            )
            .subscribe(value => console.log('Value chaining factory ', value));
    }

}

Result

1529604446114 Bootstrap -> @Module('AppModule')(adb785e839fa19736cea0920cd39b783): loading...
1529604446116 Bootstrap -> @Module('UserModule')(9ed4f039657f52019d2d9adb0f9df09f): loading...
1529604446118 Bootstrap -> @Module('UserModule')(9ed4f039657f52019d2d9adb0f9df09f): finished!
1529604446118 Bootstrap -> @Module('AppModule')(adb785e839fa19736cea0920cd39b783): finished!
1529604446119 Bootstrap -> @Service('createUniqueHash'): loading...
1529604446121 Bootstrap -> @Service('createUniqueHash'): will be downloaded inside ./node_modules/@helpers/createUniqueHash.js folder and loaded from there
1529604446121 Bootstrap -> @Service('createUniqueHash'): https://ipfs.infura.io/ipfs/QmdQtC3drfQ6M6GFpDdrhYRKoky8BycKzWbTkc4NEzGLug downloading...
1529604446137 Bootstrap -> @Service('testFactoryAsync'): loading...
1529604446146 Bootstrap -> @Service('testFactoryAsync'): loading finished! 21:07:26
1529604446795 Done!
1529604446797 Bootstrap: @Service('createUniqueHash.js'): Saved inside /home/rampage/Desktop/concept-starter/node_modules/@helpers
1529604446808 Bootstrap -> @Service('createUniqueHash'): loading finished! 21:07:26
1529604446810 Done!
1529604446811 Bootstrap: @Service('createUniqueHash.js'): Saved inside /home/rampage/Desktop/concept-starter/node_modules/@helpers
1529604446812 Bootstrap -> press start!
1529604446813 Start -> @Module('UserModule')(9ed4f039657f52019d2d9adb0f9df09f): @Service('UserService')(ea785b316b77dbfe5cb361a7cdcbcb31) initialized!
UserService TestKey dad2a
Value chaining factory  15
1529604446813 Start -> @Module('UserModule')(9ed4f039657f52019d2d9adb0f9df09f): loaded!
1529604446813 Start -> @Module('AppModule')(adb785e839fa19736cea0920cd39b783): loaded!
Started!
AppStopped
0.7.38

6 years ago

0.7.37

6 years ago

0.7.36

6 years ago

0.7.35

6 years ago

0.7.34

6 years ago

0.7.33

6 years ago

0.7.32

6 years ago

0.7.31

6 years ago

0.7.30

6 years ago

0.7.29

6 years ago

0.7.28

6 years ago

0.7.27

6 years ago

0.7.26

6 years ago

0.7.25

6 years ago

0.7.24

6 years ago

0.7.23

6 years ago

0.7.22

6 years ago

0.7.21

6 years ago

0.7.20

6 years ago

0.7.19

6 years ago

0.7.18

6 years ago

0.7.17

6 years ago

0.7.16

6 years ago

0.7.15

6 years ago

0.7.14

6 years ago

0.7.13

6 years ago

0.7.12

6 years ago

0.7.11

6 years ago

0.7.10

6 years ago

0.7.9

6 years ago

0.7.8

6 years ago

0.7.7

6 years ago

0.7.6

6 years ago

0.7.5

6 years ago

0.7.4

6 years ago

0.7.3

6 years ago

0.7.2

6 years ago

0.7.1

6 years ago

0.7.0

6 years ago

0.6.13

6 years ago

0.6.12

6 years ago

0.6.11

6 years ago

0.6.10

6 years ago

0.6.9

6 years ago

0.6.8

6 years ago

0.6.7

6 years ago

0.6.6

6 years ago

0.6.5

6 years ago

0.6.4

6 years ago

0.6.3

6 years ago

0.6.2

6 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.5.21

6 years ago

0.5.20

6 years ago

0.5.19

6 years ago

0.5.18

6 years ago

0.5.17

6 years ago

0.5.16

6 years ago

0.5.15

6 years ago

0.5.14

6 years ago

0.5.13

6 years ago

0.5.12

6 years ago

0.5.11

6 years ago

0.5.10

6 years ago

0.5.9

6 years ago

0.5.8

6 years ago

0.5.7

6 years ago

0.5.6

6 years ago

0.5.5

6 years ago

0.5.4

6 years ago

0.5.3

6 years ago

0.5.2

6 years ago

0.5.1

6 years ago

0.5.0

6 years ago

0.4.35

6 years ago

0.4.34

6 years ago

0.4.33

6 years ago

0.4.32

6 years ago

0.4.31

6 years ago

0.4.30

6 years ago

0.4.29

6 years ago

0.4.28

6 years ago

0.4.27

6 years ago

0.4.26

6 years ago

0.4.25

6 years ago

0.4.24

6 years ago

0.4.23

6 years ago

0.4.22

6 years ago

0.4.21

6 years ago

0.4.20

6 years ago

0.4.19

6 years ago

0.4.18

6 years ago

0.4.17

6 years ago

0.4.16

6 years ago

0.4.15

6 years ago

0.4.14

6 years ago

0.4.13

6 years ago

0.4.12

6 years ago

0.4.11

6 years ago

0.4.10

6 years ago

0.4.9

6 years ago

0.4.8

6 years ago

0.4.7

6 years ago

0.4.6

6 years ago

0.4.5

6 years ago

0.4.4

6 years ago

0.4.3

6 years ago

0.4.2

6 years ago

0.4.1

6 years ago

0.4.0

6 years ago

0.3.19

6 years ago

0.3.18

6 years ago

0.3.17

6 years ago

0.3.16

6 years ago

0.3.15

6 years ago

0.3.14

6 years ago

0.3.13

6 years ago

0.3.12

6 years ago

0.3.11

6 years ago

0.3.10

6 years ago

0.3.9

6 years ago

0.3.8

6 years ago

0.3.7

6 years ago

0.3.6

6 years ago

0.3.5

6 years ago

0.3.4

6 years ago

0.3.3

6 years ago

0.3.2

6 years ago

0.3.1

6 years ago

0.3.0

6 years ago

0.2.36

6 years ago

0.2.35

6 years ago

0.2.34

6 years ago

0.2.33

6 years ago

0.2.32

6 years ago

0.2.31

6 years ago

0.2.30

6 years ago

0.2.29

6 years ago

0.2.28

6 years ago

0.2.27

6 years ago

0.2.26

6 years ago

0.2.25

6 years ago

0.2.24

6 years ago

0.2.23

6 years ago

0.2.22

6 years ago

0.2.21

6 years ago

0.2.20

6 years ago

0.2.19

6 years ago

0.2.18

6 years ago

0.2.17

6 years ago

0.2.16

6 years ago

0.2.15

6 years ago

0.2.14

6 years ago

0.2.13

6 years ago

0.2.12

6 years ago

0.2.11

6 years ago

0.2.10

6 years ago

0.2.9

6 years ago

0.2.8

6 years ago

0.2.7

6 years ago

0.2.6

6 years ago

0.2.5

6 years ago

0.2.4

6 years ago

0.2.3

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.424

6 years ago

0.0.423

6 years ago

0.0.422

6 years ago

0.0.421

6 years ago

0.0.420

6 years ago

0.0.419

6 years ago

0.0.418

6 years ago

0.0.417

6 years ago

0.0.416

6 years ago

0.0.415

6 years ago

0.0.414

6 years ago

0.0.413

6 years ago

0.0.412

6 years ago

0.0.411

6 years ago

0.0.410

6 years ago

0.0.409

6 years ago

0.0.408

6 years ago

0.0.407

6 years ago

0.0.406

6 years ago

0.0.405

6 years ago

0.0.404

6 years ago

0.0.403

6 years ago

0.0.402

6 years ago

0.0.401

6 years ago

0.0.400

6 years ago

0.0.399

6 years ago

0.0.398

6 years ago

0.0.397

6 years ago

0.0.396

6 years ago

0.0.395

6 years ago

0.0.394

6 years ago

0.0.393

6 years ago

0.0.392

6 years ago

0.0.391

6 years ago

0.0.390

6 years ago

0.0.389

6 years ago

0.0.388

6 years ago

0.0.387

6 years ago

0.0.386

6 years ago

0.0.385

6 years ago

0.0.384

6 years ago

0.0.383

6 years ago

0.0.382

6 years ago

0.0.381

6 years ago

0.0.380

6 years ago

0.0.379

6 years ago

0.0.378

6 years ago

0.0.377

6 years ago

0.0.376

6 years ago

0.0.375

6 years ago

0.0.374

6 years ago

0.0.373

6 years ago

0.0.372

6 years ago

0.0.371

6 years ago

0.0.370

6 years ago

0.0.369

6 years ago

0.0.368

6 years ago

0.0.367

6 years ago

0.0.366

6 years ago

0.0.365

6 years ago

0.0.364

6 years ago

0.0.363

6 years ago

0.0.362

6 years ago

0.0.361

6 years ago

0.0.360

6 years ago

0.0.359

6 years ago

0.0.358

6 years ago

0.0.357

6 years ago

0.0.356

6 years ago

0.0.355

6 years ago

0.0.354

6 years ago

0.0.353

6 years ago

0.0.352

6 years ago

0.0.351

6 years ago

0.0.350

6 years ago

0.0.349

6 years ago

0.0.348

6 years ago

0.0.347

7 years ago

0.0.346

7 years ago

0.0.345

7 years ago

0.0.344

7 years ago

0.0.343

7 years ago

0.0.342

7 years ago

0.0.341

7 years ago

0.0.340

7 years ago

0.0.339

7 years ago

0.0.338

7 years ago

0.0.337

7 years ago

0.0.336

7 years ago

0.0.335

7 years ago

0.0.334

7 years ago

0.0.333

7 years ago

0.0.332

7 years ago

0.0.331

7 years ago

0.0.330

7 years ago

0.0.329

7 years ago

0.0.328

7 years ago

0.0.327

7 years ago

0.0.326

7 years ago

0.0.325

7 years ago

0.0.324

7 years ago

0.0.323

7 years ago

0.0.322

7 years ago

0.0.321

7 years ago

0.0.320

7 years ago

0.0.319

7 years ago

0.0.318

7 years ago

0.0.317

7 years ago

0.0.316

7 years ago

0.0.315

7 years ago

0.0.314

7 years ago

0.0.313

7 years ago

0.0.312

7 years ago

0.0.311

7 years ago

0.0.310

7 years ago

0.0.309

7 years ago

0.0.308

7 years ago

0.0.307

7 years ago

0.0.306

7 years ago

0.0.304

7 years ago

0.0.303

7 years ago

0.0.302

7 years ago

0.0.301

7 years ago

0.0.300

7 years ago

0.0.299

7 years ago

0.0.298

7 years ago

0.0.297

7 years ago

0.0.296

7 years ago

0.0.295

7 years ago

0.0.294

7 years ago

0.0.293

7 years ago

0.0.292

7 years ago

0.0.291

7 years ago

0.0.290

7 years ago

0.0.289

7 years ago

0.0.288

7 years ago

0.0.287

7 years ago

0.0.286

7 years ago

0.0.285

7 years ago

0.0.284

7 years ago

0.0.283

7 years ago

0.0.282

7 years ago

0.0.281

7 years ago

0.0.280

7 years ago

0.0.279

7 years ago

0.0.278

7 years ago

0.0.277

7 years ago

0.0.276

7 years ago

0.0.275

7 years ago

0.0.274

7 years ago

0.0.273

7 years ago

0.0.272

7 years ago

0.0.271

7 years ago

0.0.270

7 years ago

0.0.269

7 years ago

0.0.268

7 years ago

0.0.267

7 years ago

0.0.266

7 years ago

0.0.265

7 years ago

0.0.264

7 years ago

0.0.263

7 years ago

0.0.262

7 years ago

0.0.261

7 years ago

0.0.260

7 years ago

0.0.259

7 years ago

0.0.258

7 years ago

0.0.257

7 years ago

0.0.256

7 years ago

0.0.255

7 years ago

0.0.254

7 years ago

0.0.253

7 years ago

0.0.252

7 years ago

0.0.251

7 years ago

0.0.250

7 years ago

0.0.249

7 years ago

0.0.248

7 years ago

0.0.247

7 years ago

0.0.246

7 years ago

0.0.245

7 years ago

0.0.244

7 years ago

0.0.243

7 years ago

0.0.242

7 years ago

0.0.241

7 years ago

0.0.240

7 years ago

0.0.239

7 years ago

0.0.238

7 years ago

0.0.237

7 years ago

0.0.236

7 years ago

0.0.235

7 years ago

0.0.234

7 years ago

0.0.233

7 years ago

0.0.232

7 years ago

0.0.231

7 years ago

0.0.230

7 years ago

0.0.229

7 years ago

0.0.228

7 years ago

0.0.227

7 years ago

0.0.226

7 years ago

0.0.225

7 years ago

0.0.224

7 years ago

0.0.223

7 years ago

0.0.222

7 years ago

0.0.221

7 years ago

0.0.220

7 years ago

0.0.219

7 years ago

0.0.218

7 years ago

0.0.217

7 years ago

0.0.216

7 years ago

0.0.215

7 years ago

0.0.214

7 years ago

0.0.213

7 years ago

0.0.212

7 years ago

0.0.211

7 years ago

0.0.210

7 years ago

0.0.209

7 years ago

0.0.208

7 years ago

0.0.207

7 years ago

0.0.206

7 years ago

0.0.205

7 years ago

0.0.204

7 years ago

0.0.203

7 years ago

0.0.202

7 years ago

0.0.201

7 years ago

0.0.200

7 years ago

0.0.199

7 years ago

0.0.198

7 years ago

0.0.197

7 years ago

0.0.196

7 years ago

0.0.195

7 years ago

0.0.194

7 years ago

0.0.193

7 years ago

0.0.192

7 years ago

0.0.191

7 years ago

0.0.190

7 years ago

0.0.189

7 years ago

0.0.188

7 years ago

0.0.187

7 years ago

0.0.186

7 years ago

0.0.185

7 years ago

0.0.184

7 years ago

0.0.183

7 years ago

0.0.182

7 years ago

0.0.181

7 years ago

0.0.180

7 years ago

0.0.179

7 years ago

0.0.178

7 years ago

0.0.177

7 years ago

0.0.176

7 years ago

0.0.175

7 years ago

0.0.174

7 years ago

0.0.173

7 years ago

0.0.172

7 years ago

0.0.171

7 years ago

0.0.170

7 years ago

0.0.169

7 years ago

0.0.168

7 years ago

0.0.167

7 years ago

0.0.166

7 years ago

0.0.165

7 years ago

0.0.164

7 years ago

0.0.163

7 years ago

0.0.162

7 years ago

0.0.161

7 years ago

0.0.160

7 years ago

0.0.159

7 years ago

0.0.158

7 years ago

0.0.157

7 years ago

0.0.156

7 years ago

0.0.155

7 years ago

0.0.154

7 years ago

0.0.153

7 years ago

0.0.152

7 years ago

0.0.151

7 years ago

0.0.150

7 years ago