Skip to content

Commit 84c9bd7

Browse files
authored
point package.json at a lib without flowtypes to make integration easier (#28)
* point package.json at a lib without flowtypes to make integration easier * fix webpack config * fix tests for older node versions * this isn't a node library, just use node 7 to build
1 parent f8f8098 commit 84c9bd7

File tree

8 files changed

+63
-34
lines changed

8 files changed

+63
-34
lines changed

.babelrc

-4
This file was deleted.

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
npm-debug.log
33
node_modules
44
dist
5+
lib
56
coverage
6-

.travis.yml

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
language: node_js
22
node_js:
3-
- "6"
4-
- "5"
5-
- "4"
3+
- "7"
64
cache:
75
directories:
86
- node_modules

index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// @flow
22

3-
const docsSoap = require('./src/docsSoap');
4-
const parseHTML = require('./src/parseHTML');
3+
const docsSoap = require('./lib/docsSoap');
4+
const parseHTML = require('./lib/parseHTML');
55

66
module.exports = {
77
default: docsSoap,

package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@
2323
"test": "mocha --compilers js:babel-register test",
2424
"lint": "eslint --ext '.js' ./src",
2525
"flow": "flow",
26+
"build-lib": "babel src --out-dir lib --plugins=transform-flow-strip-types",
2627
"build-dev": "webpack --config webpack.config.dev.js",
2728
"build-prod": "webpack --config webpack.config.prod.js",
28-
"build": "npm-run-all build-dev build-prod"
29+
"build": "npm-run-all build-lib build-dev build-prod"
2930
},
3031
"devDependencies": {
3132
"babel-cli": "^6.9.0",
@@ -46,7 +47,7 @@
4647
"jsdom": "^9.2.1",
4748
"mocha": "^2.4.5",
4849
"mocha-jsdom": "^1.1.0",
49-
"npm-run-all": "^4.0.1",
50+
"npm-run-all": "^4.0.2",
5051
"webpack": "^2.2.1"
5152
}
5253
}

test/docsSoapSpec.js

+43-11
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
const elements = require('../src/constants').elements;
2-
const { docsSoap, parseHTML } = require('../index');
2+
const lib = require('../index');
33
const documents = require('./fixtures/documents');
44
const expect = require('expect');
55
const jsdom = require('mocha-jsdom');
66

