diff --git a/README.md b/README.md index cff047d4..99fbb049 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,17 @@ base-templates ============== -Base-templates & utilties for the [OpenComponents](https://github.com/opentable/oc) template system +Base-templates & utilities for the [OpenComponents](https://github.com/opentable/oc) template system [![travis](https://travis-ci.org/opencomponents/base-templates.svg?branch=master)](https://travis-ci.org/opencomponents/base-templates) [![codecov](https://codecov.io/gh/opencomponents/base-templates/branch/master/graph/badge.svg)](https://codecov.io/gh/opencomponents/base-templates) +The new template system has been moved to [vite-templates](https://github.com/opencomponents/vite-templates). ## Templates | Type | Version | |--------|-------| -| [`oc-template-es6`](/packages/oc-template-es6) | [![npm version](https://badge.fury.io/js/oc-template-es6.svg)](http://badge.fury.io/js/oc-template-es6) | | [`oc-template-handlebars`](/packages/oc-template-handlebars) | [![npm version](https://badge.fury.io/js/oc-template-handlebars.svg)](http://badge.fury.io/js/oc-template-handlebars) | | [`oc-template-jade`](/packages/oc-template-jade) | [![npm version](https://badge.fury.io/js/oc-template-jade.svg)](http://badge.fury.io/js/oc-template-jade) | diff --git a/packages/oc-template-es6-compiler/LICENSE b/packages/oc-template-es6-compiler/LICENSE deleted file mode 100644 index e34ae422..00000000 --- a/packages/oc-template-es6-compiler/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 OpenComponents community - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/packages/oc-template-es6-compiler/README.md b/packages/oc-template-es6-compiler/README.md deleted file mode 100644 index d578382e..00000000 --- a/packages/oc-template-es6-compiler/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# oc-template-es6-compiler - Compiler module - -OC template to compile components of type `oc-template-es6` diff --git a/packages/oc-template-es6-compiler/index.d.ts b/packages/oc-template-es6-compiler/index.d.ts deleted file mode 100644 index 7e76cda2..00000000 --- a/packages/oc-template-es6-compiler/index.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -type Es6Template = typeof import('oc-template-es6'); -type GenericCompiler = typeof import('oc-generic-template-compiler'); - -declare const compiler: { - compile: ReturnType; - getInfo: Es6Template['getInfo']; - getCompiledTemplate: Es6Template['getCompiledTemplate']; - render: Es6Template['render']; -}; - -export = compiler; diff --git a/packages/oc-template-es6-compiler/index.js b/packages/oc-template-es6-compiler/index.js deleted file mode 100644 index 24be5358..00000000 --- a/packages/oc-template-es6-compiler/index.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict'; - -const compile = require('./lib/compile'); -const template = require('oc-template-es6'); - -module.exports = { - compile, - getInfo: template.getInfo, - getCompiledTemplate: template.getCompiledTemplate, - render: template.render -}; diff --git a/packages/oc-template-es6-compiler/lib/compile.js b/packages/oc-template-es6-compiler/lib/compile.js deleted file mode 100644 index 7163cafb..00000000 --- a/packages/oc-template-es6-compiler/lib/compile.js +++ /dev/null @@ -1,34 +0,0 @@ -'use strict'; - -const compileStatics = require('oc-statics-compiler'); -const createCompile = require('oc-generic-template-compiler').createCompile; -const getInfo = require('oc-template-es6').getInfo; -const { viteView, viteServer } = require('oc-vite-compiler'); -const htmlTemplate = require('./viewTemplate'); - -const compiler = createCompile({ - compileView: (options, cb) => - viteView( - { - ...options, - htmlTemplate, - }, - cb - ), - compileServer: viteServer, - compileStatics, - getInfo -}); - - -// OPTIONS -// ======= -// componentPath -// componentPackage, -// logger, -// minify -// ocPackage -// publishPath -// verbose, -// watch, -module.exports = compiler; diff --git a/packages/oc-template-es6-compiler/lib/viewTemplate.js b/packages/oc-template-es6-compiler/lib/viewTemplate.js deleted file mode 100644 index a0336bb1..00000000 --- a/packages/oc-template-es6-compiler/lib/viewTemplate.js +++ /dev/null @@ -1,24 +0,0 @@ -const viewTemplate = ({ css, bundle }) => `function(model){ - const fn = ${bundle}; - return '' + - fn(model) + - '${ - css - ? '' + - '' - : '' - }' - -}`; - -module.exports = viewTemplate; diff --git a/packages/oc-template-es6-compiler/package.json b/packages/oc-template-es6-compiler/package.json deleted file mode 100644 index 3e7e9815..00000000 --- a/packages/oc-template-es6-compiler/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "oc-template-es6-compiler", - "version": "3.2.2", - "description": "OC-Template-ES6-Compiler", - "main": "index.js", - "types": "index.d.ts", - "repository": { - "type": "git", - "url": "https://github.com/opencomponents/base-templates.git" - }, - "bugs": { - "url": "https://github.com/opencomponents/base-templates/issues" - }, - "homepage": "https://github.com/opencomponents/base-templates#readme", - "keywords": [ - "oc", - "opencomponents" - ], - "author": { - "name": "Nick Balestra", - "email": "nick@balestra.ch" - }, - "license": "MIT", - "devDependencies": { - "fs-extra": "^10.0.0" - }, - "dependencies": { - "oc-generic-template-compiler": "2.1.1", - "oc-statics-compiler": "2.1.1", - "oc-template-es6": "1.0.7", - "oc-vite-compiler": "2.1.0" - }, - "files": [ - "index.js", - "index.d.ts", - "lib", - "scaffold", - "LICENSE", - "README.md" - ] -} \ No newline at end of file diff --git a/packages/oc-template-es6-compiler/scaffold/src/css/styles.css b/packages/oc-template-es6-compiler/scaffold/src/css/styles.css deleted file mode 100644 index 65d154b8..00000000 --- a/packages/oc-template-es6-compiler/scaffold/src/css/styles.css +++ /dev/null @@ -1,3 +0,0 @@ -.awesome { - background: palevioletred; -} diff --git a/packages/oc-template-es6-compiler/scaffold/src/img/logo.png b/packages/oc-template-es6-compiler/scaffold/src/img/logo.png deleted file mode 100644 index 87dcc1e8..00000000 Binary files a/packages/oc-template-es6-compiler/scaffold/src/img/logo.png and /dev/null differ diff --git a/packages/oc-template-es6-compiler/scaffold/src/package.json b/packages/oc-template-es6-compiler/scaffold/src/package.json deleted file mode 100644 index 36639944..00000000 --- a/packages/oc-template-es6-compiler/scaffold/src/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "base-component-es6", - "description": "", - "version": "1.0.0", - "oc": { - "files": { - "data": "server.js", - "static": [ - "img", - "css" - ], - "template": { - "src": "view.js", - "type": "oc-template-es6" - } - }, - "parameters": { - "name": { - "default": "Jane Doe", - "description": "Your name", - "example": "Jane Doe", - "mandatory": false, - "type": "string" - } - } - }, - "devDependencies": { - "oc-template-es6-compiler": "*" - } -} diff --git a/packages/oc-template-es6-compiler/scaffold/src/server.js b/packages/oc-template-es6-compiler/scaffold/src/server.js deleted file mode 100644 index 970f8a9e..00000000 --- a/packages/oc-template-es6-compiler/scaffold/src/server.js +++ /dev/null @@ -1,9 +0,0 @@ -export const data = (context, callback) => { - const { name } = context.params; - const { staticPath } = context; - - callback(null, { - name, - staticPath - }); -}; diff --git a/packages/oc-template-es6-compiler/scaffold/src/view.js b/packages/oc-template-es6-compiler/scaffold/src/view.js deleted file mode 100644 index 476539e2..00000000 --- a/packages/oc-template-es6-compiler/scaffold/src/view.js +++ /dev/null @@ -1,7 +0,0 @@ -import styles from './css/styles.css'; - -export default ({ name, staticPath }) => - `
- Hello ${name}! - -
`; diff --git a/packages/oc-template-es6-compiler/test/API.test.js b/packages/oc-template-es6-compiler/test/API.test.js deleted file mode 100644 index dd461cc5..00000000 --- a/packages/oc-template-es6-compiler/test/API.test.js +++ /dev/null @@ -1,5 +0,0 @@ -const compiler = require('../index'); - -test('should expose the correct methods', () => { - expect(compiler).toMatchSnapshot(); -}); diff --git a/packages/oc-template-es6-compiler/test/__snapshots__/API.test.js.snap b/packages/oc-template-es6-compiler/test/__snapshots__/API.test.js.snap deleted file mode 100644 index 6b1eff83..00000000 --- a/packages/oc-template-es6-compiler/test/__snapshots__/API.test.js.snap +++ /dev/null @@ -1,10 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should expose the correct methods 1`] = ` -Object { - "compile": [Function], - "getCompiledTemplate": [Function], - "getInfo": [Function], - "render": [Function], -} -`; diff --git a/packages/oc-template-es6-compiler/test/__snapshots__/compile.test.js.snap b/packages/oc-template-es6-compiler/test/__snapshots__/compile.test.js.snap deleted file mode 100644 index 33703f35..00000000 --- a/packages/oc-template-es6-compiler/test/__snapshots__/compile.test.js.snap +++ /dev/null @@ -1,44 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Should correctly compile the oc component 1`] = ` -Object { - "dependencies": Object { - "lodash": "", - }, - "description": "", - "devDependencies": Object { - "oc-template-es6-compiler": "", - }, - "name": "es6-component", - "oc": Object { - "date": "", - "files": Object { - "dataProvider": Object { - "hashKey": "dummyData", - "src": "server.js", - "type": "node.js", - }, - "static": Array [], - "template": Object { - "hashKey": "dummyData", - "src": "template.js", - "type": "oc-template-es6", - "version": "", - }, - }, - "packaged": true, - "version": "1.0.0", - }, - "repository": "", - "version": "1.0.0", -} -`; - -exports[`Should correctly compile the oc component 2`] = ` -Array [ - "../../../mocks/es6-component/__package/package.json", - "../../../mocks/es6-component/__package/server.js", - "../../../mocks/es6-component/__package/styles.css", - "../../../mocks/es6-component/__package/template.js", -] -`; diff --git a/packages/oc-template-es6-compiler/test/__snapshots__/compileView.test.js.snap b/packages/oc-template-es6-compiler/test/__snapshots__/compileView.test.js.snap deleted file mode 100644 index dcfbe25b..00000000 --- a/packages/oc-template-es6-compiler/test/__snapshots__/compileView.test.js.snap +++ /dev/null @@ -1,13 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`valid component 1`] = ` -Object { - "template": Object { - "hashKey": "dummyData", - "src": "template.js", - "type": "oc-template-es6", - }, -} -`; - -exports[`valid component 2`] = `"var oc=oc||{};oc.components=oc.components||{};oc.components['dummyData']=function(model){ (()=>{var e={d:(o,t)=>{for(var r in t)e.o(t,r)&&!e.o(o,r)&&Object.defineProperty(o,r,{enumerable:!0,get:t[r]})},o:(e,o)=>Object.prototype.hasOwnProperty.call(e,o),r:e=>{\\"undefined\\"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\"Module\\"}),Object.defineProperty(e,\\"__esModule\\",{value:!0})}},o={};(()=>{\\"use strict\\";e.r(o),e.d(o,{default:()=>r});const t=\\"styles_awesome__HASH\\",r=({name:e})=>\`
Hello \${e.toUpperCase()}!
\`})(),module=o})();; return '' + module.default(model) + '' }"`; diff --git a/packages/oc-template-es6-compiler/test/compile.test.js b/packages/oc-template-es6-compiler/test/compile.test.js deleted file mode 100644 index 699f6421..00000000 --- a/packages/oc-template-es6-compiler/test/compile.test.js +++ /dev/null @@ -1,42 +0,0 @@ -jest.setTimeout(100000); - -const path = require('path'); -const compile = require('../lib/compile.js'); -const fs = require('fs-extra'); -const nodeDir = require('node-dir'); - -const componentPackage = require('../../../mocks/es6-component/package.json'); -const componentPath = path.join(__dirname, '../../../mocks/es6-component/'); -const getInfo = require('../index.js').getInfo; -const publishPath = path.join(componentPath, '__package'); - -test('Should correctly compile the oc component', done => { - const options = { - componentPackage, - ocPackage: { - version: '1.0.0' - }, - componentPath, - publishPath, - production: true - }; - fs.ensureDirSync(publishPath); - compile(options, (err, res) => { - expect(err).toBeNull(); - const version = res.oc.files.template.version; - res.oc.files.template.version = ''; - res.oc.date = ''; - res.oc.files.dataProvider.hashKey = 'dummyData'; - res.oc.files.template.hashKey = 'dummyData'; - expect(res).toMatchSnapshot(); - expect(version).toBe(getInfo().version); - nodeDir.paths(publishPath, (err, res) => { - const files = res.files - .map(filePath => path.relative(__dirname, filePath).replace(/\\/g, '/')) - .sort(); - expect(files).toMatchSnapshot(); - fs.emptyDirSync(publishPath); - done(); - }); - }); -}); diff --git a/packages/oc-template-es6-compiler/test/compileView.test.js b/packages/oc-template-es6-compiler/test/compileView.test.js deleted file mode 100644 index 9690da73..00000000 --- a/packages/oc-template-es6-compiler/test/compileView.test.js +++ /dev/null @@ -1,56 +0,0 @@ -jest.setTimeout(50000); - -const path = require('path'); -const fs = require('fs-extra'); -const compileView = require('../lib/compileView.js'); - -test('valid component', done => { - const componentPath = path.join(__dirname, '../../../mocks/es6-component'); - const publishPath = path.join(componentPath, '_packageCompileViewTest'); - const publishFileName = 'template.js'; - - const options = { - componentPackage: fs.readJsonSync(`${componentPath}/package.json`), - componentPath, - publishPath, - publishFileName, - production: true - }; - - compileView(options, (err, compiledViewInfo) => { - const viewHashKey = compiledViewInfo.template.hashKey; - compiledViewInfo.template.hashKey = 'dummyData'; - expect(compiledViewInfo).toMatchSnapshot(); - expect( - fs - .readFileSync(path.join(publishPath, publishFileName), 'UTF8') - .replace(viewHashKey, 'dummyData') - .replace(/awesome__\w+/g, 'awesome__HASH') - ).toMatchSnapshot(); - fs.removeSync(publishPath); - done(); - }); -}); - -test('invalid component', done => { - const componentPath = path.join(__dirname, '../../../mocks/es6-component'); - const publishPath = path.join(componentPath, '_packageCompileViewTest2'); - const publishFileName = 'template.js'; - const componentPackage = fs.readJsonSync(`${componentPath}/package.json`); - componentPackage.oc.files.template.src = 'broken.js'; - - const options = { - componentPackage, - componentPath, - publishPath, - publishFileName, - production: true - }; - - compileView(options, (err, compiledViewInfo) => { - expect(err).toContain( - "Support for the experimental syntax 'jsx' isn't currently enabled (2:3)" - ); - done(); - }); -}); diff --git a/packages/oc-template-es6-compiler/test/createExcludeRegex.test.js b/packages/oc-template-es6-compiler/test/createExcludeRegex.test.js deleted file mode 100644 index 76e4c543..00000000 --- a/packages/oc-template-es6-compiler/test/createExcludeRegex.test.js +++ /dev/null @@ -1,17 +0,0 @@ -const createExcludeRegex = require('../lib/to-abstract-base-template-utils/oc-webpack/lib/configurator/createExcludeRegex'); - -test('should create a regex that match against any node module set aside given ones', () => { - const regex = createExcludeRegex([ - 'oc-template-react-compiler/utils', - 'underscore' - ]); - expect(regex).toBeInstanceOf(RegExp); - - expect(regex.test('node_modules/lodash')).toBe(true); - expect(regex.test('node_modules/oc-template-react-compiler')).toBe(true); - - expect(regex.test('node_modules/oc-template-react-compiler/utils')).toBe( - false - ); - expect(regex.test('node_modules/underscore')).toBe(false); -}); diff --git a/packages/oc-template-es6/LICENSE b/packages/oc-template-es6/LICENSE deleted file mode 100644 index e34ae422..00000000 --- a/packages/oc-template-es6/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 OpenComponents community - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/packages/oc-template-es6/README.md b/packages/oc-template-es6/README.md deleted file mode 100644 index 42c91c88..00000000 --- a/packages/oc-template-es6/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# oc-template-es6 - Renderer module - -OC template to handle components of type `oc-template-es6` diff --git a/packages/oc-template-es6/index.d.ts b/packages/oc-template-es6/index.d.ts deleted file mode 100644 index ce25426b..00000000 --- a/packages/oc-template-es6/index.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -type GenericRenderer = typeof import('oc-generic-template-renderer'); - -declare const renderer: { - getCompiledTemplate: GenericRenderer['getCompiledTemplate']; - getInfo: () => ReturnType; - render: GenericRenderer['render']; -}; - -export = renderer; diff --git a/packages/oc-template-es6/index.js b/packages/oc-template-es6/index.js deleted file mode 100644 index 77b4d999..00000000 --- a/packages/oc-template-es6/index.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict'; - -const generic = require('oc-generic-template-renderer'); -const packageJson = require('./package.json'); - -module.exports = { - getCompiledTemplate: generic.getCompiledTemplate, - getInfo() { - return generic.getInfo(packageJson); - }, - render: generic.render -}; diff --git a/packages/oc-template-es6/package.json b/packages/oc-template-es6/package.json deleted file mode 100644 index d47ceaa4..00000000 --- a/packages/oc-template-es6/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "oc-template-es6", - "version": "1.0.7", - "description": "OC template based on ES6 template literals", - "main": "index.js", - "types": "index.d.ts", - "repository": { - "type": "git", - "url": "https://github.com/opencomponents/base-templates.git" - }, - "bugs": { - "url": "https://github.com/opencomponents/base-templates/issues" - }, - "homepage": "https://github.com/opencomponents/base-templates#readme", - "keywords": [ - "oc", - "opencomponents" - ], - "author": { - "name": "Nick Balestra", - "email": "nick@balestra.ch" - }, - "license": "MIT", - "dependencies": { - "oc-generic-template-renderer": "2.0.9" - }, - "files": [ - "index.js", - "index.d.ts" - ] -} diff --git a/packages/oc-template-es6/test/API.test.js b/packages/oc-template-es6/test/API.test.js deleted file mode 100644 index cfe1c138..00000000 --- a/packages/oc-template-es6/test/API.test.js +++ /dev/null @@ -1,5 +0,0 @@ -const template = require('../index.js'); - -test('should expose the correct methods', () => { - expect(template).toMatchSnapshot(); -}); diff --git a/packages/oc-template-es6/test/__snapshots__/API.test.js.snap b/packages/oc-template-es6/test/__snapshots__/API.test.js.snap deleted file mode 100644 index b902a9de..00000000 --- a/packages/oc-template-es6/test/__snapshots__/API.test.js.snap +++ /dev/null @@ -1,9 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should expose the correct methods 1`] = ` -Object { - "getCompiledTemplate": [Function], - "getInfo": [Function], - "render": [Function], -} -`; diff --git a/packages/oc-template-es6/test/__snapshots__/getCompiledTemplate.test.js.snap b/packages/oc-template-es6/test/__snapshots__/getCompiledTemplate.test.js.snap deleted file mode 100644 index 4d7899b3..00000000 --- a/packages/oc-template-es6/test/__snapshots__/getCompiledTemplate.test.js.snap +++ /dev/null @@ -1,5 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Return compiled template when valid 1`] = `[Function]`; - -exports[`Throw exception when not valid 1`] = `"Unexpected token ')'"`; diff --git a/packages/oc-template-es6/test/__snapshots__/getInfo.test.js.snap b/packages/oc-template-es6/test/__snapshots__/getInfo.test.js.snap deleted file mode 100644 index 432570d7..00000000 --- a/packages/oc-template-es6/test/__snapshots__/getInfo.test.js.snap +++ /dev/null @@ -1,8 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`should return the correct info 1`] = ` -Object { - "externals": Array [], - "type": "oc-template-es6", -} -`; diff --git a/packages/oc-template-es6/test/getCompiledTemplate.test.js b/packages/oc-template-es6/test/getCompiledTemplate.test.js deleted file mode 100644 index e1314d1f..00000000 --- a/packages/oc-template-es6/test/getCompiledTemplate.test.js +++ /dev/null @@ -1,29 +0,0 @@ -const fs = require('fs'); -const getCompiledTemplate = require('../').getCompiledTemplate; - -test('Return compiled template when valid', () => { - const template = - 'var oc=oc||{};oc.components=oc.components||{},oc.components.c6fcae4d23d07fd9a7e100508caf8119e998d7a9=({name})=>`Hello ${name.toUpperCase()}!`;'; - const key = 'c6fcae4d23d07fd9a7e100508caf8119e998d7a9'; - - const compiled = getCompiledTemplate(template, key); - expect(compiled).toMatchSnapshot(); -}); - -test('Throw exception when not valid', () => { - const template = - 'var oc=oc||{};oc.components=oc.components||{},oc.components["28144f0dfecc345da2ee82c2614e61d1bd8543a9"]=something);'; - const key = '28144f0dfecc345da2ee82c2614e61d1bd8543a9'; - - expect(() => - getCompiledTemplate(template, key) - ).toThrowErrorMatchingSnapshot(); -}); - -test('Return undefined when key when valid', () => { - const template = - 'var oc=oc||{};oc.components=oc.components||{},oc.components["28144f0dfecc345da2ee82c2614e61d1bd8543a9"]=({name})=>`Hello ${name.toUpperCase()}!`;'; - const key = 'another key'; - - expect(getCompiledTemplate(template, key)).toBeUndefined(); -}); diff --git a/packages/oc-template-es6/test/getInfo.test.js b/packages/oc-template-es6/test/getInfo.test.js deleted file mode 100644 index 360bb8b0..00000000 --- a/packages/oc-template-es6/test/getInfo.test.js +++ /dev/null @@ -1,10 +0,0 @@ -const { getInfo } = require('../index.js'); -const semverValidator = - /\bv?(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[\da-z-]+(?:\.[\da-z-]+)*)?(?:\+[\da-z-]+(?:\.[\da-z-]+)*)?\b/gi; - -test('should return the correct info', () => { - const info = getInfo(); - expect(semverValidator.test(info.version)).toBe(true); - delete info.version; - expect(info).toMatchSnapshot(); -}); diff --git a/packages/oc-template-es6/test/render.test.js b/packages/oc-template-es6/test/render.test.js deleted file mode 100644 index 8f40a26b..00000000 --- a/packages/oc-template-es6/test/render.test.js +++ /dev/null @@ -1,31 +0,0 @@ -const { render } = require('../index.js'); - -describe('render method', () => { - describe('when invoked with a valid template', () => { - const model = { templateName: 'oc-template-es6', place: 'multiverse' }; - const template = ({ templateName, place }) => - `${templateName.toUpperCase()} - The simplest oc template in the whole ${place}!`; - const callback = jest.fn(); - - render({ model, template }, callback); - test('should correctly invoke the callback', () => { - expect(callback).toBeCalledWith( - null, - 'OC-TEMPLATE-ES6 - The simplest oc template in the whole multiverse!' - ); - }); - }); - - describe('when invoked with a broken view-model that throws an exception', () => { - const model = {}; - const template = props => { - throw new Error('blargh'); - }; - const callback = jest.fn(); - - render({ model, template }, callback); - test('should correctly invoke the callback', () => { - expect(callback).toBeCalledWith(new Error('blargh')); - }); - }); -}); diff --git a/packages/oc-vite-compiler/LICENSE b/packages/oc-vite-compiler/LICENSE deleted file mode 100644 index e34ae422..00000000 --- a/packages/oc-vite-compiler/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2018 OpenComponents community - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/packages/oc-vite-compiler/README.md b/packages/oc-vite-compiler/README.md deleted file mode 100644 index 0bd6b965..00000000 --- a/packages/oc-vite-compiler/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# oc-vite-compiler - -OC module to compile view and server with vite diff --git a/packages/oc-vite-compiler/index.js b/packages/oc-vite-compiler/index.js deleted file mode 100644 index b0b144f9..00000000 --- a/packages/oc-vite-compiler/index.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -const viteView = require('./lib/viteView'); -const viteServer = require('./lib/viteServer'); - -module.exports = { - viteView, - viteServer -}; diff --git a/packages/oc-vite-compiler/lib/cssModulesPlugin.js b/packages/oc-vite-compiler/lib/cssModulesPlugin.js deleted file mode 100644 index 85f86140..00000000 --- a/packages/oc-vite-compiler/lib/cssModulesPlugin.js +++ /dev/null @@ -1,81 +0,0 @@ -const { transformSync } = require('@babel/core'); - -const cssLangs = `\\.(css|less|sass|scss|styl|stylus|pcss|postcss)($|\\?)`; -const importRE = - /import\s+([\S]+)\s+from\s+('|")([\S]+)\.(css|less|sass|scss|styl|stylus|postcss)(\?[\S]*)?('|")/; -const jsRE = /\.(js|mjs|ts|jsx|tsx)/; -const cssLangRE = new RegExp(cssLangs); -const cssModuleRE = new RegExp(`\\.module${cssLangs}`); - -function autoCSSModulePlugin() { - return () => { - return { - visitor: { - ImportDeclaration: (path) => { - const { node } = path; - if (!node) { - return; - } - // 如果不是module css的那么就通过 转化为 module.styl来模块化css - if ( - node.specifiers && - node.specifiers.length > 0 && - cssLangRE.test(node.source.value) && - !cssModuleRE.test(node.source.value) - ) { - const cssFile = node.source.value; - const extension = cssFile.split('.').pop() ?? 'css'; - node.source.value = - cssFile + (cssFile.indexOf('?') > -1 ? '&' : '?') + `.module.${extension}`; - } - } - } - }; - }; -} - -function transform(code, { sourceMap, file }) { - const parsePlugins = ['jsx']; - if (/\.tsx?$/.test(file)) { - parsePlugins.push('typescript'); - } - - const result = transformSync(code, { - configFile: false, - parserOpts: { - sourceType: 'module', - allowAwaitOutsideFunction: true, - plugins: parsePlugins - }, - sourceMaps: true, - sourceFileName: file, - inputSourceMap: sourceMap, - plugins: [autoCSSModulePlugin()] - }); - - return { - code: result.code, - map: result.map - }; -} - -function viteTransformCSSModulesPlugin() { - const name = 'vite-plugin-transform-css-modules'; - return { - name, - transform(code, id) { - if (jsRE.test(id) && importRE.test(code)) { - const result = transform(code, { - file: id, - sourceMap: this.getCombinedSourcemap() - }); - if (result) { - return result; - } - } - return undefined; - } - }; -} - -module.exports = viteTransformCSSModulesPlugin; diff --git a/packages/oc-vite-compiler/lib/serverWrapper.js b/packages/oc-vite-compiler/lib/serverWrapper.js deleted file mode 100644 index 018407a9..00000000 --- a/packages/oc-vite-compiler/lib/serverWrapper.js +++ /dev/null @@ -1,37 +0,0 @@ -const removeExtension = path => path.replace(/\.(j|t)sx?$/, ''); - -const higherOrderServerTemplate = ({ - serverPath, - componentName, - componentVersion, - bundleHashKey -}) => { - return ` -import { data as dataProvider } from '${removeExtension(serverPath)}'; - -export const data = (context : any, callback : (error: any, data?: any) => void) => { - dataProvider(context, (error: any, model: any) => { - if (error) { - return callback(error); - } - const props = Object.assign({}, model, { - _staticPath: context.staticPath, - _baseUrl: context.baseUrl, - _componentName: "${componentName}", - _componentVersion: "${componentVersion}" - }); - const srcPathHasProtocol = context.staticPath.indexOf("http") === 0; - const srcPath = srcPathHasProtocol ? context.staticPath : ("https:" + context.staticPath); - return callback(null, Object.assign({}, { - component: { - key: "${bundleHashKey}", - src: srcPath + "template.js", - props - } - })); - }); -} -`; -}; - -module.exports = higherOrderServerTemplate; diff --git a/packages/oc-vite-compiler/lib/viteServer.js b/packages/oc-vite-compiler/lib/viteServer.js deleted file mode 100644 index a4988e82..00000000 --- a/packages/oc-vite-compiler/lib/viteServer.js +++ /dev/null @@ -1,98 +0,0 @@ -const path = require('path'); -const { callbackify } = require('util'); -const vite = require('oc-vite'); -const fs = require('fs-extra'); -const coreModules = require('builtin-modules'); -const hashBuilder = require('oc-hash-builder'); -const serverWrapper = require('./serverWrapper'); - -const nodeModuleMatcher = /^[a-z@][a-z\-/0-9.]+$/i; -const moduleWithPathMatcher = /^(?!@).*\//g; - -async function compileServer(options) { - const componentPath = options.componentPath; - const serverFileName = options.componentPackage.oc.files.data; - let serverPath = path.join(options.componentPath, serverFileName); - if (process.platform === 'win32') { - serverPath = serverPath.split('\\').join('\\\\'); - } - const publishFileName = options.publishFileName || 'server.js'; - const publishPath = options.publishPath; - const dependencies = options.componentPackage.dependencies || {}; - const componentName = options.componentPackage.name; - const componentVersion = options.componentPackage.version; - const production = !!options.production; - - const wrapperFn = options.serverWrapper || serverWrapper; - const higherOrderServerContent = wrapperFn({ - bundleHashKey: options.compiledViewInfo.bundle.hashKey, - serverPath, - componentName, - componentVersion - }); - const tempFolder = path.join(publishPath, 'temp'); - const higherOrderServerPath = path.join( - tempFolder, - '__oc_higherOrderServer.ts' - ); - const externals = [...Object.keys(dependencies), ...coreModules]; - - try { - await fs.outputFile(higherOrderServerPath, higherOrderServerContent); - - const plugins = options?.plugins ?? []; - const pluginsNames = plugins.map(x => x?.name).filter(Boolean); - const baseConfig = await vite - .loadConfigFromFile(process.cwd()) - .catch(() => null); - const basePlugins = - baseConfig?.config?.plugins?.filter( - p => !pluginsNames.includes(p?.name) - ) ?? []; - - const result = await vite.build({ - appType: 'custom', - root: componentPath, - mode: production ? 'production' : 'development', - plugins: [...plugins, ...basePlugins], - logLevel: options.verbose ? 'info' : 'silent', - build: { - lib: { entry: higherOrderServerPath, formats: ['cjs'] }, - write: false, - minify: production, - rollupOptions: { - external: id => { - if (nodeModuleMatcher.test(id)) { - if (moduleWithPathMatcher.test(id)) { - id = id.split('/')[0]; - } - - if (!externals.includes(id)) { - throw new Error( - `Missing dependencies from package.json => ${id}` - ); - } - return true; - } - return false; - } - } - } - }); - const out = Array.isArray(result) ? result[0] : result; - const bundle = out.output[0].code; - - await fs.ensureDir(publishPath); - await fs.writeFile(path.join(publishPath, publishFileName), bundle); - - return { - type: 'node.js', - hashKey: hashBuilder.fromString(bundle), - src: publishFileName - }; - } finally { - await fs.remove(tempFolder); - } -} - -module.exports = callbackify(compileServer); diff --git a/packages/oc-vite-compiler/lib/viteView.js b/packages/oc-vite-compiler/lib/viteView.js deleted file mode 100644 index e5e75014..00000000 --- a/packages/oc-vite-compiler/lib/viteView.js +++ /dev/null @@ -1,175 +0,0 @@ -const { callbackify } = require('util'); -const path = require('path'); -const fs = require('fs-extra'); -const vite = require('oc-vite'); -const EnvironmentPlugin = require('vite-plugin-environment').default; -const hashBuilder = require('oc-hash-builder'); -const ocViewWrapper = require('oc-view-wrapper'); -const cssModules = require('./cssModulesPlugin'); - -const clientName = 'clientBundle'; -const removeExtension = path => path.replace(/\.(t|j)sx?$/, ''); - -const partition = (array, predicate) => { - const matches = []; - const rest = []; - for (const element of array) { - if (predicate(element)) { - matches.push(element); - } else { - rest.push(element); - } - } - return [matches, rest]; -}; - -async function compileView(options) { - function processRelativePath(relativePath) { - let pathStr = path.join(options.componentPath, relativePath); - if (process.platform === 'win32') { - return pathStr.split('\\').join('\\\\'); - } - return pathStr; - } - - const staticFiles = options.componentPackage.oc.files.static; - let staticFolder = Array.isArray(staticFiles) ? staticFiles[0] : staticFiles; - staticFolder = staticFolder?.replace(/^\//, '').replace(/\/$/, ''); - const viewFileName = options.componentPackage.oc.files.template.src; - const componentPath = options.componentPath; - const viewPath = processRelativePath(viewFileName); - - const publishPath = options.publishPath; - const tempPath = path.join(publishPath, 'temp'); - const publishFileName = options.publishFileName || 'template.js'; - const componentPackage = options.componentPackage; - const externals = options.externals || []; - const production = !!options.production; - const viewExtension = viewFileName.match(/\.\w{1,5}$/)?.[0] ?? '.js'; - - const viewWrapperFn = - options.viewWrapper || - (({ viewPath }) => - `export { default } from "${removeExtension(viewPath)}";`); - const viewWrapperContent = viewWrapperFn({ viewPath }); - const viewWrapperName = `_viewWrapperEntry${viewExtension}`; - const viewWrapperPath = path.join(tempPath, viewWrapperName); - - await fs.outputFile(viewWrapperPath, viewWrapperContent); - - const globals = externals.reduce((externals, dep) => { - externals[dep.name] = dep.global; - return externals; - }, {}); - - const plugins = options?.plugins ?? []; - const pluginsNames = plugins.map(x => x?.name).filter(Boolean); - const baseConfig = await vite - .loadConfigFromFile(process.cwd()) - .catch(() => null); - const basePlugins = - baseConfig?.config?.plugins?.filter(p => !pluginsNames.includes(p?.name)) ?? - []; - - const result = await vite.build({ - appType: 'custom', - root: componentPath, - mode: production ? 'production' : 'development', - plugins: [ - ...plugins, - EnvironmentPlugin(['NODE_ENV']), - cssModules(), - ...basePlugins - ], - logLevel: 'silent', - build: { - sourcemap: production ? false : 'inline', - lib: { entry: viewWrapperPath, formats: ['iife'], name: clientName }, - write: false, - minify: production, - rollupOptions: { - external: Object.keys(globals), - output: { - globals - } - } - }, - experimental: { - renderBuiltUrl(filename, { hostType }) { - if (hostType === 'js') { - return { - runtime: `__toOcStaticPathUrl(${JSON.stringify(filename)})` - }; - } else { - return { relative: true }; - } - } - } - }); - const out = Array.isArray(result) ? result[0] : result; - const bundle = out.output.find(x => - x.facadeModuleId.endsWith(viewWrapperName) - ).code; - const [cssAssets, otherAssets] = partition( - out.output.filter(x => x.type === 'asset'), - x => x.fileName.endsWith('.css') - ); - const cssStyles = cssAssets - .map(x => x.source.replace(/\r?\n|\t/g, '') ?? '') - .join(' ') - .replace(/'/g, '"'); - const bundleHash = hashBuilder.fromString(bundle); - const wrappedBundle = `(function() { - ${bundle} - return ${clientName}; - })()`; - - const shortTemplateType = options.componentPackage.oc.files.template.type - .replace('oc-template-', '') - .replace(/-/, ''); - const templateId = `oc-${shortTemplateType}Root-${componentPackage.name}`; - const templateString = options.htmlTemplate({ - templateId, - css: cssStyles, - externals, - bundle: wrappedBundle, - hash: bundleHash - }); - const wrappedTemplateString = `function(model) { - var __toOcStaticPathUrl = function(args) { - return model.component.props._staticPath + '${staticFolder}/' + args; - } - var innerFn = ${templateString}; - return innerFn(model); - } - `; - const hash = hashBuilder.fromString(wrappedTemplateString); - const view = ocViewWrapper(hash, wrappedTemplateString); - - await fs.unlink(viewWrapperPath); - await fs.mkdir(publishPath, { recursive: true }); - await fs.writeFile(path.join(publishPath, publishFileName), view); - if (staticFolder) { - for (const asset of otherAssets) { - // asset.fileName could have paths like assets/file.js - // so we need to create those extra directories - await fs.ensureFile(path.join(publishPath, staticFolder, asset.fileName)); - await fs.writeFile( - path.join(publishPath, staticFolder, asset.fileName), - asset.source, - 'utf-8' - ); - } - } - - return { - template: { - type: options.componentPackage.oc.files.template.type, - hashKey: hash, - src: publishFileName - }, - bundle: { hashKey: bundleHash } - }; -} - -module.exports = callbackify(compileView); diff --git a/packages/oc-vite-compiler/package.json b/packages/oc-vite-compiler/package.json deleted file mode 100644 index 29783494..00000000 --- a/packages/oc-vite-compiler/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "oc-vite-compiler", - "version": "2.1.3", - "description": "OC-Vite-Compiler", - "main": "index.js", - "repository": { - "type": "git", - "url": "https://github.com/opencomponents/base-templates.git" - }, - "bugs": { - "url": "https://github.com/opencomponents/base-templates/issues" - }, - "homepage": "https://github.com/opencomponents/base-templates#readme", - "keywords": [ - "oc", - "opencomponents" - ], - "author": { - "name": "Ricardo Devis Agullo", - "email": "mkredz@gmail.com" - }, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.18.9", - "builtin-modules": "^3.3.0", - "fs-extra": "^10.1.0", - "oc-hash-builder": "^1.0.5", - "oc-view-wrapper": "^1.0.6", - "oc-vite": "4.4.3", - "vite": "^4.4.3", - "vite-plugin-environment": "^1.1.3" - }, - "files": [ - "lib/**/*", - "index.js", - "LICENSE", - "README.md" - ] -} \ No newline at end of file diff --git a/packages/oc-vite/.gitignore b/packages/oc-vite/.gitignore deleted file mode 100644 index ff70be77..00000000 --- a/packages/oc-vite/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -bin/ -dist/ -node_modules/ -types/ -vite/ -pnpm-lock.yaml -index.cjs -client.d.ts \ No newline at end of file diff --git a/packages/oc-vite/README.md b/packages/oc-vite/README.md deleted file mode 100644 index b636b839..00000000 --- a/packages/oc-vite/README.md +++ /dev/null @@ -1,5 +0,0 @@ -This is a modification of [Vite](https://github.com/vitejs/vite/) that allows for having external assets when importing (without inlining) when on library mode. - -By default, `build.assetsInlineLimit` is ignored when `build.lib` is enabled, which makes sense for actual libraries. But in the case of [oc](https://github.com/opencomponents/oc), we want to keep it as externals, so then they can be served dynamically at runtime using [renderBuiltUrl](https://vitejs.dev/guide/build.html#advanced-base-options). - -This repository is not even forking the library, and will, at publish time, just download the repo, modify the line responsible of allowing this, and then just build and publish. \ No newline at end of file diff --git a/packages/oc-vite/package.json b/packages/oc-vite/package.json deleted file mode 100644 index 60c5f021..00000000 --- a/packages/oc-vite/package.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "name": "oc-vite", - "version": "5.0.0", - "type": "module", - "license": "MIT", - "author": "Evan You", - "description": "Modification of vite that allows to have external assets on library mode", - "bin": { - "vite": "bin/vite.js" - }, - "keywords": [ - "frontend", - "framework", - "hmr", - "dev-server", - "build-tool", - "vite" - ], - "main": "./dist/node/index.js", - "types": "./dist/node/index.d.ts", - "exports": { - ".": { - "types": "./dist/node/index.d.ts", - "import": "./dist/node/index.js", - "require": "./index.cjs" - }, - "./client": { - "types": "./client.d.ts" - }, - "./dist/client/*": "./dist/client/*", - "./package.json": "./package.json" - }, - "files": [ - "bin", - "dist", - "client.d.ts", - "index.cjs", - "types" - ], - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/vitejs/vite.git", - "directory": "packages/vite" - }, - "scripts": { - "prepare": "node prepare.mjs" - }, - "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.31", - "rollup": "^4.2.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "less": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "terser": { - "optional": true - } - } -} diff --git a/packages/oc-vite/prepare.mjs b/packages/oc-vite/prepare.mjs deleted file mode 100644 index 4194b812..00000000 --- a/packages/oc-vite/prepare.mjs +++ /dev/null @@ -1,128 +0,0 @@ -import { promisify } from 'node:util'; -import child_process from 'node:child_process'; -import fs from 'fs'; -import equal from 'deep-equal'; - -const exec = promisify(child_process.exec); -const readJSON = filePath => JSON.parse(fs.readFileSync(filePath, 'utf-8')); - -const pkgJson = readJSON('./package.json', 'utf-8'); -const rmDir = path => { - try { - fs.rmSync(path, { recursive: true }); - } catch { - // Empty - } -}; - -/** - * Check before publishing that the fields of package.json are equal to the ones - * in the vite package - * @param {*} pkgJson - * @param {*} vitePkgJson - */ -function checkPackages(pkgJson, vitePkgJson) { - const fields = [ - 'dependencies', - 'optionalDependencies', - 'peerDependencies', - 'peerDependenciesMeta', - 'engines', - 'license', - 'author', - 'keywords' - ]; - const differences = []; - - for (const field of fields) { - const pkg = pkgJson[field]; - const vitePkg = vitePkgJson[field]; - - if (!equal(pkg, vitePkg)) { - differences.push({ field, differences: { pkg, vitePkg } }); - } - } - - if (differences.length) { - throw new Error(JSON.stringify(differences)); - } -} - -/** - * Remove condition of always inlining assets on build mode - * @param {string} file - */ -function fixBuild(path) { - const file = fs.readFileSync(path, 'utf-8'); - - const buildCondition = 'config.build.lib ||'; - - if (file.match(buildCondition).length !== 1) { - throw new Error( - 'Source code does not match expectations for automatic replacement of condition' - ); - } - - const fixedBuild = file.replace(buildCondition, ''); - - fs.writeFileSync(path, fixedBuild, 'utf-8'); -} - -/** - * Amplify rollup to add 10 more kbs to the limit - * @param {string} file - */ -function fixRollup(path) { - const file = fs.readFileSync(path, 'utf-8'); - - const buildCondition = /bundleSizeLimit\((\d+)\)/; - - if (!file.match(buildCondition)) { - throw new Error( - 'Source code does not match expectations for automatic replacement of rollup limit' - ); - } - - const fixedBuild = file.replace(buildCondition, (match, limit) => - match.replace(limit, Number(limit) + 10) - ); - - fs.writeFileSync(path, fixedBuild, 'utf-8'); -} - -async function main() { - rmDir('./bin'); - rmDir('./dist'); - rmDir('./types'); - rmDir('./vite'); - - console.log('Cloning repository'); - await exec('git clone https://github.com/vitejs/vite.git'); - await exec(`git checkout v${pkgJson.version}`, { cwd: './vite' }); - rmDir('./vite/.git'); - - const vitePkgJson = await readJSON('./vite/packages/vite/package.json'); - - console.log('Checking package jsons'); - checkPackages(pkgJson, vitePkgJson); - - console.log('Installing'); - await exec('pnpm install', { cwd: './vite/packages/vite' }); - - console.log('Building'); - fixBuild('./vite/packages/vite/src/node/plugins/asset.ts'); - fixRollup('./vite/packages/vite/rollup.config.ts'); - await exec('pnpm build', { cwd: './vite/packages/vite' }); - - console.log('Moving folders'); - fs.renameSync('./vite/packages/vite/dist', './dist'); - fs.renameSync('./vite/packages/vite/bin', './bin'); - fs.renameSync('./vite/packages/vite/types', './types'); - fs.renameSync('./vite/packages/vite/index.cjs', './index.cjs'); - fs.renameSync('./vite/packages/vite/client.d.ts', './client.d.ts'); -} - -main().catch(err => { - console.error(err); - process.exit(1); -});