0.7.38 • Published 5 years ago

@rxdi/starter-server-side v0.7.38

Weekly downloads
-
License
MIT
Repository
-
Last release
5 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

5 years ago

0.7.37

5 years ago

0.7.36

5 years ago

0.7.35

5 years ago

0.7.34

5 years ago

0.7.33

5 years ago

0.7.32

5 years ago

0.7.31

5 years ago

0.7.30

5 years ago

0.7.29

5 years ago

0.7.28

5 years ago

0.7.27

5 years ago

0.7.26

5 years ago

0.7.25

5 years ago

0.7.24

5 years ago

0.7.23

5 years ago

0.7.22

5 years ago

0.7.21

5 years ago

0.7.20

5 years ago

0.7.19

5 years ago

0.7.18

5 years ago

0.7.17

5 years ago

0.7.16

5 years ago

0.7.15

5 years ago

0.7.14

5 years ago

0.7.13

5 years ago

0.7.12

5 years ago

0.7.11

5 years ago

0.7.10

5 years ago

0.7.9

5 years ago

0.7.8

5 years ago

0.7.7

5 years ago

0.7.6

5 years ago

0.7.5

5 years ago

0.7.4

5 years ago

0.7.3

5 years ago

0.7.2

5 years ago

0.7.1

5 years ago

0.7.0

5 years ago

0.6.13

5 years ago

0.6.12

5 years ago

0.6.11

5 years ago

0.6.10

5 years ago

0.6.9

5 years ago

0.6.8

5 years ago

0.6.7

5 years ago

0.6.6

5 years ago

0.6.5

5 years ago

0.6.4

5 years ago

0.6.3

5 years ago

0.6.2

5 years ago

0.6.1

5 years ago

0.6.0

5 years ago

0.5.21

5 years ago

0.5.20

5 years ago

0.5.19

5 years ago

0.5.18

5 years ago

0.5.17

5 years ago

0.5.16

5 years ago

0.5.15

5 years ago

0.5.14

5 years ago

0.5.13

5 years ago

0.5.12

5 years ago

0.5.11

5 years ago

0.5.10

5 years ago

0.5.9

5 years ago

0.5.8

5 years ago

0.5.7

5 years ago

0.5.6

5 years ago

0.5.5

5 years ago

0.5.4

5 years ago

0.5.3

5 years ago

0.5.2

5 years ago

0.5.1

5 years ago

0.5.0

5 years ago

0.4.35

5 years ago

0.4.34

5 years ago

0.4.33

5 years ago

0.4.32

5 years ago

0.4.31

5 years ago

0.4.30

5 years ago

0.4.29

5 years ago

0.4.28

5 years ago

0.4.27

5 years ago

0.4.26

5 years ago

0.4.25

5 years ago

0.4.24

5 years ago

0.4.23

5 years ago

0.4.22

5 years ago

0.4.21

5 years ago

0.4.20

5 years ago

0.4.19

5 years ago

0.4.18

5 years ago

0.4.17

5 years ago

0.4.16

5 years ago

0.4.15

5 years ago

0.4.14

5 years ago

0.4.13

5 years ago

0.4.12

5 years ago

0.4.11

5 years ago

0.4.10

5 years ago

0.4.9

5 years ago

0.4.8

5 years ago

0.4.7

5 years ago

0.4.6

5 years ago

0.4.5

5 years ago

0.4.4

5 years ago

0.4.3

5 years ago

0.4.2

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.3.19

5 years ago

0.3.18

5 years ago

0.3.17

5 years ago

0.3.16

5 years ago

0.3.15

5 years ago

0.3.14

5 years ago

0.3.13

5 years ago

0.3.12

5 years ago

0.3.11

5 years ago

0.3.10

5 years ago

0.3.9

5 years ago

0.3.8

5 years ago

0.3.7

5 years ago

0.3.6

5 years ago

0.3.5

5 years ago

0.3.4

5 years ago

0.3.3

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.36

5 years ago

0.2.35

5 years ago

0.2.34

5 years ago

0.2.33

5 years ago

0.2.32

5 years ago

0.2.31

5 years ago

0.2.30

5 years ago

0.2.29

5 years ago

0.2.28

5 years ago

0.2.27

5 years ago

0.2.26

5 years ago

0.2.25

5 years ago

0.2.24

5 years ago

0.2.23

5 years ago

0.2.22

5 years ago

0.2.21

5 years ago

