@sitecore-jss/sitecore-jss-react-native 21.0.0-canary.74 → 21.0.0-canary.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _reactNative=require("react-native");var _react=_interopRequireDefault(require("react"));var _propTypes=_interopRequireDefault(require("prop-types"));var _reactTestRenderer=_interopRequireDefault(require("react-test-renderer"));var _Placeholder=require("./Placeholder");var _SitecoreContext=require("./SitecoreContext");var _devData=require("../../testData/dev-data");var _LSDataEEOff=require("../../testData/LS-data-EE-off");var _jsxFileName="/home/vsts/work/1/s/packages/sitecore-jss-react-native/src/components/Placeholder.test.tsx";var _excluded=["rendering"];var componentFactory=function componentFactory(componentName){var components=new Map();var Home=function Home(_ref){var rendering=_ref.rendering,otherProps=(0,_objectWithoutProperties2["default"])(_ref,_excluded);return _react["default"].createElement(_reactNative.View,{testID:"home-mock",__source:{fileName:_jsxFileName,lineNumber:17,columnNumber:5}},_react["default"].createElement(_Placeholder.Placeholder,{name:"page-header",rendering:rendering,__source:{fileName:_jsxFileName,lineNumber:18,columnNumber:7}}),_react["default"].createElement(_Placeholder.Placeholder,(0,_extends2["default"])({name:"page-content",rendering:rendering},otherProps,{__source:{fileName:_jsxFileName,lineNumber:19,columnNumber:7}})));};Home.propTypes={placeholders:_propTypes["default"].object,rendering:_propTypes["default"].any};components.set('Home',Home);var DownloadCallout=function DownloadCallout(props){return _react["default"].createElement(_reactNative.View,{testID:"download-callout-mock",__source:{fileName:_jsxFileName,lineNumber:38,columnNumber:5}},props.fields.message?props.fields.message.value:null);};DownloadCallout.propTypes={fields:_propTypes["default"].any};components.set('DownloadCallout',DownloadCallout);components.set('Jumbotron',function(){return _react["default"].createElement(_reactNative.View,{testID:"jumbotron-mock",__source:{fileName:_jsxFileName,lineNumber:47,columnNumber:37}});});return components.get(componentName);};describe('<Placeholder />',function(){var testData=[{label:'Dev data',data:_devData.devData},{label:'LayoutService data - EE off',data:_LSDataEEOff.lsDataEeOff}];testData.forEach(function(dataSet){describe("with ".concat(dataSet.label),function(){test('should render a placeholder with given key',function(){var phData=dataSet.data.sitecore.route.placeholders.main;var component=phData.find(function(c){return c.componentName;});var phKey='page-content';var renderedComponent=_reactTestRenderer["default"].create(_react["default"].createElement(_Placeholder.Placeholder,{name:phKey,rendering:component,componentFactory:componentFactory,__source:{fileName:_jsxFileName,lineNumber:69,columnNumber:13}})).toJSON();expect(renderedComponent).toMatchSnapshot();});test('should render nested placeholders and props correctly',function(){var component=dataSet.data.sitecore.route;var phKey='main';var renderedComponent=_reactTestRenderer["default"].create(_react["default"].createElement(_SitecoreContext.SitecoreContext,{componentFactory:componentFactory,__source:{fileName:_jsxFileName,lineNumber:83,columnNumber:13}},_react["default"].createElement(_Placeholder.Placeholder,{name:phKey,rendering:component,__source:{fileName:_jsxFileName,lineNumber:84,columnNumber:15}}))).toJSON();expect(renderedComponent).toMatchSnapshot();});});});it('should render missing component for unresolved/unknown components',function(){var errorSpy=jest.spyOn(console,'error');errorSpy.mockImplementation(function(){});var Home=function Home(){return _react["default"].createElement(_reactNative.View,{testID:"home-mock",__source:{fileName:_jsxFileName,lineNumber:99,columnNumber:24}});};var factory=function factory(componentName){return componentName==='Home'?Home:null;};var route={placeholders:{main:[{componentName:'Home'},{componentName:'whatisthis'}]}};var phKey='main';var renderedComponent=_reactTestRenderer["default"].create(_react["default"].createElement(_Placeholder.Placeholder,{name:phKey,rendering:route,componentFactory:factory,__source:{fileName:_jsxFileName,lineNumber:117,columnNumber:15}})).toJSON();expect(renderedComponent).toMatchSnapshot();errorSpy.mockRestore();});it('should render null for unknown placeholder',function(){var warnSpy=jest.spyOn(console,'warn');warnSpy.mockImplementation(function(){});var route={name:'',placeholders:{main:[{componentName:'Home'}]}};var phKey='unknown';var renderedComponent=_reactTestRenderer["default"].create(_react["default"].createElement(_Placeholder.Placeholder,{name:phKey,rendering:route,componentFactory:componentFactory,__source:{fileName:_jsxFileName,lineNumber:142,columnNumber:15}})).toJSON();expect(renderedComponent).toMatchSnapshot();expect(warnSpy).toHaveBeenCalledTimes(1);warnSpy.mockRestore();});});
1
+ "use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _reactNative=require("react-native");var _react=_interopRequireDefault(require("react"));var _propTypes=_interopRequireDefault(require("prop-types"));var _reactTestRenderer=_interopRequireDefault(require("react-test-renderer"));var _Placeholder=require("./Placeholder");var _SitecoreContext=require("./SitecoreContext");var _devData=require("../../test-data/dev-data");var _LSDataEEOff=require("../../test-data/LS-data-EE-off");var _jsxFileName="/home/vsts/work/1/s/packages/sitecore-jss-react-native/src/components/Placeholder.test.tsx";var _excluded=["rendering"];var componentFactory=function componentFactory(componentName){var components=new Map();var Home=function Home(_ref){var rendering=_ref.rendering,otherProps=(0,_objectWithoutProperties2["default"])(_ref,_excluded);return _react["default"].createElement(_reactNative.View,{testID:"home-mock",__source:{fileName:_jsxFileName,lineNumber:17,columnNumber:5}},_react["default"].createElement(_Placeholder.Placeholder,{name:"page-header",rendering:rendering,__source:{fileName:_jsxFileName,lineNumber:18,columnNumber:7}}),_react["default"].createElement(_Placeholder.Placeholder,(0,_extends2["default"])({name:"page-content",rendering:rendering},otherProps,{__source:{fileName:_jsxFileName,lineNumber:19,columnNumber:7}})));};Home.propTypes={placeholders:_propTypes["default"].object,rendering:_propTypes["default"].any};components.set('Home',Home);var DownloadCallout=function DownloadCallout(props){return _react["default"].createElement(_reactNative.View,{testID:"download-callout-mock",__source:{fileName:_jsxFileName,lineNumber:38,columnNumber:5}},props.fields.message?props.fields.message.value:null);};DownloadCallout.propTypes={fields:_propTypes["default"].any};components.set('DownloadCallout',DownloadCallout);components.set('Jumbotron',function(){return _react["default"].createElement(_reactNative.View,{testID:"jumbotron-mock",__source:{fileName:_jsxFileName,lineNumber:47,columnNumber:37}});});return components.get(componentName);};describe('<Placeholder />',function(){var testData=[{label:'Dev data',data:_devData.devData},{label:'LayoutService data - EE off',data:_LSDataEEOff.lsDataEeOff}];testData.forEach(function(dataSet){describe("with ".concat(dataSet.label),function(){test('should render a placeholder with given key',function(){var phData=dataSet.data.sitecore.route.placeholders.main;var component=phData.find(function(c){return c.componentName;});var phKey='page-content';var renderedComponent=_reactTestRenderer["default"].create(_react["default"].createElement(_Placeholder.Placeholder,{name:phKey,rendering:component,componentFactory:componentFactory,__source:{fileName:_jsxFileName,lineNumber:70,columnNumber:13}})).toJSON();expect(renderedComponent).toMatchSnapshot();});test('should render nested placeholders and props correctly',function(){var component=dataSet.data.sitecore.route;var phKey='main';var renderedComponent=_reactTestRenderer["default"].create(_react["default"].createElement(_SitecoreContext.SitecoreContext,{componentFactory:componentFactory,__source:{fileName:_jsxFileName,lineNumber:88,columnNumber:13}},_react["default"].createElement(_Placeholder.Placeholder,{name:phKey,rendering:component,__source:{fileName:_jsxFileName,lineNumber:89,columnNumber:15}}))).toJSON();expect(renderedComponent).toMatchSnapshot();});});});it('should render missing component for unresolved/unknown components',function(){var errorSpy=jest.spyOn(console,'error');errorSpy.mockImplementation(function(){});var Home=function Home(){return _react["default"].createElement(_reactNative.View,{testID:"home-mock",__source:{fileName:_jsxFileName,lineNumber:104,columnNumber:24}});};var factory=function factory(componentName){return componentName==='Home'?Home:null;};var route={placeholders:{main:[{componentName:'Home'},{componentName:'whatisthis'}]}};var phKey='main';var renderedComponent=_reactTestRenderer["default"].create(_react["default"].createElement(_Placeholder.Placeholder,{name:phKey,rendering:route,componentFactory:factory,__source:{fileName:_jsxFileName,lineNumber:124,columnNumber:9}})).toJSON();expect(renderedComponent).toMatchSnapshot();errorSpy.mockRestore();});it('should render null for unknown placeholder',function(){var warnSpy=jest.spyOn(console,'warn');warnSpy.mockImplementation(function(){});var route={name:'',placeholders:{main:[{componentName:'Home'}]}};var phKey='unknown';var renderedComponent=_reactTestRenderer["default"].create(_react["default"].createElement(_Placeholder.Placeholder,{name:phKey,rendering:route,componentFactory:componentFactory,__source:{fileName:_jsxFileName,lineNumber:154,columnNumber:15}})).toJSON();expect(renderedComponent).toMatchSnapshot();expect(warnSpy).toHaveBeenCalledTimes(1);warnSpy.mockRestore();});});
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@sitecore-jss/sitecore-jss-react-native",
3
- "version": "21.0.0-canary.74",
3
+ "version": "21.0.0-canary.77",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
7
- "build": "npm run clean && npm run typecheck && babel src --out-dir dist --extensions \".ts,.tsx\" --ignore \"*.test.ts,*.test.js,testData,tests,__snapshots__\"",
7
+ "build": "npm run clean && npm run typecheck && babel src --out-dir dist --extensions \".ts,.tsx\" --ignore \"*.test.ts,*.test.js,test-data,tests,__snapshots__\"",
8
8
  "clean": "del-cli dist types",
