Skip to content

Commit

Permalink
react-image - Migration to new DX (#18606)
Browse files Browse the repository at this point in the history
#### Pull request checklist

- [x] Addresses an existing issue: partially implements #18579
- [x] Include a change request file using `$ yarn change`

#### Description of changes

- Migration of package to new DX
- Conversion of styling from SASS to make-styles
  • Loading branch information
andrefcdias authored Jun 18, 2021
1 parent 6166160 commit dad03f4
Show file tree
Hide file tree
Showing 16 changed files with 110 additions and 49 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "none",
"comment": "Removal of react-text",
"packageName": "@fluentui/react-examples",
"email": "[email protected]",
"dependentChangeType": "none"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "none",
"comment": "Migrate to new DX",
"packageName": "@fluentui/react-image",
"email": "[email protected]",
"dependentChangeType": "none"
}
1 change: 1 addition & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ module.exports = {
'<rootDir>/packages/react-text',
'<rootDir>/packages/react-portal',
'<rootDir>/packages/react-aria',
'<rootDir>/packages/react-image',
'<rootDir>/packages/react-positioning',
],
};
2 changes: 1 addition & 1 deletion nx.json
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
"@fluentui/react-icon-provider": { "implicitDependencies": [] },
"@fluentui/react-icons-mdl2": { "implicitDependencies": [] },
"@fluentui/react-icons-mdl2-branded": { "implicitDependencies": [] },
"@fluentui/react-image": { "implicitDependencies": [] },
"@fluentui/react-image": { "tags": ["vNext", "platform:web"], "implicitDependencies": [] },
"@fluentui/react-input": { "implicitDependencies": [] },
"@fluentui/react-link": { "implicitDependencies": [] },
"@fluentui/react-make-styles": { "implicitDependencies": [] },
Expand Down
1 change: 0 additions & 1 deletion packages/react-examples/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@
"@fluentui/react-focus": "^8.1.4",
"@fluentui/react-hooks": "^8.2.2",
"@fluentui/react-icons-mdl2": "^1.1.3",
"@fluentui/react-image": "^9.0.0-alpha.45",
"@fluentui/react-label": "^9.0.0-alpha.9",
"@fluentui/react-link": "^9.0.0-alpha.46",
"@fluentui/react-make-styles": "^9.0.0-alpha.42",
Expand Down
19 changes: 0 additions & 19 deletions packages/react-examples/src/react-image/Image/Image.stories.scss

This file was deleted.

11 changes: 11 additions & 0 deletions packages/react-image/.storybook/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
const rootMain = require('../../../.storybook/main');

module.exports = /** @type {Pick<import('../../../.storybook/main').StorybookConfig,'addons'|'stories'|'webpackFinal'>} */ ({
stories: [...rootMain.stories, '../src/**/*.stories.mdx', '../src/**/*.stories.@(ts|tsx)'],
addons: [...rootMain.addons],
webpackFinal: (config, options) => {
const localConfig = { ...rootMain.webpackFinal(config, options) };

return localConfig;
},
});
3 changes: 3 additions & 0 deletions packages/react-image/.storybook/preview.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import * as rootPreview from '../../../.storybook/preview';

export const decorators = [...rootPreview.decorators];
9 changes: 9 additions & 0 deletions packages/react-image/.storybook/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"allowJs": true,
"checkJs": true
},
"exclude": ["../**/*.test.ts", "../**/*.test.js", "../**/*.test.tsx", "../**/*.test.jsx"],
"include": ["../src/**/*", "*.js"]
}
5 changes: 5 additions & 0 deletions packages/react-image/config/api-extractor.local.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
"extends": "./api-extractor.json",
"mainEntryPointFilePath": "<projectFolder>/dist/<unscopedPackageName>/src/index.d.ts"
}
26 changes: 19 additions & 7 deletions packages/react-image/jest.config.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,21 @@
const { createConfig } = require('@fluentui/scripts/jest/jest-resources');
const path = require('path');
// @ts-check