7+
const { parseHTML, docsSoap } = lib;
8+
79
describe('Google Docs Converter', () => {
810
jsdom();
911

@@ -69,8 +71,12 @@ describe('Google Docs Converter', () => {
6971
expect(doc.childNodes[0].childNodes[1].childNodes.length).toBe(2);
7072
expect(doc.childNodes[0].childNodes[1].childNodes[0].nodeName).toBe('LI');
7173
expect(doc.childNodes[0].childNodes[1].childNodes[1].nodeName).toBe('OL');
72-
expect(doc.childNodes[0].childNodes[1].childNodes[1].childNodes.length).toBe(1);
73-
expect(doc.childNodes[0].childNodes[1].childNodes[1].childNodes[0].nodeName).toBe('LI');
74+
expect(
75+
doc.childNodes[0].childNodes[1].childNodes[1].childNodes.length
76+
).toBe(1);
77+
expect(
78+
doc.childNodes[0].childNodes[1].childNodes[1].childNodes[0].nodeName
79+
).toBe('LI');
7480
expect(doc.childNodes[0].childNodes[2].nodeName).toBe('LI');
7581
expect(doc.childNodes[0].childNodes[2].childNodes.length).toBe(1);
7682
expect(doc.childNodes[0].childNodes[3].nodeName).toBe('OL');
@@ -82,18 +88,44 @@ describe('Google Docs Converter', () => {
8288
expect(doc.childNodes[1].childNodes[2].nodeName).toBe('UL');
8389
expect(doc.childNodes[1].childNodes[2].childNodes[0].nodeName).toBe('LI');
8490
expect(doc.childNodes[1].childNodes[2].childNodes[1].nodeName).toBe('UL');
85-
expect(doc.childNodes[1].childNodes[2].childNodes[1].childNodes[0].nodeName).toBe('LI');
86-
expect(doc.childNodes[1].childNodes[2].childNodes[1].childNodes[0].childNodes.length).toBe(1);
91+
expect(
92+
doc.childNodes[1].childNodes[2].childNodes[1].childNodes[0].nodeName
93+
).toBe('LI');
94+
expect(
95+
doc.childNodes[1].childNodes[2].childNodes[1].childNodes[0].childNodes
96+
.length
97+
).toBe(1);
8798
});
8899

89100
it('converts deep nested styles from gdocs properly', () => {
90101
const doc = parseHTML(docsSoap(documents.nestedList));
91-
expect(doc.childNodes[0].childNodes[0].querySelectorAll(elements.BOLD).length).toBe(3);
92-
expect(doc.childNodes[0].childNodes[0].querySelectorAll(elements.UNDERLINE).length).toBe(3);
93-
expect(doc.childNodes[0].childNodes[1].childNodes[1].childNodes[0].querySelectorAll(elements.ITALIC).length).toBe(1);
94-
expect(doc.childNodes[0].childNodes[1].childNodes[1].childNodes[0].querySelector(elements.ITALIC).textContent).toBe('italics');
95-
expect(doc.childNodes[0].childNodes[1].childNodes[1].childNodes[0].querySelectorAll(elements.UNDERLINE).length).toBe(1);
96-
expect(doc.childNodes[0].childNodes[1].childNodes[1].childNodes[0].querySelector(elements.UNDERLINE).textContent).toBe('underline');
102+
expect(
103+
doc.childNodes[0].childNodes[0].querySelectorAll(elements.BOLD).length
104+
).toBe(3);
105+
expect(
106+
doc.childNodes[0].childNodes[0].querySelectorAll(elements.UNDERLINE)
107+
.length
108+
).toBe(3);
109+
expect(
110+
doc.childNodes[0].childNodes[1].childNodes[1].childNodes[0].querySelectorAll(
111+
elements.ITALIC
112+
).length
113+
).toBe(1);
114+
expect(
115+
doc.childNodes[0].childNodes[1].childNodes[1].childNodes[0].querySelector(
116+
elements.ITALIC
117+
).textContent
118+
).toBe('italics');
119+
expect(
120+
doc.childNodes[0].childNodes[1].childNodes[1].childNodes[0].querySelectorAll(
121+
elements.UNDERLINE
122+
).length
123+
).toBe(1);
124+
expect(
125+
doc.childNodes[0].childNodes[1].childNodes[1].childNodes[0].querySelector(
126+
elements.UNDERLINE
127+
).textContent
128+
).toBe('underline');
97129
});
98130

99131
it('converts header types properly', () => {

webpack.config.js

+10-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,16 @@ module.exports = {
1010
},
1111
module: {
1212
rules: [
13-
{ test: /\.(js)$/, exclude: resolve(__dirname, 'node_modules'), use: ['babel-loader'] },
13+
{
14+
test: /\.(js)$/,
15+
exclude: resolve(__dirname, 'node_modules'),
16+
use: {
17+
loader: 'babel-loader',
18+
options: {
19+
presets: 'es2015'
20+
}
21+
}
22+
}
1423
]
1524
}
1625
};

yarn.lock

+3-10
Original file line numberDiff line numberDiff line change
@@ -3176,9 +3176,9 @@ normalize-path@^2.0.1:
31763176
version "2.0.1"
31773177
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a"
31783178

3179-
npm-run-all@^4.0.1:
3180-
version "4.0.1"
3181-
resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.0.1.tgz#f10144d20b57ed9bbf6c36a8de9502e0b80f2b4e"
3179+
npm-run-all@^4.0.2:
3180+
version "4.0.2"
3181+
resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.0.2.tgz#a84669348e6db6ccbe052200b4cdb6bfe034a4fe"
31823182
dependencies:
31833183
chalk "^1.1.3"
31843184
cross-spawn "^5.0.1"
@@ -4378,13 +4378,6 @@ vinyl-fs@^2.2.0:
43784378
vali-date "^1.0.0"
43794379
vinyl "^1.0.0"
43804380

4381-
vinyl-source-stream@^1.1.0:
4382-
version "1.1.0"
4383-
resolved "https://registry.yarnpkg.com/vinyl-source-stream/-/vinyl-source-stream-1.1.0.tgz#44cbe5108205279deb0c5653c094a2887938b1ab"
4384-
dependencies:
4385-
through2 "^0.6.1"
4386-
vinyl "^0.4.3"
4387-
43884381
vinyl@^0.4.3:
43894382
version "0.4.6"
43904383
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847"

0 commit comments

Comments
 (0)