9
9
  "typecheck": "tsc",
10
10
  "fixcrlf": "eslint --rule 'linebreak-style: [\"error\", \"unix\"]' --ext .ts --no-eslintrc --fix ./dist",
@@ -28,7 +28,7 @@
28
28
  "url": "https://github.com/sitecore/jss/issues"
29
29
  },
30
30
  "dependencies": {
31
- "@sitecore-jss/sitecore-jss": "^21.0.0-canary.74",
31
+ "@sitecore-jss/sitecore-jss": "^21.0.0-canary.77",
32
32
  "prop-types": "^15.7.2",
33
33
  "react-native-htmlview": "^0.15.0",
34
34
  "react-native-svg": "^5.3.0",
@@ -69,5 +69,8 @@
69
69
  "babel-core": "6.26.3"
70
70
  },
71
71
  "types": "./types/index.d.ts",
72
- "gitHead": "4314312dfc64047575ce2b049725a5c0d3e9db77"
72
+ "gitHead": "7b3f8297f471396e45896ea854b3c375972cc9e6",
73
+ "files": [
74
+ "dist"
75
+ ]
73
76
  }
package/babel.config.js DELETED
@@ -1,11 +0,0 @@
1
- module.exports = {
2
- presets: [
3
- 'module:metro-react-native-babel-preset',
4
- '@babel/preset-env',
5
- '@babel/preset-typescript',
6
- ],
7
- plugins: [
8
- '@babel/plugin-proposal-export-default-from',
9
- '@babel/plugin-proposal-class-properties',
10
- ],
11
- };
@@ -1,14 +0,0 @@
1
- {"total": {"lines":{"total":252,"covered":179,"skipped":0,"pct":71.03},"statements":{"total":286,"covered":201,"skipped":0,"pct":70.28},"functions":{"total":45,"covered":23,"skipped":0,"pct":51.11},"branches":{"total":169,"covered":98,"skipped":0,"pct":57.99}}
2
- ,"/home/vsts/work/1/s/packages/sitecore-jss-react-native/src/index.ts": {"lines":{"total":17,"covered":0,"skipped":0,"pct":0},"functions":{"total":15,"covered":0,"skipped":0,"pct":0},"statements":{"total":25,"covered":0,"skipped":0,"pct":0},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
3
- ,"/home/vsts/work/1/s/packages/sitecore-jss-react-native/src/components/Date.tsx": {"lines":{"total":20,"covered":19,"skipped":0,"pct":95},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":21,"covered":20,"skipped":0,"pct":95.24},"branches":{"total":15,"covered":12,"skipped":0,"pct":80}}
4
- ,"/home/vsts/work/1/s/packages/sitecore-jss-react-native/src/components/Image.tsx": {"lines":{"total":46,"covered":40,"skipped":0,"pct":86.96},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":54,"covered":47,"skipped":0,"pct":87.04},"branches":{"total":39,"covered":29,"skipped":0,"pct":74.36}}
5
- ,"/home/vsts/work/1/s/packages/sitecore-jss-react-native/src/components/Link.tsx": {"lines":{"total":32,"covered":0,"skipped":0,"pct":0},"functions":{"total":2,"covered":0,"skipped":0,"pct":0},"statements":{"total":35,"covered":0,"skipped":0,"pct":0},"branches":{"total":26,"covered":0,"skipped":0,"pct":0}}
6
- ,"/home/vsts/work/1/s/packages/sitecore-jss-react-native/src/components/MissingComponent.tsx": {"lines":{"total":9,"covered":9,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":10,"covered":10,"skipped":0,"pct":100},"branches":{"total":4,"covered":4,"skipped":0,"pct":100}}
7
- ,"/home/vsts/work/1/s/packages/sitecore-jss-react-native/src/components/Placeholder.tsx": {"lines":{"total":32,"covered":23,"skipped":0,"pct":71.88},"functions":{"total":6,"covered":3,"skipped":0,"pct":50},"statements":{"total":33,"covered":24,"skipped":0,"pct":72.73},"branches":{"total":27,"covered":6,"skipped":0,"pct":22.22}}
8
- ,"/home/vsts/work/1/s/packages/sitecore-jss-react-native/src/components/PlaceholderCommon.tsx": {"lines":{"total":50,"covered":44,"skipped":0,"pct":88},"functions":{"total":8,"covered":7,"skipped":0,"pct":87.5},"statements":{"total":53,"covered":47,"skipped":0,"pct":88.68},"branches":{"total":35,"covered":28,"skipped":0,"pct":80}}
9
- ,"/home/vsts/work/1/s/packages/sitecore-jss-react-native/src/components/RichText.tsx": {"lines":{"total":10,"covered":10,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":13,"covered":13,"skipped":0,"pct":100},"branches":{"total":7,"covered":7,"skipped":0,"pct":100}}
10
- ,"/home/vsts/work/1/s/packages/sitecore-jss-react-native/src/components/SitecoreContext.tsx": {"lines":{"total":11,"covered":11,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":13,"covered":13,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
11
- ,"/home/vsts/work/1/s/packages/sitecore-jss-react-native/src/components/Text.tsx": {"lines":{"total":10,"covered":10,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":13,"covered":13,"skipped":0,"pct":100},"branches":{"total":8,"covered":8,"skipped":0,"pct":100}}
12
- ,"/home/vsts/work/1/s/packages/sitecore-jss-react-native/src/components/UnrenderableComponent.tsx": {"lines":{"total":9,"covered":7,"skipped":0,"pct":77.78},"functions":{"total":1,"covered":0,"skipped":0,"pct":0},"statements":{"total":10,"covered":8,"skipped":0,"pct":80},"branches":{"total":4,"covered":0,"skipped":0,"pct":0}}
13
- ,"/home/vsts/work/1/s/packages/sitecore-jss-react-native/src/enhancers/withComponentFactory.tsx": {"lines":{"total":6,"covered":6,"skipped":0,"pct":100},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
14
- }
@@ -1,19 +0,0 @@
1
- const baseConfig = require('./jest.config');
2
-
3
- const coverageConfig = {
4
- collectCoverage: true,
5
- collectCoverageFrom: ['**/*.{ts,tsx}'],
6
- coverageDirectory: './coverage',
7
- coveragePathIgnorePatterns: [
8
- '/node_modules/',
9
- '/dist/',
10
- '/testData/',
11
- '/types/',
12
- '.snap',
13
- '.test.js',
14
- 'jest.config.',
15
- ],
16
- coverageReporters: ['json-summary', 'text'],
17
- };
18
-
19
- module.exports = Object.assign({}, baseConfig, coverageConfig);
package/jest.config.js DELETED
@@ -1,23 +0,0 @@
1
- // currently, to use Jest alongside our Babel 7 dependencies, need to:
2
- // * add as devDependency in package.json: "babel-core": "7.0.0-bridge.0",
3
- // * tell npm how to resolve, in package.json:
4
- // "resolutions": {
5
- // "babel-core": "7.0.0-bridge.0"
6
- // },
7
- // * doesn't seem necessary, but for posterity: rename .babelrc to babel.config.js
8
-
9
- module.exports = {
10
- // react-native preset is a transitive dependency of jest, we don't need an explicit devDependency
11
- preset: 'react-native',
12
- testMatch: ['**/src/**/*.test.tsx', '**/src/**/*.test.ts'],
13
- // Jest needs to process/load .js files that it needs for testing.
14
- // Therefore, the `moduleFileExtensions` must contain 'js', even
15
- // though we're using typescript.
16
- moduleFileExtensions: ['js', 'ts', 'tsx', 'json'],
17
- transform: {
18
- '^.+\\.tsx?$': 'ts-jest',
19
- // Don't use babel-jest here, related issue:
20
- // https://github.com/facebook/react-native/issues/19859#issuecomment-407748189
21
- '^.+\\.js$': '<rootDir>/node_modules/react-native/jest/preprocessor.js',
22
- },
23
- };