浏览代码

feat(core): export version (#254)

Dmitry Sharshakov 6 年之前
父节点
当前提交
fd209f5a66
共有 5 个文件被更改,包括 14 次插入0 次删除
  1. 3 0
      jest.config.js
  2. 1 0
      packages/global.d.ts
  3. 6 0
      packages/runtime-core/__tests__/version.spec.ts
  4. 2 0
      packages/runtime-core/src/index.ts
  5. 2 0
      rollup.config.js

+ 3 - 0
jest.config.js

@@ -1,7 +1,10 @@
+const lernaJson = require('./lerna.json')
+
 module.exports = {
   preset: 'ts-jest',
   globals: {
     __DEV__: true,
+    __VERSION__: lernaJson.version,
     __BROWSER__: false,
     __JSDOM__: true,
     __RUNTIME_COMPILE__: true,

+ 1 - 0
packages/global.d.ts

@@ -4,6 +4,7 @@ declare var __JSDOM__: boolean
 declare var __BROWSER__: boolean
 declare var __RUNTIME_COMPILE__: boolean
 declare var __COMMIT__: string
+declare var __VERSION__: string
 
 // Feature flags
 declare var __FEATURE_OPTIONS__: boolean

+ 6 - 0
packages/runtime-core/__tests__/version.spec.ts

@@ -0,0 +1,6 @@
+import { version } from '../src'
+import lernaJson from '../../../lerna.json'
+
+test('version', () => {
+  expect(version).toBe(lernaJson.version)
+})

+ 2 - 0
packages/runtime-core/src/index.ts

@@ -84,3 +84,5 @@ export {
   DirectiveArguments
 } from './directives'
 export { SuspenseBoundary } from './suspense'
+
+export const version = __VERSION__

+ 2 - 0
rollup.config.js

@@ -4,6 +4,7 @@ import ts from 'rollup-plugin-typescript2'
 import replace from 'rollup-plugin-replace'
 import alias from 'rollup-plugin-alias'
 import json from 'rollup-plugin-json'
+import lernaJson from './lerna.json'
 
 if (!process.env.TARGET) {
   throw new Error('TARGET package must be specified via --environment flag.')
@@ -143,6 +144,7 @@ function createReplacePlugin(
 ) {
   return replace({
     __COMMIT__: `"${process.env.COMMIT}"`,
+    __VERSION__: `"${lernaJson.version}"`,
     __DEV__: isBundlerESMBuild
       ? // preserve to be handled by bundlers
         `process.env.NODE_ENV !== 'production'`