0.2.20

5 years ago

0.2.19

5 years ago

0.2.18

5 years ago

0.2.17

5 years ago

0.2.16

5 years ago

0.2.15

5 years ago

0.2.14

5 years ago

0.2.13

5 years ago

0.2.12

5 years ago

0.2.11

5 years ago

0.2.10

5 years ago

0.2.9

5 years ago

0.2.8

5 years ago

0.2.7

5 years ago

0.2.6

5 years ago

0.2.5

5 years ago

0.2.4

5 years ago

0.2.3

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.424

5 years ago

0.0.423

5 years ago

0.0.422

5 years ago

0.0.421

5 years ago

0.0.420

5 years ago

0.0.419

5 years ago

0.0.418

5 years ago

0.0.417

5 years ago

0.0.416

5 years ago

0.0.415

5 years ago

0.0.414

5 years ago

0.0.413

5 years ago

0.0.412

5 years ago

0.0.411

5 years ago

0.0.410

5 years ago

0.0.409

5 years ago

0.0.408

5 years ago

0.0.407

5 years ago

0.0.406

5 years ago

0.0.405

5 years ago

0.0.404

5 years ago

0.0.403

5 years ago

0.0.402

5 years ago

0.0.401

5 years ago

0.0.400

5 years ago

0.0.399

5 years ago

0.0.398

5 years ago

0.0.397

5 years ago

0.0.396

5 years ago

0.0.395

5 years ago

0.0.394

5 years ago

0.0.393

5 years ago

0.0.392

5 years ago

0.0.391

5 years ago

0.0.390

5 years ago

0.0.389

5 years ago

0.0.388

5 years ago

0.0.387

5 years ago

0.0.386

5 years ago

0.0.385

5 years ago

0.0.384

5 years ago

0.0.383

5 years ago

0.0.382

5 years ago

0.0.381

5 years ago

0.0.380

5 years ago

0.0.379

5 years ago

0.0.378

5 years ago

0.0.377

5 years ago

0.0.376

5 years ago

0.0.375

5 years ago

0.0.374

5 years ago

0.0.373

5 years ago

0.0.372

5 years ago

0.0.371

5 years ago

0.0.370

5 years ago

0.0.369

5 years ago

0.0.368

5 years ago

0.0.367

5 years ago

0.0.366

5 years ago

0.0.365

5 years ago

0.0.364

5 years ago

0.0.363

5 years ago

0.0.362

5 years ago

0.0.361

5 years ago

0.0.360

5 years ago

0.0.359

5 years ago

0.0.358

5 years ago

0.0.357

5 years ago

0.0.356

5 years ago

0.0.355

5 years ago

0.0.354

5 years ago

0.0.353

5 years ago

0.0.352

5 years ago

0.0.351

5 years ago

0.0.350

5 years ago

0.0.349

5 years ago

0.0.348

5 years ago

0.0.347

5 years ago

0.0.346

5 years ago

0.0.345

5 years ago

0.0.344

5 years ago

0.0.343

5 years ago

0.0.342

5 years ago

0.0.341

6 years ago

0.0.340

6 years ago

0.0.339

6 years ago

0.0.338

6 years ago

0.0.337

6 years ago

0.0.336

6 years ago

0.0.335

6 years ago

0.0.334

6 years ago

0.0.333

6 years ago

0.0.332

6 years ago

0.0.331

6 years ago

0.0.330

6 years ago

0.0.329

6 years ago

0.0.328

6 years ago

0.0.327

6 years ago

0.0.326

6 years ago

0.0.325

6 years ago

0.0.324

6 years ago

0.0.323

6 years ago

0.0.322

6 years ago

0.0.321

6 years ago

0.0.320

6 years ago

0.0.319

6 years ago

0.0.318

6 years ago

0.0.317

6 years ago

0.0.316

6 years ago

0.0.315

6 years ago

0.0.314

6 years ago

0.0.313

6 years ago

0.0.312

6 years ago

0.0.311

6 years ago

0.0.310

6 years ago

0.0.309

6 years ago

0.0.308

6 years ago

0.0.307

6 years ago

0.0.306

6 years ago

0.0.304

6 years ago

0.0.303

6 years ago

0.0.302

6 years ago

0.0.301

6 years ago

0.0.300

6 years ago

0.0.299

6 years ago

0.0.298

6 years ago

0.0.297

6 years ago

0.0.296

6 years ago

