Skip to content

Commit

Permalink
more lerna work (infernojs#777)
Browse files Browse the repository at this point in the history
* make component & create-element standalone

make create-class standalone

compilation working

move hyperscript to standalone

* fix code cove

* onboard the rest to standalone packages

* iron out test stuff
  • Loading branch information
longlho authored and Havunen committed Jan 31, 2017
1 parent 0be8b03 commit 8abb17e
Show file tree
Hide file tree
Showing 209 changed files with 3,224 additions and 3,729 deletions.
20 changes: 12 additions & 8 deletions .babelrc
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,19 @@
"babel-plugin-syntax-jsx",
["babel-plugin-inferno", {"imports": true}],
["module-resolver", {
"extensions": [".js", ".jsx", ".ts", ".tsx"],
"extensions": [".js", ".jsx"],
"alias": {
"inferno": "./test/inferno/inferno",
"inferno-component": "./test/inferno/inferno-component",
"inferno-create-class": "./test/inferno/inferno-create-class",
"inferno-create-element": "./test/inferno/inferno-create-element",
"inferno-hyperscript": "./test/inferno/inferno-hyperscript",
"inferno-router": "./packages/inferno-router/src/index",
"inferno-server": "./packages/inferno-server/src/index"
"inferno-compat": "./packages/inferno-compat",
"inferno-component": "./packages/inferno-component/dist-es",
"inferno-create-class": "./packages/inferno-create-class/dist-es",
"inferno-create-element": "./packages/inferno-create-element/dist-es",
"inferno-helpers": "./packages/inferno-helpers/dist-es",
"inferno-hyperscript": "./packages/inferno-hyperscript/dist-es",
"inferno-mobx": "./packages/inferno-mobx/dist-es",
"inferno-redux": "./packages/inferno-redux/dist-es",
"inferno-router": "./packages/inferno-router/dist-es",
"inferno-server": "./packages/inferno-server/dist-es",
"inferno": "./packages/inferno/dist-es"
}
}]
]
Expand Down
10 changes: 4 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ node_modules
*~
test/data/result.json

packages/**/tsconfig.*
packages/**/.npmignore
packages/**/dist-es
packages/inferno/dist
packages/inferno-helpers/dist
packages/inferno-vnode-flags/dist
packages/*/tsconfig.*
packages/*/.npmignore
packages/*/dist-es
packages/*/dist
36 changes: 0 additions & 36 deletions config/aliases.js

This file was deleted.

