Skip to content

Commit 5037265

Browse files
author
craig
committed
2.0.0 / 2022-03-23
================== * Initial esm support - @craigparra
1 parent 4ba3c63 commit 5037265

File tree

7 files changed

+174
-31
lines changed

7 files changed

+174
-31
lines changed

ApplicationContext.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
/* eslint-disable import/extensions */
22
import _ from 'lodash';
3-
import LoggerFactory from '@alt-javascript/logger/LoggerFactory.js';
4-
import { EphemeralConfig, ConfigFactory } from '@alt-javascript/config';
3+
import { LoggerFactory } from '@alt-javascript/logger';
4+
import { ConfigFactory } from '@alt-javascript/config';
55
import {
66
Context, Component, Property, Scopes,
77
} from './context/index.js';
88

9-
const logger = LoggerFactory.getLogger('@alt-javascript/cdi/ApplicationContext');
9+
const logger = { LoggerFactory }.getLogger('@alt-javascript/cdi/ApplicationContext');
1010

1111
export default class ApplicationContext {
1212
// eslint-disable-next-line
@@ -51,7 +51,7 @@ export default class ApplicationContext {
5151
this.configContextPath = options?.configContextPath
5252
|| process.env.NODE_CONFIG_CONTEXT_PATH
5353
|| ApplicationContext.DEFAULT_CONFIG_CONTEXT_PATH;
54-
this.config = options?.config || ConfigFactory.getConfig(new EphemeralConfig({}));
54+
this.config = options?.config || { ConfigFactory }.getConfig({});
5555
if (options?.config) {
5656
// eslint-disable-next-line no-param-reassign
5757
delete options.config;

dist/alt-javascript-cdi-esm.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import _ from 'lodash';
2-
import LoggerFactory from '@alt-javascript/logger/LoggerFactory.js';
3-
import { ConfigFactory, EphemeralConfig } from '@alt-javascript/config';
1+
import _ from 'https://cdn.jsdelivr.net/npm/lodash-es/lodash.min.js';
2+
import { LoggerFactory } from 'https://cdn.jsdelivr.net/npm/@alt-javascript/logger@2/dist/alt-javascript-logger-esm.js';
3+
import { ConfigFactory } from 'https://cdn.jsdelivr.net/npm/@alt-javascript/config@2/dist/alt-javascript-config-esm.js';
44

55
/* eslint-disable import/extensions */
66
class Context {
@@ -49,7 +49,7 @@ class Scopes {
4949

5050
/* eslint-disable import/extensions */
5151

52-
const logger = LoggerFactory.getLogger('@alt-javascript/cdi/ApplicationContext');
52+
const logger = { LoggerFactory }.getLogger('@alt-javascript/cdi/ApplicationContext');
5353

5454
class ApplicationContext {
5555
// eslint-disable-next-line
@@ -94,7 +94,7 @@ class ApplicationContext {
9494
this.configContextPath = options?.configContextPath
9595
|| process.env.NODE_CONFIG_CONTEXT_PATH
9696
|| ApplicationContext.DEFAULT_CONFIG_CONTEXT_PATH;
97-
this.config = options?.config || ConfigFactory.getConfig(new EphemeralConfig({}));
97+
this.config = options?.config || { ConfigFactory }.getConfig({});
9898
if (options?.config) {
9999
// eslint-disable-next-line no-param-reassign
100100
delete options.config;

package-lock.json

Lines changed: 104 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,15 @@
3131
"cucumber:windows": ".\\node_modules\\.bin\\cucumber-js.cmd features\\*.feature --publish-quiet",
3232
"cucumber:macos:nix:default": "./node_modules/.bin/cucumber-js features\\*.feature --publish-quiet",
3333
"c8": "c8 --reporter=json-summary --reporter=text-summary --reporter=lcov npm run test",
34-
"bundle": "rollup -c",
34+
"bundle-esm": "rollup -c rollup.config.esm.js",
35+
"bundle-iife": "rollup -c rollup.config.iife.js",
3536
"minify-esm": "terser dist/alt-javascript-cdi-esm.js -c ",
37+
"minify-iife": "terser dist/alt-javascript-applicationcontext-iife.js -c ",
3638
"build-esm": "npm run minify-esm -- -o dist/alt-javascript-cdi-esm-min.js --source-map",
37-
"build": "npm run bundle && npm run build-esm"
39+
"build-iife": "npm run minify-iife -- -o dist/alt-javascript-applicationcontext-iife-min.js --source-map",
40+
"build": "npm run bundle-esm && npm run build-esm && npm run iifify && npm run bundle-iife && npm run uniifify && npm run build-iife ",
41+
"iifify": "shx sed -i s/{\\ ConfigFactory\\ }/ConfigFactory/g ApplicationContext.js && shx sed -i s/{\\ LoggerFactory\\ }/LoggerFactory/g ApplicationContext.js",
42+
"uniifify": "shx sed -i s/ConfigFactory/{\\ ConfigFactory\\ }/g ApplicationContext.js && shx sed -i s/LoggerFactory/{\\ LoggerFactory\\ }/g ApplicationContext.js"
3843
},
3944
"license": "MIT",
4045
"dependencies": {
@@ -47,19 +52,21 @@
4752
"@babel/eslint-parser": "^7.15.0",
4853
"@cucumber/cucumber": "^7.3.1",
4954
"babel-eslint": "^10.1.0",
55+
"c8": "^7.11.0",
5056
"chai": "^4.3.4",
5157
"chai-as-promised": "^7.1.1",
5258
"config": "^3.3.6",
53-
"c8" : "^7.11.0",
5459
"cucumber": "^7.0.0-rc.0",
5560
"eslint": "^7.30.0",
5661
"eslint-config-airbnb-base": "^14.2.1",
5762
"eslint-plugin-cucumber": "^1.4.0",
5863
"eslint-plugin-import": "^2.23.4",
5964
"mocha": "^9.0.3",
60-
"run-script-os": "^1.1.6",
61-
"uuid": "^8.3.2",
6265
"rollup": "^2.69.2",
63-
"terser": "^5.12.0"
66+
"rollup-plugin-esm-import-to-url": "^2.1.0",
67+
"run-script-os": "^1.1.6",
68+
"shx": "^0.3.4",
69+
"terser": "^5.12.0",
70+
"uuid": "^8.3.2"
6471
}
6572
}

rollup.config.esm.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import esmImportToUrl from 'rollup-plugin-esm-import-to-url';
2+
3+
export default [
4+
// Monolithic ESM bundle for browser module implementation.
5+
{
6+
input: 'index.js',
7+
treeshake: true,
8+
plugins: [esmImportToUrl({
9+
imports: {
10+
'lodash': 'https://cdn.jsdelivr.net/npm/lodash-es/lodash.min.js',
11+
'@alt-javascript/config' : 'https://cdn.jsdelivr.net/npm/@alt-javascript/config@2/dist/alt-javascript-config-esm.js',
12+
'@alt-javascript/logger' : 'https://cdn.jsdelivr.net/npm/@alt-javascript/logger@2/dist/alt-javascript-logger-esm.js',
13+
},
14+
})],
15+
16+
output: {
17+
file: 'dist/alt-javascript-cdi-esm.js',
18+
format: 'esm',
19+
strict: false,
20+
externalLiveBindings: false,
21+
freeze: false,
22+
sourcemap: false,
23+
sourcemapExcludeSources: true,
24+
},
25+
}];

rollup.config.iife.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
export default [
3+
// IIFE bundle for browsers global import.
4+
{
5+
input: 'ApplicationContext.js',
6+
treeshake: true,
7+
output: {
8+
file: 'dist/alt-javascript-applicationcontext-iife.js',
9+
format: 'iife',
10+
name: 'ApplicationContext',
11+
strict: false,
12+
externalLiveBindings: false,
13+
freeze: false,
14+
sourcemap: false,
15+
sourcemapExcludeSources: true,
16+
globals : {
17+
'lodash' : '_',
18+
'@alt-javascript/config/ConfigFactory.js' : 'ConfigFactory',
19+
'@alt-javascript/logger/LoggerFactory.js' : 'LoggerFactory'
20+
}
21+
},
22+
},
23+
];

rollup.config.js

Lines changed: 0 additions & 16 deletions
This file was deleted.

0 commit comments

Comments
 (0)