0.0.295

6 years ago

0.0.294

6 years ago

0.0.293

6 years ago

0.0.292

6 years ago

0.0.291

6 years ago

0.0.290

6 years ago

0.0.289

6 years ago

0.0.288

6 years ago

0.0.287

6 years ago

0.0.286

6 years ago

0.0.285

6 years ago

0.0.284

6 years ago

0.0.283

6 years ago

0.0.282

6 years ago

0.0.281

6 years ago

0.0.280

6 years ago

0.0.279

6 years ago

0.0.278

6 years ago

0.0.277

6 years ago

0.0.276

6 years ago

0.0.275

6 years ago

0.0.274

6 years ago

0.0.273

6 years ago

0.0.272

6 years ago

0.0.271

6 years ago

0.0.270

6 years ago

0.0.269

6 years ago

0.0.268

6 years ago

0.0.267

6 years ago

0.0.266

6 years ago

0.0.265

6 years ago

0.0.264

6 years ago

0.0.263

6 years ago

0.0.262

6 years ago

0.0.261

6 years ago

0.0.260

6 years ago

0.0.259

6 years ago

0.0.258

6 years ago

0.0.257

6 years ago

0.0.256

6 years ago

0.0.255

6 years ago

0.0.254

6 years ago

0.0.253

6 years ago

0.0.252

6 years ago

0.0.251

6 years ago

0.0.250

6 years ago

0.0.249

6 years ago

0.0.248

6 years ago

0.0.247

6 years ago

0.0.246

6 years ago

0.0.245

6 years ago

0.0.244

6 years ago

0.0.243

6 years ago

0.0.242

6 years ago

0.0.241

6 years ago

0.0.240

6 years ago

0.0.239

6 years ago

0.0.238

6 years ago

0.0.237

6 years ago

0.0.236

6 years ago

0.0.235

6 years ago

0.0.234

6 years ago

0.0.233

6 years ago

0.0.232

6 years ago

0.0.231

6 years ago

0.0.230

6 years ago

0.0.229

6 years ago

0.0.228

6 years ago

0.0.227

6 years ago

0.0.226

6 years ago

0.0.225

6 years ago

0.0.224

6 years ago

0.0.223

6 years ago

0.0.222

6 years ago

0.0.221

6 years ago

0.0.220

6 years ago

0.0.219

6 years ago

0.0.218

6 years ago

0.0.217

6 years ago

0.0.216

6 years ago

0.0.215

6 years ago

0.0.214

6 years ago

0.0.213

6 years ago

0.0.212

6 years ago

0.0.211

6 years ago

0.0.210

6 years ago

0.0.209

6 years ago

0.0.208

6 years ago

0.0.207

6 years ago

0.0.206

6 years ago

0.0.205

6 years ago

0.0.204

6 years ago

0.0.203

6 years ago

0.0.202

6 years ago

0.0.201

6 years ago

0.0.200

6 years ago

0.0.199

6 years ago

0.0.198

6 years ago

0.0.197

6 years ago

0.0.196

6 years ago

0.0.195

6 years ago

0.0.194

6 years ago

0.0.193

6 years ago

0.0.192

6 years ago

0.0.191

6 years ago

0.0.190

6 years ago

0.0.189

6 years ago

0.0.188

6 years ago

0.0.187

6 years ago

0.0.186

6 years ago

0.0.185

6 years ago

0.0.184

6 years ago

0.0.183

6 years ago

0.0.182

6 years ago

0.0.181

6 years ago

0.0.180

6 years ago

0.0.179

6 years ago

0.0.178

6 years ago

0.0.177

6 years ago

0.0.176

6 years ago

0.0.175

6 years ago

0.0.174

6 years ago

0.0.173

6 years ago

0.0.172

6 years ago

0.0.171

6 years ago

0.0.170

6 years ago

0.0.169

6 years ago

0.0.168

6 years ago

0.0.167

6 years ago

0.0.166

6 years ago

0.0.165

6 years ago

0.0.164

6 years ago

0.0.163

6 years ago

0.0.162

6 years ago

0.0.161

6 years ago

0.0.160

6 years ago

0.0.159

6 years ago

0.0.158

6 years ago

0.0.157

6 years ago

0.0.156

6 years ago

0.0.155

6 years ago

0.0.154

6 years ago

0.0.153

6 years ago

0.0.152

6 years ago

0.0.151

6 years ago

0.0.150

6 years ago