Skip to content

Commit

Permalink
Build: Restore the external directory
Browse files Browse the repository at this point in the history
In gh-4466, we removed the `external` directory in favor of loading some files
directly from `node_modules`. This works fine locally but when deploying code
for tests, this makes it impossible to not deploy `node_modules` as well. To
avoid the issue, this change restores usage of the `external` directory.

One change is that we no longer commit this directory to the repository, its
only purpose is to have clear isolation from `node_modules`.

Ref gh-4466
Closess gh-4865
  • Loading branch information
mgol committed Mar 24, 2021
1 parent b2bbaa3 commit a684e6b
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 11 deletions.
1 change: 1 addition & 0 deletions .eslintignore
@@ -1,4 +1,5 @@
amd
external
node_modules
*.min.js
dist/**
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Expand Up @@ -17,7 +17,7 @@ npm-debug.log*
!/dist/.eslintrc.json

/amd

/external
/node_modules

/test/data/core/jquery-iterability-transpiled.js
Expand Down
1 change: 1 addition & 0 deletions .npmignore
Expand Up @@ -7,6 +7,7 @@
/.travis.yml

/build
/external
/speed
/test
/Gruntfile.js
28 changes: 24 additions & 4 deletions Gruntfile.js
Expand Up @@ -71,6 +71,25 @@ module.exports = function( grunt ) {
}
}
},
npmcopy: {
all: {
options: {
destPrefix: "external"
},
files: {
"npo/npo.js": "native-promise-only/lib/npo.src.js",

"qunit/qunit.js": "qunit/qunit/qunit.js",
"qunit/qunit.css": "qunit/qunit/qunit.css",
"qunit/LICENSE.txt": "qunit/LICENSE.txt",

"requirejs/require.js": "requirejs/require.js",

"sinon/sinon.js": "sinon/pkg/sinon.js",
"sinon/LICENSE.txt": "sinon/LICENSE"
}
}
},
jsonlint: {
pkg: {
src: [ "package.json" ]
Expand Down Expand Up @@ -162,9 +181,9 @@ module.exports = function( grunt ) {
},
files: [
"test/data/jquery-1.9.1.js",
"node_modules/sinon/pkg/sinon.js",
"node_modules/native-promise-only/lib/npo.src.js",
"node_modules/requirejs/require.js",
"external/sinon/sinon.js",
"external/npo/npo.js",
"external/requirejs/require.js",
"test/data/testinit.js",

"test/jquery.js",
Expand All @@ -188,7 +207,7 @@ module.exports = function( grunt ) {
served: true,
nocache: true
},
{ pattern: "node_modules/**", included: false, served: true },
{ pattern: "external/**", included: false, served: true },
{
pattern: "test/**/*.@(js|css|jpg|html|xml|svg)",
included: false,
Expand Down Expand Up @@ -343,6 +362,7 @@ module.exports = function( grunt ) {
] );

grunt.registerTask( "test:prepare", [
"npmcopy",
"qunit_fixture",
"babel:tests"
] );
Expand Down
1 change: 1 addition & 0 deletions package.json
Expand Up @@ -42,6 +42,7 @@
"grunt-jsonlint": "2.1.2",
"grunt-karma": "4.0.0",
"grunt-newer": "1.3.0",
"grunt-npmcopy": "0.2.0",
"gzip-js": "0.3.2",
"husky": "4.2.5",
"insight": "0.10.3",
Expand Down
10 changes: 5 additions & 5 deletions test/index.html
Expand Up @@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>jQuery Test Suite</title>
<link rel="stylesheet" href="../node_modules/qunit/qunit/qunit.css" />
<link rel="stylesheet" href="../external/qunit/qunit.css" />
<link rel="stylesheet" href="data/testsuite.css" />

<!--
Expand All @@ -12,10 +12,10 @@
-->
<script src="data/jquery-1.9.1.js"></script>

<script src="../node_modules/qunit/qunit/qunit.js"></script>
<script src="../node_modules/sinon/pkg/sinon.js"></script>
<script src="../node_modules/native-promise-only/lib/npo.src.js"></script>
<script src="../node_modules/requirejs/require.js"></script>
<script src="../external/qunit/qunit.js"></script>
<script src="../external/sinon/sinon.js"></script>
<script src="../external/npo/npo.js"></script>
<script src="../external/requirejs/require.js"></script>
<!-- See testinit for the list of tests -->
<script src="data/testinit.js"></script>

Expand Down
2 changes: 1 addition & 1 deletion test/karma.debug.html
Expand Up @@ -5,7 +5,7 @@
<title>DEBUG</title>
<meta charset="utf-8">
<!-- Karma serves this page from /context.html. Other files are served from /base -->
<link rel="stylesheet" href="/base/node_modules/qunit/qunit/qunit.css" />
<link rel="stylesheet" href="/base/external/qunit/qunit/qunit.css" />
<link rel="stylesheet" href="/base/test/data/testsuite.css" />
</head>
<body id="body">
Expand Down

0 comments on commit a684e6b

Please sign in to comment.