const config = createConfig({
setupFiles: [path.resolve(path.join(__dirname, 'config', 'tests.js'))],
/**
* @type {jest.InitialOptions}
*/
module.exports = {
displayName: 'react-image',
preset: '../../jest.preset.js',
globals: {
'ts-jest': {
tsConfig: '<rootDir>/tsconfig.json',
diagnostics: false,
},
},
transform: {
'^.+\\.tsx?$': 'ts-jest',
},
coverageDirectory: './coverage',
setupFilesAfterEnv: ['./config/tests.js'],
snapshotSerializers: ['@fluentui/jest-serializer-make-styles'],
});

module.exports = config;
};
9 changes: 5 additions & 4 deletions packages/react-image/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,11 @@
"code-style": "just-scripts code-style",
"just": "just-scripts",
"lint": "just-scripts lint",
"start": "just-scripts dev:storybook",
"start-test": "just-scripts jest-watch",
"test": "just-scripts test",
"update-snapshots": "just-scripts jest -u"
"start": "storybook",
"test": "jest",
"docs": "api-extractor run --config=config/api-extractor.local.json --local",
"build:local": "tsc -p . --module esnext --emitDeclarationOnly && node ../../scripts/typescript/normalize-import --output dist/packages/react-image/src && yarn docs",
"storybook": "start-storybook"
},
"devDependencies": {
"@fluentui/babel-make-styles": "^9.0.0-alpha.16",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,34 @@
import * as React from 'react';
import { Image } from '@fluentui/react-image';
import * as classes from './Image.stories.scss';
import { Image } from './index';
import { makeStyles } from '@fluentui/react-make-styles';

/**
* Temporary Stack until there's one in its own package.
*/
const useStackStyles = makeStyles({
hStack: {
display: 'flex',
flexDirection: 'row',
flexWrap: 'wrap',
margin: 'calc(-1 * var(--gap, 8px) / 2)',
'> *': {
margin: 'calc(var(--gap, 8px) / 2)',
},
},
vStack: {
display: 'flex',
flexDirection: 'column',
alignItems: 'flex-start',
'> *:not(:first-child)': {
marginTop: 'var(--gap, 20px)',
},
},
});
const Stack = (props: React.PropsWithChildren<{ horizontal?: boolean }>) => {
const { horizontal, ...rest } = props;
const { hStack, vStack } = useStackStyles();

return <div {...rest} className={horizontal ? classes.hStack : classes.vStack} />;
return <div {...rest} className={horizontal ? hStack : vStack} />;
};

export const ImageAppearanceShape = () => (
Expand Down Expand Up @@ -161,3 +181,8 @@ export const ImageFluid = () => (
<Image fluid src="https://via.placeholder.com/100x100" />
</Stack>
);

export default {
title: 'Components/Image',
component: Image,
};
19 changes: 7 additions & 12 deletions packages/react-image/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,22 +1,17 @@
{
"extends": "../../tsconfig.base.json",
"include": ["src"],
"compilerOptions": {
"baseUrl": ".",
"target": "ES5",
"module": "CommonJS",
"lib": ["es5", "dom"],
"outDir": "dist",
"target": "es5",
"module": "commonjs",
"jsx": "react",
"declaration": true,
"sourceMap": true,
"experimentalDecorators": true,
"importHelpers": true,
"noUnusedLocals": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"moduleResolution": "node",
"preserveConstEnums": true,
"lib": ["es5", "dom"],
"typeRoots": ["../../node_modules/@types", "../../typings"],
"types": ["jest", "custom-global"]
},
"include": ["src"]
"types": ["jest", "custom-global", "inline-style-expand-shorthand"]
}
}
3 changes: 2 additions & 1 deletion tsconfig.base.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
"@fluentui/react-storybook": ["packages/react-storybook/src/index.ts"],
"@fluentui/react-accordion": ["packages/react-accordion/src/index.ts"],
"@fluentui/react-text": ["packages/react-text/src/index.ts"],
"@fluentui/react-aria": ["packages/react-aria/src/index.ts"]
"@fluentui/react-aria": ["packages/react-aria/src/index.ts"],
"@fluentui/react-image": ["packages/react-image/src/index.ts"]
}
},
"exclude": ["node_modules"]
Expand Down
6 changes: 5 additions & 1 deletion workspace.json
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,11 @@
"@fluentui/react-icon-provider": { "root": "packages/react-icon-provider", "projectType": "library" },
"@fluentui/react-icons-mdl2": { "root": "packages/react-icons-mdl2", "projectType": "library" },
"@fluentui/react-icons-mdl2-branded": { "root": "packages/react-icons-mdl2-branded", "projectType": "library" },
"@fluentui/react-image": { "root": "packages/react-image", "projectType": "library" },
"@fluentui/react-image": {
"root": "packages/react-image",
"projectType": "library",
"sourceRoot": "packages/react-image/src"
},
"@fluentui/react-input": { "root": "packages/react-input", "projectType": "library" },
"@fluentui/react-link": { "root": "packages/react-link", "projectType": "library" },
"@fluentui/react-make-styles": { "root": "packages/react-make-styles", "projectType": "library" },
Expand Down

0 comments on commit dad03f4

Please sign in to comment.