67 changes: 38 additions & 29 deletions config/rollup.bundles.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,89 +22,95 @@ bundles.add({
bundles.add({
moduleGlobal: 'Inferno',
moduleName: 'inferno',
moduleEntry: 'packages/inferno/src/index.js',
path: 'packages/inferno/'
moduleEntry: 'packages/inferno/dist-es/index.js',
path: 'packages/inferno/',
dest: 'packages/inferno/dist/'
});

bundles.add({
moduleGlobal: 'Inferno.Server',
moduleName: 'inferno-server',
moduleEntry: 'packages/inferno-server/src/index.js',
moduleEntry: 'packages/inferno-server/dist-es/index.js',
moduleGlobals: {
inferno: 'Inferno'
},
path: 'packages/inferno-server/'
path: 'packages/inferno-server/',
dest: 'packages/inferno-server/dist/'
});

bundles.add({
moduleGlobal: 'Inferno.Component',
moduleName: 'inferno-component',
moduleEntry: 'packages/inferno-component/src/index.js',
moduleEntry: 'packages/inferno-component/dist-es/index.js',
moduleGlobals: {
inferno: 'Inferno'
},
path: 'packages/inferno-component/'
path: 'packages/inferno-component',
dest: 'packages/inferno-component/dist/'
});

bundles.add({
moduleGlobal: 'Inferno.TestUtils',
moduleName: 'inferno-test-utils',
moduleEntry: 'packages/inferno-test-utils/src/index.js',
moduleEntry: 'packages/inferno-test-utils/dist-es/index.js',
moduleGlobals: {
inferno: 'Inferno'
},
path: 'packages/inferno-test-utils/'
path: 'packages/inferno-test-utils/',
dest: 'packages/inferno-test-utils/dist/'
});

bundles.add({
moduleGlobal: 'Inferno.createElement',
moduleName: 'inferno-create-element',
moduleEntry: 'packages/inferno-create-element/src/index.js',
moduleEntry: 'packages/inferno-create-element/dist-es/index.js',
moduleGlobals: {
inferno: 'Inferno'
},
path: 'packages/inferno-create-element/'
path: 'packages/inferno-create-element',
dest: 'packages/inferno-create-element/dist/'
});

bundles.add({
moduleGlobal: 'Inferno',
moduleName: 'inferno-compat',
moduleEntry: 'packages/inferno-compat/src/index.js',
moduleEntry: 'packages/inferno-compat/dist-es/index.js',
moduleGlobals: {
inferno: 'Inferno',
'inferno-component': 'Inferno.Component'
},
path: 'packages/inferno-compat/'
path: 'packages/inferno-compat/',
dest: 'packages/inferno-compat/dist/'
});

bundles.add({
moduleGlobal: 'Inferno.Router',
moduleName: 'inferno-router',
moduleEntry: 'packages/inferno-router/src/index.js',
moduleEntry: 'packages/inferno-router/dist-es/index.js',
moduleGlobals: {
inferno: 'Inferno',
'inferno-component': 'Inferno.Component',
'inferno-create-element': 'Inferno.createElement'
},
path: 'packages/inferno-router/'
path: 'packages/inferno-router/',
dest: 'packages/inferno-router/dist/'
});

bundles.add({
moduleGlobal: 'Inferno.createClass',
moduleName: 'inferno-create-class',
moduleEntry: 'packages/inferno-create-class/src/index.js',
moduleEntry: 'packages/inferno-create-class/dist-es/index.js',
moduleGlobals: {
inferno: 'Inferno',
'inferno-component': 'Inferno.Component',
'inferno-create-element': 'Inferno.createElement'
'inferno-component': 'Inferno.Component'
},
path: 'packages/inferno-create-class/'
path: 'packages/inferno-create-class',
dest: 'packages/inferno-create-class/dist/'
});

bundles.add({
moduleGlobal: 'Inferno.Redux',
moduleName: 'inferno-redux',
moduleEntry: 'packages/inferno-redux/src/index.js',
moduleEntry: 'packages/inferno-redux/dist-es/index.js',
moduleGlobals: {
inferno: 'Inferno',
'inferno-component': 'Inferno.Component',
Expand All @@ -113,13 +119,14 @@ bundles.add({
'path-to-regexp-es6': 'Inferno.pathToRegExp',
redux: 'Redux'
},
path: 'packages/inferno-redux/'
path: 'packages/inferno-redux/',
dest: 'packages/inferno-redux/dist/'
});

bundles.add({
moduleGlobal: 'Inferno.Mobx',
moduleName: 'inferno-mobx',
moduleEntry: 'packages/inferno-mobx/src/index.js',
moduleEntry: 'packages/inferno-mobx/dist-es/index.js',
moduleGlobals: {
inferno: 'Inferno',
'inferno-component': 'Inferno.Component',
Expand All @@ -128,29 +135,31 @@ bundles.add({
'path-to-regexp-es6': 'Inferno.pathToRegExp',
mobx: 'mobx'
},
path: 'packages/inferno-mobx/'
path: 'packages/inferno-mobx/',
dest: 'packages/inferno-mobx/dist/'
});

bundles.add({
moduleGlobal: 'Inferno.h',
moduleName: 'inferno-hyperscript',
moduleEntry: 'packages/inferno-hyperscript/src/index.js',
moduleEntry: 'packages/inferno-hyperscript/dist-es/index.js',
moduleGlobals: {
inferno: 'Inferno',
'inferno-create-element': 'Inferno.createElement'
inferno: 'Inferno'
},
path: 'packages/inferno-hyperscript/'
path: 'packages/inferno-hyperscript',
dest: 'packages/inferno-hyperscript/dist/'
});

bundles.add({
moduleGlobal: 'Inferno.DevTools',
moduleName: 'inferno-devtools',
moduleEntry: 'packages/inferno-devtools/src/index.js',
moduleEntry: 'packages/inferno-devtools/dist-es/index.js',
moduleGlobals: {
inferno: 'Inferno',
'inferno-component': 'Inferno.Component'
},
path: 'packages/inferno-devtools/'
path: 'packages/inferno-devtools/',
dest: 'packages/inferno-devtools/dist/'
});

module.exports = bundles;
5 changes: 2 additions & 3 deletions config/rollup.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ const pack = require('../package.json');
const commonjs = require('rollup-plugin-commonjs');
const { withNodeResolve, updatePackageVersion, outputFileSize } = require('./rollup.helpers');
const bundles = require('./rollup.bundles');
const { aliases } = require('./aliases');

const infernoPackage = JSON.parse(fs.readFileSync('./package.json'));
const dependencies = Object.keys(infernoPackage.peerDependencies || {});

const EXTERNAL_BLACKLISTS = new Map();
EXTERNAL_BLACKLISTS.set('inferno-helpers', true);
EXTERNAL_BLACKLISTS.set('inferno-vnode-flags', true);

const plugins = [
commonjs({
Expand Down Expand Up @@ -91,12 +91,11 @@ function createBundle({ moduleGlobal, moduleName, moduleEntry, moduleGlobals },
// HACK: For now don't treat certain inferno-* as external dep, package them together
// for backwards compat in dist files. Remove this after lerna transition is completed
const external = dependencies.concat(getDependenciesArray(pack)).filter(n => !EXTERNAL_BLACKLISTS.has(n));
const virtuals = Object.keys(aliases);

// Skip bundling dependencies of each package
const _plugins = withNodeResolve(plugins, {
jsnext: true,
skip: external.concat(virtuals)
skip: external
});
return rollup({ entry, plugins: _plugins, external }).then(({ write }) => write(bundleConfig)).catch(console.error);
}
Expand Down
8 changes: 3 additions & 5 deletions config/webpack.dev.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@ const webpack = require('webpack');
const glob = require('glob');
const path = require('path');

const testFiles = glob.sync('./src/**/*__tests__*/**/*.ts')
.concat(glob.sync('./src/**/*__tests__*/**/*.tsx'))
.concat(glob.sync('./src/**/*__tests__*/**/*.js'))
.concat(glob.sync('./src/**/*__tests__*/**/*.jsx'));
const testFiles = glob.sync('./packages/*/*__tests__*/**/*.js*');

module.exports = {
watch: true,
Expand Down Expand Up @@ -52,7 +49,8 @@ module.exports = {
}
},
resolve: {
extensions: [ '.js', '.jsx', '.ts', '.tsx' ]
extensions: [ '.js', '.jsx', '.ts', '.tsx' ],
mainFields: [ 'module', 'main' ],
},
plugins: [
// By default, webpack does `n=>n` compilation with entry files. This concatenates
Expand Down
35 changes: 15 additions & 20 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,6 @@
"src"
],
"homepage": "https://github.com/infernojs/inferno#readme",
"main": "packages/inferno/dist/inferno.js",
"jsnext:main": "packages/inferno/dist/inferno.es2015.js",
"keywords": [
"babel",
"react",
Expand All @@ -125,31 +123,29 @@
"lines": 85,
"statements": 85,
"functions": 85,
"branches": 80,
"branches": 75,
"sourceMap": false,
"include": [
"src/*.ts",
"src/**/*.ts"
"packages/*/dist-es/**/*.js"
],
"exclude": [
"packages",
"packages/inferno-vnode-flags",
"packages/inferno-compat/dist-es/index.js",
"packages/inferno-devtools",
"packages/**/*.ts",
"examples",
"benchmarks",
"src/inferno.d.ts",
"src/**/*__tests__*/**",
"src/devtools/**/*.ts",
"typings"
],
"extension": [
".ts"
".js"
],
"reporter": [
"lcov",
"html",
"text"
],
"require": [
"./test/mocha/compiler.js",
"babel-register"
]
},
Expand All @@ -163,30 +159,29 @@
"build:browser": "cross-env NODE_ENV=browser node config/rollup.config.js",
"build:dev": "cross-env NODE_ENV=development node config/rollup.config.js",
"build:prod": "cross-env NODE_ENV=production node config/rollup.config.js",
"build": "npm run clean && mkdirp build && npm run build:packages && tsc --outDir build --module es6 && npm run build:dev && npm run build:prod && npm run build:browser",
"clean": "rimraf coverage/ build/ packages/**/dist-es/ packages/inferno/dist packages/inferno-helpers/dist* packages/inferno-vnode-flags/dist*",
"build": "npm run clean && npm run build:packages && npm run build:dev && npm run build:prod && npm run build:browser",
"clean": "rimraf coverage/ packages/*/dist*/",
"karma:all": "npm run karma:firefox && npm run karma:chrome && npm run karma:ie",
"karma:chrome": "karma start test/karma/karma.unit.conf.js --browsers=Chrome",
"karma:firefox": "karma start test/karma/karma.unit.conf.js --browsers=Firefox",
"karma:ie": "karma start test/karma/karma.unit.conf.js --browsers=IE",
"lint:js": "eslint config examples src test packages/*/src",
"lint:ts": "tslint src/**/*.ts src/**/*.tsx test/**/*.ts packages/**/src/*.ts",
"lint:js": "eslint config examples src packages/*/__tests__",
"lint:ts": "tslint packages/*/src/*.ts",
"lint": "npm run lint:ts && npm run lint:js",
"packages:purge": "rimraf node_modules",
"packages:reinstall": "npm run packages:purge && npm install",
"postinstall": "lerna bootstrap && node scripts/link",
"prepublish": "npm run build",
"pretest:bench": "karma start test/karma/karma.bench.conf.js",
"pretest:bench": "karma start test/karma/karma.bench.conf.js --log-level debug",
"test:bench": "node test/karma/bench.js",
"test:browser": "karma start test/karma/karma.unit.conf.js",
"test:browser": "karma start test/karma/karma.unit.conf.js --log-level debug",
"test:publish": "coveralls < coverage/lcov.info && rimraf coverage",
"test:quick": "cross-env mocha",
"test:server": "cross-env nyc mocha",
"test": "npm run lint && npm run test:browser && npm run test:server"
"test": "npm run lint && npm run build && npm run test:browser && npm run test:server"
},
"pre-commit": [
"lint",
"test",
"build"
"test"
]
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { expect } from 'chai';
import createElement from 'inferno-create-element';
import isValidElement from '../isValidElement';
import isValidElement from '../dist-es/isValidElement';
import h from 'inferno-hyperscript';
import Component from 'inferno-component';
import Inferno, { cloneVNode } from 'inferno';
Expand Down
Loading

0 comments on commit 8abb17e

Please sign in to comment.