Skip to content

Commit

Permalink
Merge 4d9271b into b6426a1
Browse files Browse the repository at this point in the history
  • Loading branch information
harttle committed Feb 11, 2020
2 parents b6426a1 + 4d9271b commit 9b81e28
Show file tree
Hide file tree
Showing 53 changed files with 3,457 additions and 1,509 deletions.
3 changes: 2 additions & 1 deletion .eslintignore
Expand Up @@ -3,4 +3,5 @@ dist
coverage
test/e2e.spec.js
ssr.php
ssr.js
ssr.js
src/types
1 change: 1 addition & 0 deletions .eslintrc.json
Expand Up @@ -19,6 +19,7 @@
"no-var": 2,
"prefer-const": 2,
"no-labels": "off",
"no-useless-constructor": "off",
"@typescript-eslint/indent": "off",
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/no-explicit-any": "off",
Expand Down
7 changes: 2 additions & 5 deletions bin/auto-complete
Expand Up @@ -9,11 +9,8 @@
# 3. Input `./bin/test.ts` and press <Tab>

compdef _test debug
compdef _test scat
compdef _test render.ts
compdef _test compile-to-js.ts
compdef _test compile-to-php.ts
compdef _test render.php
compdef _test render-by-source.js
compdef _test render-onthefly.js

function _test {
local line
Expand Down
13 changes: 7 additions & 6 deletions bin/debug
@@ -1,11 +1,12 @@
#!/usr/bin/env node

require('source-map-support/register')
const { execCommandSync, assertSanHTMLEqual } = require('../dist/index')
const chalk = require('chalk')
const { readFileSync, readdirSync } = require('fs')
const { resolve } = require('path')
const { compile } = require('../dist/target-js/utils/case')
const root = resolve(__dirname, '../test/cases')
const { compile } = require('../dist/fixtures/case')

const caseName = process.argv[2]
if (!caseName) {
Expand All @@ -19,25 +20,25 @@ if (!caseName) {

const htmlPath = resolve(root, caseName, 'expected.html')
const expected = readFileSync(htmlPath, 'utf8')
console.log(chalk.cyan(`[EXPECTED] ${caseName}`), expected)
console.log(chalk.cyan(`[EXPECT] ${caseName}`), expected)

let got1
try {
compile(caseName)
got1 = execCommandSync(resolve(__dirname, `./render-by-source.js`), [caseName])
assertSanHTMLEqual(got1, expected)
console.log(chalk.green(`[ SOURCE ] ${caseName}`), got1)
console.log(chalk.green(`[SOURCE] ${caseName}`), got1)
} catch (err) {
console.log(chalk.red(`[ SOURCE ] ${caseName}`), got1)
console.log(chalk.red(`[SOURCE] ${caseName}`), got1)
console.error(err)
}

let got2
try {
got2 = execCommandSync(resolve(__dirname, `./render-onthefly.js`), [caseName])
assertSanHTMLEqual(got2, expected)
console.log(chalk.green(`[ RENDER ] ${caseName}`), got2)
console.log(chalk.green(`[RENDER] ${caseName}`), got2)
} catch (err) {
console.log(chalk.red(`[ RENDER ] ${caseName}`), got2)
console.log(chalk.red(`[RENDER] ${caseName}`), got2)
console.error(err)
}
22 changes: 4 additions & 18 deletions bin/render-by-source.js
@@ -1,23 +1,9 @@
#!/usr/bin/env node

const { existsSync, readFileSync } = require('fs')
const { resolve, join } = require('path')
require('source-map-support/register')
const { renderBySource } = require('../dist/fixtures/case')

const caseName = process.argv[2]
const caseRoot = resolve(__dirname, '../test/cases')
const caseDir = resolve(caseRoot, caseName)
const jsSSRPath = join(caseDir, 'ssr.js')
const html = renderBySource(caseName)

const data = getData(caseDir)
const noDataOutput = /-ndo$/.test(caseDir)
const jsRendered = require(jsSSRPath)(data, noDataOutput)
process.stdout.write(jsRendered)

function getData (caseDir) {
const dataJSPath = join(caseDir, 'data.js')
if (existsSync(dataJSPath)) {
return require(dataJSPath)
}
const dataPath = join(caseDir, 'data.json')
return JSON.parse(readFileSync(dataPath, 'utf8'))
}
process.stdout.write(html)
29 changes: 3 additions & 26 deletions bin/render-onthefly.js
@@ -1,31 +1,8 @@
#!/usr/bin/env node

const { existsSync, readFileSync } = require('fs')
const { resolve, join } = require('path')

require('source-map-support/register')
const { renderOnthefly } = require('../dist/fixtures/case')
const caseName = process.argv[2]
const caseRoot = resolve(__dirname, '../test/cases')
const caseDir = resolve(caseRoot, caseName)

const render = getRender()
const data = getData()
const noDataOutput = /-ndo$/.test(caseName)

const html = render(data, noDataOutput)
const html = renderOnthefly(caseName)
process.stdout.write(html)

function getData () {
const dataJSPath = join(caseDir, 'data.js')
if (existsSync(dataJSPath)) {
return require(dataJSPath)
}
const dataPath = join(caseDir, 'data.json')
return JSON.parse(readFileSync(dataPath, 'utf8'))
}

function getRender () {
const ComponentClass = require(join(caseDir, 'component.js'))
return require('../dist/index.js').compileToRenderer(ComponentClass, {
noTemplateOutput: caseDir.indexOf('notpl') > -1
})
}
33 changes: 0 additions & 33 deletions bin/scat

This file was deleted.

5 changes: 4 additions & 1 deletion jest.config.js
Expand Up @@ -4,8 +4,11 @@ module.exports = {
],
testMatch: [
'<rootDir>/test/unit/**/*.ts',
'<rootDir>/test/integration.spec.js'
'<rootDir>/test/integration.spec.ts'
],
transform: {
'^.+\\.ts$': 'babel-jest'
},
globals: {
tsConfig: {
skipLibCheck: true,
Expand Down

0 comments on commit 9b81e28

Please sign in to comment.